diff options
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); + } } } |