emacs-devel
[Top][All Lists]
Advanced

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

Re: Blocking call to accept-process-output with quit inhibited!! [11 tim


From: Stefan Monnier
Subject: Re: Blocking call to accept-process-output with quit inhibited!! [11 times]
Date: Wed, 08 Sep 2010 10:10:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

>> Emacs should not freeze in such a case.  IIUC most cases where this
>> happen are Elisp bugs (typically a missing with-local-quit or something
>> like that), tho there are a few cases where it's a problem at the
>> C level (IIRC, one such is during hostname lookup, but I don't know of
>> any such case once the TCP connection is established).

> But why then is quit inhibited at all?

Because these are run asynchronously, so in most cases the user has no
idea that code is being executed at that point.  So if she hits C-g it's
likely to be for other reasons than to interrupt the async code, so by
default Emacs runs the async code to completion first and then processes
the C-g (you wouldn't want a C-g meant to abort a command to result in
a half-font-locked display, would you?).  I.e. if you want to execute
code that may last for a significant amount of time from one of those
places, you need with-local-quit (and you may want to make sure the user
knows that such code is being run).


        Stefan



reply via email to

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