Mercurial > emacs
changeset 58205:fd88ccc2e4cf
(Fvertical_motion): Scan to PT from start of line to make iterator consistent.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 14 Nov 2004 04:13:54 +0000 |
parents | 687bb63efa9d |
children | b8e8e0772ced |
files | src/indent.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/indent.c Sun Nov 14 00:47:34 2004 +0000 +++ b/src/indent.c Sun Nov 14 04:13:54 2004 +0000 @@ -2064,13 +2064,16 @@ SET_TEXT_POS (pt, PT, PT_BYTE); start_display (&it, w, pt); - /* Move to the start of the display line containing PT. If we don't + /* Scan from the start of the line containing PT. If we don't do this, we start moving with IT->current_x == 0, while PT is really at some x > 0. The effect is, in continuation lines, that we end up with the iterator placed at where it thinks X is 0, while the end position is really at some X > 0, the same X that PT had. */ - move_it_by_lines (&it, 0, 0); + reseat_at_previous_visible_line_start (&it); + it.current_x = it.hpos = 0; + move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS); + it.vpos = 0; if (XINT (lines) != 0) move_it_by_lines (&it, XINT (lines), 0);