GNU bug report logs -
#44448
27.1; Strange inteference between timer, modeline/header-line and buffer position in window
Previous Next
Reported by: Amai Kinono <amaikinono <at> gmail.com>
Date: Wed, 4 Nov 2020 16:53:01 UTC
Severity: normal
Found in version 27.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #57 received at 44448 <at> debbugs.gnu.org (full text, mbox):
> Date: Thu, 12 Aug 2021 15:44:34 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 44448 <at> debbugs.gnu.org
>
> Thanks. I see the cause of it: it's the :eval forms that we execute
> when we redisplay the mode line, as part of redisplaying a window.
> When more than one window displays the same buffer at different buffer
> positions, when Emacs redisplays a non-selected window, it temporarily
> moves point to the place where it is displayed in that non-selected
> window. If C-g is processed while those :eval forms run, with the
> buffer's point temporarily moved, you will see point in the selected
> window "inherit" the position of point from the other window showing
> the same buffer. As evidence, after this happens, you should be able
> to see this in *Messages*:
>
> Error during redisplay: (mode-line-default-help-echo #<window 3 on paren.el>) signaled (quit)
Actually, that cannot be the whole story. Because evaluating the
:eval forms in the mode line arranges for catching the errors (and the
above text in *Messages* is the evidence that it works here), and so
we should have still run redisplay_window to completion after that,
which includes restoring the buffer's point to its original value.
Hmm...
This bug report was last modified 3 years and 229 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.