Commit 7ac57cb3 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(vmotion): Don't use WINDOW for Fget_char_property

when it is not showing the right buffer.
parent ebf8f7e1
......@@ -1641,6 +1641,8 @@ vmotion (from, vtarget, w)
Lisp_Object window;
int start_hpos = 0;
int did_motion;
/* This is the object we use for fetching character properties. */
Lisp_Object text_prop_object;
XSETWINDOW (window, w);
......@@ -1657,6 +1659,13 @@ vmotion (from, vtarget, w)
start_hpos = minibuf_prompt_width;
}
/* If the window contains this buffer, use it for getting text properties.
Otherwise use the current buffer as arg for doing that. */
if (EQ (w->buffer, Fcurrent_buffer ()))
text_prop_object = window;
else
text_prop_object = Fcurrent_buffer ();
if (vpos >= vtarget)
{
/* To move upward, go a line at a time until
......@@ -1678,7 +1687,7 @@ vmotion (from, vtarget, w)
/* watch out for newlines with `invisible' property */
|| (propval = Fget_char_property (prevline,
Qinvisible,
window),
text_prop_object),
TEXT_PROP_MEANS_INVISIBLE (propval))
#endif
))
......@@ -1740,7 +1749,7 @@ vmotion (from, vtarget, w)
#ifdef USE_TEXT_PROPERTIES
/* watch out for newlines with `invisible' property */
|| (propval = Fget_char_property (prevline, Qinvisible,
window),
text_prop_object),
TEXT_PROP_MEANS_INVISIBLE (propval))
#endif
))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment