aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog10
-rw-r--r--src/indent.c8
2 files changed, 16 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 08f33eb7d02..af2d38d2e87 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
12013-04-13 Eli Zaretskii <eliz@gnu.org>
2
3 * indent.c (Fvertical_motion): Don't consider display strings on
4 overlay strings as display strings on the buffer position we
5 started from. This prevents vertical cursor motion from jumping
6 more than one line when there's an overlay string with a display
7 property at end of line.
8 Reported by Karl Chen <Karl.Chen@quarl.org> in
9 http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
10
12013-04-12 Stefan Monnier <monnier@iro.umontreal.ca> 112013-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
2 12
3 * window.c (select_window): `record_buffer' even if window is 13 * window.c (select_window): `record_buffer' even if window is
diff --git a/src/indent.c b/src/indent.c
index 67796ab8a8f..47358e17db8 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -2006,11 +2006,15 @@ whether or not it is currently displayed in some window. */)
2006 const char *s = SSDATA (it.string); 2006 const char *s = SSDATA (it.string);
2007 const char *e = s + SBYTES (it.string); 2007 const char *e = s + SBYTES (it.string);
2008 2008
2009 disp_string_at_start_p =
2009 /* If it.area is anything but TEXT_AREA, we need not bother 2010 /* If it.area is anything but TEXT_AREA, we need not bother
2010 about the display string, as it doesn't affect cursor 2011 about the display string, as it doesn't affect cursor
2011 positioning. */ 2012 positioning. */
2012 disp_string_at_start_p = 2013 it.area == TEXT_AREA
2013 it.string_from_display_prop_p && it.area == TEXT_AREA; 2014 && it.string_from_display_prop_p
2015 /* A display string on anything but buffer text (e.g., on
2016 an overlay string) doesn't affect cursor positioning. */
2017 && (it.sp > 0 && it.stack[it.sp - 1].method == GET_FROM_BUFFER);
2014 while (s < e) 2018 while (s < e)
2015 { 2019 {
2016 if (*s++ == '\n') 2020 if (*s++ == '\n')