]> code.delx.au - gnu-emacs/commitdiff
(vmotion): Don't use WINDOW for Fget_char_property
authorRichard M. Stallman <rms@gnu.org>
Sun, 16 Aug 1998 02:10:56 +0000 (02:10 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 16 Aug 1998 02:10:56 +0000 (02:10 +0000)
when it is not showing the right buffer.

src/indent.c

index c739da725dfbe99271bea05fc81f3f1235f88be6..9ac2dd7315f040932980281ba14d68a1cc33d06d 100644 (file)
@@ -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
             ))