* bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit)
@ 2012-09-25 18:33 Drew Adams
2012-09-25 20:18 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Drew Adams @ 2012-09-25 18:33 UTC (permalink / raw)
To: 12515
Sorry, no recipe from emacs -Q, and I have nothing else to offer besides
the error message in the subject line. If that does not help, feel free
to close the bug.
In GNU Emacs 24.2.50.1 (i386-mingw-nt5.1.2600)
of 2012-09-17 on MARVIN
Bzr revision: 110062 cyd@gnu.org-20120917054104-r93rtwkrtva73ewe
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include
-ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
-ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit)
2012-09-25 18:33 bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit) Drew Adams
@ 2012-09-25 20:18 ` Eli Zaretskii
2012-09-25 20:22 ` Drew Adams
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2012-09-25 20:18 UTC (permalink / raw)
To: Drew Adams; +Cc: 12515
> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Tue, 25 Sep 2012 11:33:22 -0700
>
> Sorry, no recipe from emacs -Q, and I have nothing else to offer besides
> the error message in the subject line. If that does not help, feel free
> to close the bug.
Do you remember what were you doing when this happened? Is it
possible you typed "C-g"?
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit)
2012-09-25 20:18 ` Eli Zaretskii
@ 2012-09-25 20:22 ` Drew Adams
2012-09-25 20:37 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Drew Adams @ 2012-09-25 20:22 UTC (permalink / raw)
To: 'Eli Zaretskii'; +Cc: 12515
> Do you remember what were you doing when this happened? Is it
> possible you typed "C-g"?
No. But yes, it is possible that I hit `C-g'.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit)
2012-09-25 20:22 ` Drew Adams
@ 2012-09-25 20:37 ` Eli Zaretskii
2012-09-25 20:51 ` Drew Adams
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2012-09-25 20:37 UTC (permalink / raw)
To: Drew Adams; +Cc: 12515
> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <12515@debbugs.gnu.org>
> Date: Tue, 25 Sep 2012 13:22:40 -0700
>
> > Do you remember what were you doing when this happened? Is it
> > possible you typed "C-g"?
>
> No. But yes, it is possible that I hit `C-g'.
Unless you see a lot of these messages in *Messages*, I wouldn't worry
about this.
What happens is that as part of redisplay of the mode line, the
display engine calls the function mode-line-eol-desc (defined on
bindings.el), which produces the end-of-line (EOL) indicator near the
left edge of the mode line. Because signaling an error normally
re-enters redisplay (to display the error message), the display code
suppresses the normal way of processing signals from Lisp it calls,
and instead intercepts all signals and adds this kind of message to
*Messages*. Since mode-line-eol-desc does not disable quitting (maybe
it should), hitting C-g when it runs could cause this signal, I think.
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit)
2012-09-25 20:37 ` Eli Zaretskii
@ 2012-09-25 20:51 ` Drew Adams
2012-09-25 21:11 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Drew Adams @ 2012-09-25 20:51 UTC (permalink / raw)
To: 'Eli Zaretskii'; +Cc: 12515
> Unless you see a lot of these messages in *Messages*, I wouldn't worry
> about this.
OK, good. I noticed it only once.
> What happens is that as part of redisplay of the mode line, the
> display engine calls the function mode-line-eol-desc (defined on
> bindings.el), which produces the end-of-line (EOL) indicator near the
> left edge of the mode line. Because signaling an error normally
> re-enters redisplay (to display the error message), the display code
> suppresses the normal way of processing signals from Lisp it calls,
> and instead intercepts all signals and adds this kind of message to
> *Messages*. Since mode-line-eol-desc does not disable quitting (maybe
> it should), hitting C-g when it runs could cause this signal, I think.
Thanks for taking the time to explain this.
I guess part of what you are saying (implying) is that _quitting_ (C-g), because
it involves signalling, also "normally re-enters redisplay (to display the" quit
message).
Sounds like `mode-line-eol-desc' should disable quitting only if it is
guaranteed to end quickly. IOW, code that disables quitting should not prevent
a user from actually quitting in a timely manner.
When you say "disable quitting", do you mean that the user would need to hit
`C-g' again, or only that the `C-g' would not be processed until after redisplay
finishes (i.e., respects a previously set `quit-flag')?
BTW, I looked in `(elisp) Quitting' for some explanation of this, but it does
not seem to mention "display" or "redisplay" at all. (It does mention C code,
however.)
^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit)
2012-09-25 20:51 ` Drew Adams
@ 2012-09-25 21:11 ` Eli Zaretskii
0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2012-09-25 21:11 UTC (permalink / raw)
To: Drew Adams; +Cc: 12515
> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <12515@debbugs.gnu.org>
> Date: Tue, 25 Sep 2012 13:51:38 -0700
>
> I guess part of what you are saying (implying) is that _quitting_ (C-g), because
> it involves signalling, also "normally re-enters redisplay (to display the" quit
> message).
Yes. But there are places in Emacs that signal 'quit' for other
reasons, AFAICS.
> Sounds like `mode-line-eol-desc' should disable quitting only if it is
> guaranteed to end quickly.
If it doesn't end quickly, redisplay will become sluggish, and people
will promptly complain that, say, C-f takes too long. In general,
anything that is called as part of redisplay must be quick, for that
very reason.
> When you say "disable quitting", do you mean that the user would need to hit
> `C-g' again, or only that the `C-g' would not be processed until after redisplay
> finishes (i.e., respects a previously set `quit-flag')?
The latter.
> BTW, I looked in `(elisp) Quitting' for some explanation of this, but it does
> not seem to mention "display" or "redisplay" at all. (It does mention C code,
> however.)
It's not quitting that re-enters redisplay, it's the 'quit' signal
that is caused by it, when it is caused by it.
But yes, documentation of the Emacs display engine leaves a lot to be
desired. Luckily, Lisp programmers don't normally need to know too
much about that, and the simple "natural" mental model will usually
do.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-09-25 21:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-25 18:33 bug#12515: 24.2.50; Error during redisplay: (eval (mode-line-eol-desc)) signaled (quit) Drew Adams
2012-09-25 20:18 ` Eli Zaretskii
2012-09-25 20:22 ` Drew Adams
2012-09-25 20:37 ` Eli Zaretskii
2012-09-25 20:51 ` Drew Adams
2012-09-25 21:11 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.