diff options
author | Po Lu <luangruo@yahoo.com> | 2021-12-23 21:26:59 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2021-12-23 21:26:59 +0800 |
commit | 03dc54ba7fbd83e93b6841acbed14ae8ce319b7c (patch) | |
tree | b1d1040bac0e6380506819863b9e54b74b59b694 /lisp/pixel-scroll.el | |
parent | 902f343c18e1894cd5a0e702151fa457651fe0b1 (diff) | |
download | emacs-03dc54ba7fbd83e93b6841acbed14ae8ce319b7c.tar.gz |
Fix precision scrolling down for multi-line display strings
* lisp/pixel-scroll.el
(pixel-scroll-precision-scroll-down-page): Make sure Y delta
is appropriate before deciding on next-pos.
Diffstat (limited to 'lisp/pixel-scroll.el')
-rw-r--r-- | lisp/pixel-scroll.el | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 223bc7fbc47..975c5133f11 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -461,6 +461,11 @@ the height of the current window." (when (zerop (vertical-motion (1+ scroll-margin))) (set-window-start nil desired-start) (signal 'end-of-buffer nil)) + (while (when-let ((posn (posn-at-point))) + (< (cdr (posn-x-y posn)) delta)) + (when (zerop (vertical-motion 1)) + (set-window-start nil desired-start) + (signal 'end-of-buffer nil))) (point))) (scroll-preserve-screen-position nil) (auto-window-vscroll nil)) |