From 7ac57cb36ccd467b870c518c1e3365bbff280353 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 16 Aug 1998 02:10:56 +0000 Subject: [PATCH] (vmotion): Don't use WINDOW for Fget_char_property when it is not showing the right buffer. --- src/indent.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/indent.c b/src/indent.c index c739da725df..9ac2dd7315f 100644 --- a/src/indent.c +++ b/src/indent.c @@ -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 )) -- 2.39.5