From: Eli Zaretskii Date: Sat, 10 Jan 2015 13:03:51 +0000 (+0200) Subject: Fix return value of vertical-motion at ZV (Bug#19553) X-Git-Tag: emacs-24.4.90~61 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b544ab5;p=emacs.git Fix return value of vertical-motion at ZV (Bug#19553) src/indent.c (Fvertical_motion): Return zero if we started from ZV and there's an overlay after-string there. --- diff --git a/src/ChangeLog b/src/ChangeLog index 49152c886f3..6296302dc5e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2015-01-10 Eli Zaretskii + + * indent.c (Fvertical_motion): Return zero if we started from ZV + and there's an overlay after-string there. (Bug#19553) + 2015-01-09 Eli Zaretskii * emacs.c (usage_message): Fix the description of the -nl switch. diff --git a/src/indent.c b/src/indent.c index 8b6ecd16a67..cadafcf2c30 100644 --- a/src/indent.c +++ b/src/indent.c @@ -2137,10 +2137,15 @@ whether or not it is currently displayed in some window. */) if (nlines > 1) move_it_by_lines (&it, min (PTRDIFF_MAX, nlines - 1)); } - else + else /* it_start = ZV */ { it.vpos = 0; move_it_by_lines (&it, min (PTRDIFF_MAX, nlines)); + /* We could have some display or overlay string at ZV, + in which case it.vpos will be nonzero now, while + actually we didn't move vertically at all. */ + if (IT_CHARPOS (it) == CHARPOS (pt) && CHARPOS (pt) == it_start) + it.vpos = 0; } }