GNU bug report logs -
#6585
23.1; Hang / CPU 100% on background interaction when in minibuffer
Previous Next
Reported by: jcornez <at> ravenpack.com (Jason Cornez)
Date: Thu, 8 Jul 2010 16:24:02 UTC
Severity: normal
Found in version 23.1
Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Bug is archived. No further changes may be made.
Full log
Message #41 received at 6585 <at> debbugs.gnu.org (full text, mbox):
> Of course, fixing the elisp function is easy and that simply and
> effectively avoids this problem. Still, I find it disconcerting that I
> can lockup emacs in such a manner.
All code run from timers and from (post|pre)-command-hook (as well as
jit-lock, filters, and a few other things) is run with inhibit-quit set
to t because the user may not know this code is running so if she hits
C-g it "probably" means she wants to interrupt something else.
It's not broken. Basically, the problem is in your code: such async
code should not run for indefinite amount of time, whereas your code may
inf-loop.
2 solutions:
- fix your code so it doesn't inf-loop (usually the best solution).
- wrap your code in with-local-quit to let C-g interrupt it.
Admittedly, Emacs should also additionally understand something like C-g
C-g C-g C-g as a sign that the user is getting impatient and we should
thus ignore the inhibit-quit flag. But such a case is always a sign of
a bug somewhere.
Stefan
This bug report was last modified 13 years and 39 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.