In GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0) Windowing system distributor 'The X.Org Foundation', version 11.0.12013000 System Description: Arch Linux In follow mode, 'follow-mode-recenter` with no argument should center the middle window around point. It works fine if it is used in the middle window or a window after it, but if it is used in a window before middle the post-command-hook moves the window back. Reproduce: Find a long file. Split the window vertically two or more times. M-x follow-mode Go to the leftmost window and do C-c . C-l Patch to fix: From 65c6ccae67a5b2744711c3bfae2ebff3e530c2c1 Mon Sep 17 00:00:00 2001 From: Noah Evans Date: Thu, 26 Aug 2021 20:27:45 -0400 Subject: [PATCH] follow.el: Fix bug#XXXXX in follow-recenter. When follow-recenter is called in a follow window before the middle follow window, the post-command-hook undoes the recentering. * list/follow.el (follow-recenter): Set follow-internal-force-redisplay when dest point is before start of middle window. --- lisp/follow.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/follow.el b/lisp/follow.el index dde140d0fd5..b64f4cb7348 100644 --- a/lisp/follow.el +++ b/lisp/follow.el @@ -858,8 +858,11 @@ from the bottom." (windows (follow-all-followers)) (win (nth (/ (- (length windows) 1) 2) windows))) (select-window win) - (goto-char dest) - (recenter)))) + (let ((win-s (window-start))) + (goto-char dest) + (recenter) + (when (< dest win-s) + (setq follow-internal-force-redisplay t)))))) (defun follow-redraw () -- 2.33.0