>     The most common such problem by far is when a regexp hits a pathological
>     exponential-matching behavior.  I wish we'd fix that one instead.

> It would be good to fix that, but how?  It is a consequence of the
> algorithm, and even recognizing these cases would seem to be a hard
> problem.

The problem is not just that the function doesn't terminate in a reasonable
amount of time, but that it can't be interrupted.

>     Also, they're only painful because of Emacs's lack of NMI.
> What is NMI?

Non-Maskable Interrupt.  I.e. like C-g but without paying attention to
things like inhibit-quit.

>       E.g. when C-g is pressed, record the time, and if a C-g
>     is pressed again 2 seconds later and the first hasn't been processed yet,
>     then ignore the inhibit-quit flag (i.e. set it back to nil).

> I don't understand the suggestion clearly.  What would it do if the
> second C-g is less than two seconds later?

Just like now: the second C-g is just ignored.

> What would it do if the second C-g is more than two seconds later?

By 2 seconds I meant "at least 2 seconds".

If two C-g are separated by 2 seconds or more and the first is not processed
by the time we see the second, then we can assume that Emacs is
non-responsive and that inhibit-quit should probably be ignored.


        Stefan


_______________________________________________
Emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to