[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 1439d89: In follow mode, prevent the cursor resting
From: |
Alan Mackenzie |
Subject: |
[Emacs-diffs] master 1439d89: In follow mode, prevent the cursor resting on a partially displayed line |
Date: |
Mon, 15 Oct 2018 15:57:49 -0400 (EDT) |
branch: master
commit 1439d89f4dd3c156ddd4f6877075ffe76456c21a
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>
In follow mode, prevent the cursor resting on a partially displayed line
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 | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lisp/follow.el b/lisp/follow.el
index e2d3a11..b44df42 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -1405,7 +1405,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,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 1439d89: In follow mode, prevent the cursor resting on a partially displayed line,
Alan Mackenzie <=