]> git.eshelyaron.com Git - emacs.git/commitdiff
In follow mode, prevent the cursor resting on a partially displayed line
authorAlan Mackenzie <acm@muc.de>
Wed, 3 Oct 2018 15:57:15 +0000 (15:57 +0000)
committerAlan Mackenzie <acm@muc.de>
Wed, 3 Oct 2018 15:57:15 +0000 (15:57 +0000)
Don't merge to master.  This fixes bug #32848

* lisp/follow.el (follow-adjust-window): If point ends up in a partially
displayed line in a left hand or middle window, move it one line
forward, to
prevent unwanted scrolling should make-cursor-line-fully-visible be
non-nil.

lisp/follow.el

index fd397c077bb17851aa7278ac42c574cece92b2c6..eb48ec179cffa1494b2f27772f36a1a9062a2e0e 100644 (file)
@@ -1385,7 +1385,13 @@ non-first windows in Follow mode."
          (unless (eq win (selected-window))
            (let ((p (window-point win)))
              (set-window-start win (window-start win) nil)
-             (set-window-point win p))))
+              (if (nth 2 (pos-visible-in-window-p p win t))
+                  ;; p is in a partially visible line.  We can't leave
+                  ;; window-point there, because C-x o back into WIN
+                  ;; would then fail.
+                  (with-selected-window win
+                    (forward-line)) ; redisplay will recenter it in WIN.
+               (set-window-point win p)))))
 
        (unless visible
          ;; If point may not be visible in the selected window,