From: Po Lu Date: Fri, 10 Dec 2021 03:25:10 +0000 (+0800) Subject: Fix pixel scrolling upwards in Info buffers X-Git-Tag: emacs-29.0.90~3606^2~4 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2e4740f04239ee441685b2f43d156efcf6359383;p=emacs.git Fix pixel scrolling upwards in Info buffers * lisp/pixel-scroll.el (pixel-point-and-height-at-unseen-line): Don't blindly trust window start to be the beginning of a visual line. --- diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 813fbb0711b..432a5dc52cf 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -397,7 +397,10 @@ returns nil." The returned value is a cons of the position of the first character on the unseen line just above the scope of current window, and the pixel height of that line." - (let* ((pos0 (window-start)) + (let* ((pos0 (save-excursion + (goto-char (window-start)) + (beginning-of-visual-line) + (point))) (vscroll0 (window-vscroll nil t)) (line-height nil) (pos @@ -407,8 +410,7 @@ window, and the pixel height of that line." (point-min) (vertical-motion -1) (setq line-height - (cdr (window-text-pixel-size nil (point) - pos0))) + (cdr (window-text-pixel-size nil (point) pos0))) (point))))) ;; restore initial position (set-window-start nil pos0 t)