changeset 23039:f4262c9a21dd

(vmotion): Don't use WINDOW for Fget_char_property when it is not showing the right buffer.
author Richard M. Stallman <rms@gnu.org>
date Sun, 16 Aug 1998 02:10:56 +0000
parents 10ad03c5d326
children 5615932155fe
files src/indent.c
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/indent.c	Sun Aug 16 02:10:25 1998 +0000
+++ b/src/indent.c	Sun Aug 16 02:10:56 1998 +0000
@@ -1641,6 +1641,8 @@
   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 @@
       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 @@
 		     /* 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 @@
 #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
 	     ))