Fix bug #13108 introduced by the fix to bug #12930.
authorEli Zaretskii <eliz@gnu.org>
Fri, 7 Dec 2012 15:28:20 +0000 (17:28 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 7 Dec 2012 15:28:20 +0000 (17:28 +0200)
 src/indent.c (Fvertical_motion): If a display string will be
 displayed on the left or the right margin, don't consider it as a
 factor in cursor positioning.

src/ChangeLog
src/indent.c

index f9edb03..1cca404 100644 (file)
@@ -1,3 +1,9 @@
+2012-12-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * indent.c (Fvertical_motion): If a display string will be
+       displayed on the left or the right margin, don't consider it as a
+       factor in cursor positioning.  (Bug#13108)
+
 2012-12-07  Martin Rudalics  <rudalics@gmx.at>
 
        * editfns.c (Fcompare_buffer_substrings): Reword doc-string.
index 3332228..eb10580 100644 (file)
@@ -2034,7 +2034,11 @@ whether or not it is currently displayed in some window.  */)
          const char *s = SSDATA (it.string);
          const char *e = s + SBYTES (it.string);
 
-         disp_string_at_start_p = it.string_from_display_prop_p;
+         /* If it.area is anything but TEXT_AREA, we need not bother
+            about the display string, as it doesn't affect cursor
+            positioning.  */
+         disp_string_at_start_p =
+           it.string_from_display_prop_p && it.area == TEXT_AREA;
          while (s < e)
            {
              if (*s++ == '\n')