From 2f6601054940e698184f4c9c60a47c16e5baa880 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 13 Dec 2021 09:59:39 +0800 Subject: [PATCH] Work around pixel scrolling issues when org-indent-mode is on * lisp/pixel-scroll.el (pixel-point-and-height-at-unseen-line): Subtract line height of window start when it doesn't appear at the 0th pixel of the line. --- lisp/pixel-scroll.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el index 0e22ef2a6a7..142ebf9c65a 100644 --- a/lisp/pixel-scroll.el +++ b/lisp/pixel-scroll.el @@ -416,6 +416,12 @@ window, and the pixel height of that line." ;; restore initial position (set-window-start nil pos0 t) (set-window-vscroll nil vscroll0 t) + (when (and line-height + (> (car (posn-x-y (posn-at-point pos0))) 0)) + (setq line-height (- line-height + (save-excursion + (goto-char pos0) + (line-pixel-height))))) (cons pos line-height))) (defun pixel-point-at-unseen-line () -- 2.39.5