aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2002-04-25 10:39:57 +0000
committerGerd Moellmann2002-04-25 10:39:57 +0000
commit3a46a5dec0ae7dc2145edfced2095ca5861cc05f (patch)
treeba8270769b477a2ba81a7710d2f786c04bb6f969 /src
parent90077f6669e9f0de988ca21ad335e429b185a208 (diff)
downloademacs-3a46a5dec0ae7dc2145edfced2095ca5861cc05f.tar.gz
emacs-3a46a5dec0ae7dc2145edfced2095ca5861cc05f.zip
(Fvertical_motion): Move to the start of the line
containing PT before moving up or down.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/indent.c14
2 files changed, 17 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7e28431348c..f0549637b6f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12002-04-25 Gerd Moellmann <gerd@gnu.org>
2
3 * indent.c (Fvertical_motion): Move to the start of the line
4 containing PT before moving up or down.
5
12002-04-24 Gerd Moellmann <gerd@gnu.org> 62002-04-24 Gerd Moellmann <gerd@gnu.org>
2 7
3 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the 8 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
diff --git a/src/indent.c b/src/indent.c
index 437875f34da..e2f68076075 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1,5 +1,5 @@
1/* Indentation functions. 1/* Indentation functions.
2 Copyright (C) 1985,86,87,88,93,94,95,98, 2000, 2001 2 Copyright (C) 1985,86,87,88,93,94,95,98, 2000, 2001, 2002
3 Free Software Foundation, Inc. 3 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
@@ -2018,7 +2018,17 @@ whether or not it is currently displayed in some window. */)
2018 2018
2019 SET_TEXT_POS (pt, PT, PT_BYTE); 2019 SET_TEXT_POS (pt, PT, PT_BYTE);
2020 start_display (&it, w, pt); 2020 start_display (&it, w, pt);
2021 move_it_by_lines (&it, XINT (lines), 0); 2021
2022 /* Move to the start of the line containing PT. If we don't do
2023 this, we start moving with IT->current_x == 0, while PT is really
2024 at some x > 0. The effect is, in continuation lines, that we end
2025 up with the iterator placed at where it thinks X is 0, while the
2026 end position is really at some X > 0, the same X that PT had. */
2027 move_it_by_lines (&it, 0, 0);
2028
2029 if (XINT (lines) !+ 0)
2030 move_it_by_lines (&it, XINT (lines), 0);
2031
2022 SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it)); 2032 SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it));
2023 2033
2024 if (BUFFERP (old_buffer)) 2034 if (BUFFERP (old_buffer))