[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#32848: 26.1; follow-mode cursor move breaks with frame-resize-pixelw

From: Alan Mackenzie
Subject: bug#32848: 26.1; follow-mode cursor move breaks with frame-resize-pixelwise
Date: Sun, 30 Sep 2018 11:02:15 +0000
User-agent: Mutt/1.10.1 (2018-07-13)

Hello, Allen and Eli.

I've just committed the following change to the emacs-26 branch.  It is
a workaround, but is safe, and should enable you (Allen) to carry on
using follow mode.

Eli and I have a more satisfactory fix planned for master.

diff --git a/lisp/follow.el b/lisp/follow.el
index fd397c077b..7942901bb4 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -438,7 +438,10 @@ follow-mode
         (setq pos-visible-in-window-group-p-function
         (setq selected-window-group-function 'follow-all-followers)
-        (setq move-to-window-group-line-function 'follow-move-to-window-line))
+        (setq move-to-window-group-line-function 'follow-move-to-window-line)
+        ;; Crude workaround for bug #32848 for the emacs-26 branch, 2018-09-30.
+        (setq-local make-cursor-line-fully-visible nil))
     ;; Remove globally-installed hook functions only if there is no
     ;; other Follow mode buffer.
@@ -451,6 +454,9 @@ follow-mode
        (remove-hook 'post-command-hook 'follow-post-command-hook)
        (remove-hook 'window-size-change-functions 'follow-window-size-change)))
+    ;; Second part of crude workaround for bug #32848.
+    (kill-local-variable 'make-cursor-line-fully-visible)
     (kill-local-variable 'move-to-window-group-line-function)
     (kill-local-variable 'selected-window-group-function)
     (kill-local-variable 'pos-visible-in-window-group-p-function)

Alan Mackenzie (Nuremberg, Germany).

On Thu, Sep 27, 2018 at 11:06:20 +0300, Eli Zaretskii wrote:
> > From: Allen Li <address@hidden>
> > Date: Wed, 26 Sep 2018 15:49:15 -0700

> > Moving the cursor off the bottom of the window with follow-mode enabled
> > doesn't move to the other window properly if frame-resize-pixelwise is
> > set and a partial line is visible.

> It seems like setting make-cursor-line-fully-visible to nil solves the
> problem.  Could you try that for a while, and see if this has any
> adverse effects?

> Alan and Anders: does setting this variable to nil in buffers under
> follow-mode sounds like an okay solution?  It might mean that in some
> rare cases the user will see the current line only partially (only in
> the last window in the group).  If you think this is OK, we could
> arrange for that variable to be set locally as part of turning on
> follow-mode.

> A more complex solution would be to allow
> make-cursor-line-fully-visible have a value that is a function, which
> follow-mode will define in a way that will only allow
> partially-visible current line in a window if it is not the last one
> in the order returned by follow-all-followers.

> Comments?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]