diff options
author | Alan Mackenzie <acm@muc.de> | 2018-10-03 15:57:15 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2018-10-03 15:57:15 +0000 |
commit | 99f45ee42c5554d606407f6da37700e9bf86bd35 (patch) | |
tree | 5f80a013a2649f9c0985c377f21f9de88df844fe /lisp/follow.el | |
parent | ea77c6594e5ccc9057ca664ef1dea766ca291b8e (diff) | |
download | emacs-99f45ee42c5554d606407f6da37700e9bf86bd35.tar.gz |
In follow mode, prevent the cursor resting on a partially displayed line
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.
Diffstat (limited to 'lisp/follow.el')
-rw-r--r-- | lisp/follow.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/follow.el b/lisp/follow.el index fd397c077bb..eb48ec179cf 100644 --- a/lisp/follow.el +++ b/lisp/follow.el @@ -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, |