changeset 102996:3292a88d45ce

* keyboard.c (adjust_point_for_property): Disable 2009-02-12 change (Bug#3003).
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 16 Apr 2009 03:58:44 +0000
parents 8e84d12eead7
children 16c9c375ab15
files src/ChangeLog src/keyboard.c
diffstat 2 files changed, 18 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Apr 16 03:50:30 2009 +0000
+++ b/src/ChangeLog	Thu Apr 16 03:58:44 2009 +0000
@@ -1,3 +1,8 @@
+2009-04-16  Chong Yidong  <cyd@stupidchicken.com>
+
+	* keyboard.c (adjust_point_for_property): Disable 2009-02-12
+	change (Bug#3003).
+
 2009-04-16  Kenichi Handa  <handa@m17n.org>
 
 	* xfont.c (xfont_has_char): Special handling of `ja' and `ko'
--- a/src/keyboard.c	Thu Apr 16 03:50:30 2009 +0000
+++ b/src/keyboard.c	Thu Apr 16 03:58:44 2009 +0000
@@ -2048,20 +2048,20 @@
 
 	  /* Find boundaries `beg' and `end' of the invisible area, if any.  */
 	  while (end < ZV
-		 /* Stop if we find a spot between two runs of
-		    `invisible' where inserted text would be visible.
-		    This is important when we have two invisible
-		    boundaries that enclose an area: if the area is
-		    empty, we need this test in order to make it
-		    possible to place point in the middle rather than
-		    skip both boundaries.
-		    Note that this will stop anywhere in a non-sticky
-		    text-property, but I don't think there's much we
-		    can do about that.  */
+#if 0
+		 /* FIXME: We should stop if we find a spot between
+		    two runs of `invisible' where inserted text would
+		    be visible.  This is important when we have two
+		    invisible boundaries that enclose an area: if the
+		    area is empty, we need this test in order to make
+		    it possible to place point in the middle rather
+		    than skip both boundaries.  However, this code
+		    also stops anywhere in a non-sticky text-property,
+		    which breaks (e.g.) Org mode.  */
 		 && (val = get_pos_property (make_number (end),
 					     Qinvisible, Qnil),
 		     TEXT_PROP_MEANS_INVISIBLE (val))
-		 /* FIXME: write and then use get_pos_property_and_overlay.  */
+#endif
 		 && !NILP (val = get_char_property_and_overlay
 		           (make_number (end), Qinvisible, Qnil, &overlay))
 		 && (inv = TEXT_PROP_MEANS_INVISIBLE (val)))
@@ -2075,9 +2075,11 @@
 	      end = NATNUMP (tmp) ? XFASTINT (tmp) : ZV;
 	    }
 	  while (beg > BEGV
+#if 0
 		 && (val = get_pos_property (make_number (beg),
 					     Qinvisible, Qnil),
 		     TEXT_PROP_MEANS_INVISIBLE (val))
+#endif
 		 && !NILP (val = get_char_property_and_overlay
 		           (make_number (beg - 1), Qinvisible, Qnil, &overlay))
 		 && (inv = TEXT_PROP_MEANS_INVISIBLE (val)))