diff options
| author | Eli Zaretskii <eliz@gnu.org> | 2022-01-13 14:21:10 +0200 |
|---|---|---|
| committer | Eli Zaretskii <eliz@gnu.org> | 2022-01-13 14:21:10 +0200 |
| commit | 8ec475e558dcd0ebde213d8a73f09574e8b4d00a (patch) | |
| tree | 71e284837051b6872efc885791f7326d93a1784f /src/window.c | |
| parent | 50654cf0b1bf6210fc8f46d8e7ae13bbeeccecb5 (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.c | 3 |
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) |
