changeset 106775:e98bf6be3031

* xdisp.c (pos_visible_p): Check for invisible text at the correct pos (Bug#4040).
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 09 Jan 2010 14:48:16 -0500
parents 736322971285
children 7a2c06c2f19c
files src/ChangeLog src/xdisp.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Jan 09 16:16:10 2010 +0200
+++ b/src/ChangeLog	Sat Jan 09 14:48:16 2010 -0500
@@ -1,3 +1,8 @@
+2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xdisp.c (pos_visible_p): Check for invisible text at the correct
+	position (Bug#4040).
+
 2010-01-09  Eli Zaretskii  <eliz@gnu.org>
 
 	* editfns.c (Ffloat_time): Doc fix.
--- a/src/xdisp.c	Sat Jan 09 16:16:10 2010 +0200
+++ b/src/xdisp.c	Sat Jan 09 14:48:16 2010 -0500
@@ -1363,7 +1363,7 @@
       int top_x = it.current_x;
       int top_y = it.current_y;
       enum it_method it_method = it.method;
-      /* Calling line_bottom_y may change it.method.  */
+      /* Calling line_bottom_y may change it.method, it.position, etc.  */
       int bottom_y = (last_height = 0, line_bottom_y (&it));
       int window_top_y = WINDOW_HEADER_LINE_HEIGHT (w);
 
@@ -1378,7 +1378,7 @@
 	      Lisp_Object window, prop;
 
 	      XSETWINDOW (window, w);
-	      prop = Fget_char_property (make_number (it.position.charpos),
+	      prop = Fget_char_property (make_number (charpos),
 					 Qinvisible, window);
 
 	      /* If charpos coincides with invisible text covered with an