(Fvertical_motion): Move to the start of the line

containing PT before moving up or down.
This commit is contained in:
Gerd Moellmann 2002-04-25 10:39:57 +00:00
parent 90077f6669
commit 3a46a5dec0
2 changed files with 17 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2002-04-25 Gerd Moellmann <gerd@gnu.org>
* indent.c (Fvertical_motion): Move to the start of the line
containing PT before moving up or down.
2002-04-24 Gerd Moellmann <gerd@gnu.org>
* dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the

View file

@ -1,5 +1,5 @@
/* Indentation functions.
Copyright (C) 1985,86,87,88,93,94,95,98, 2000, 2001
Copyright (C) 1985,86,87,88,93,94,95,98, 2000, 2001, 2002
Free Software Foundation, Inc.
This file is part of GNU Emacs.
@ -2018,7 +2018,17 @@ whether or not it is currently displayed in some window. */)
SET_TEXT_POS (pt, PT, PT_BYTE);
start_display (&it, w, pt);
move_it_by_lines (&it, XINT (lines), 0);
/* Move to 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);
if (XINT (lines) !+ 0)
move_it_by_lines (&it, XINT (lines), 0);
SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
if (BUFFERP (old_buffer))