summaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2022-01-13 14:21:10 +0200
committerEli Zaretskii <eliz@gnu.org>2022-01-13 14:21:10 +0200
commit8ec475e558dcd0ebde213d8a73f09574e8b4d00a (patch)
tree71e284837051b6872efc885791f7326d93a1784f /src/window.c
parent50654cf0b1bf6210fc8f46d8e7ae13bbeeccecb5 (diff)
Improve preserving X coordinate during scroll commands
* src/window.c (window_scroll_pixel_based): Don't unnecessarily move the iterator. (Bug#53220)
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/window.c b/src/window.c
index 7155f0e6bc3..2a5e4042a48 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5861,7 +5861,8 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
/* We moved the window start towards ZV, so PT may be now
in the scroll margin at the top. */
- move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
+ if (IT_CHARPOS (it) < PT)
+ move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
if (IT_CHARPOS (it) == PT
&& it.current_y >= this_scroll_margin
&& it.current_y <= last_y - WINDOW_TAB_LINE_HEIGHT (w)