bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#44448: Fwd: bug#44448:


From: Eli Zaretskii
Subject: bug#44448: Fwd: bug#44448:
Date: Thu, 12 Aug 2021 17:07:06 +0300

> Date: Thu, 12 Aug 2021 15:44:34 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 44448@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...





reply via email to

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