diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2008-09-02 17:28:59 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2008-09-02 17:28:59 +0000 |
commit | d8a7e7fc775eec1e1bfadff2f82db6299731406f (patch) | |
tree | 7c9456275badc0bc70e94dd7eeee39477e9d4c83 /src/indent.c | |
parent | efa09d5d1fa734f95dfc13ec0d6c6b5530f87e85 (diff) | |
download | emacs-d8a7e7fc775eec1e1bfadff2f82db6299731406f.tar.gz |
(Fvertical_motion): Don't call move_it_by_lines again if moving by a
single line.
Diffstat (limited to 'src/indent.c')
-rw-r--r-- | src/indent.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/indent.c b/src/indent.c index 7bef4949908..25d41a66f59 100644 --- a/src/indent.c +++ b/src/indent.c @@ -2128,15 +2128,21 @@ whether or not it is currently displayed in some window. */) which might span multiple screen lines (e.g., if it's on a multi-line display string). We want to start from the last line that it occupies. */ - it.vpos = 0; if (PT < ZV) { while (IT_CHARPOS (it) <= PT) - move_it_by_lines (&it, 1, 0); - move_it_by_lines (&it, XINT (lines) - 1, 0); + { + it.vpos = 0; + move_it_by_lines (&it, 1, 0); + } + if (XINT (lines) > 1) + move_it_by_lines (&it, XINT (lines) - 1, 0); } else - move_it_by_lines (&it, XINT (lines), 0); + { + it.vpos = 0; + move_it_by_lines (&it, XINT (lines), 0); + } } } |