diff options
author | Eli Zaretskii <eliz@gnu.org> | 2015-01-10 15:03:51 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-01-10 15:03:51 +0200 |
commit | b544ab561fcb575790c963a2eda51524fa366409 (patch) | |
tree | 2f02486d62f28aa58a2f09e82c58f4942d489025 /src | |
parent | 1f179ea1bac65d911c616dafbf7147f0dbb39afd (diff) | |
download | emacs-b544ab561fcb575790c963a2eda51524fa366409.tar.gz |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/indent.c | 7 |
2 files changed, 11 insertions, 1 deletions
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 <eliz@gnu.org> + + * 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 <eliz@gnu.org> * 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; } } |