Subject: Re: bug#78737: sit-for behavior changes when byte-compiled

From: Eli Zaretskii <[email-masked]>
Date: Fri, 13 Jun 2025 20:38:06 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: Daniel Colascione <[email-masked]>,  [email-masked],
>   [email-masked]
> Date: Fri, 13 Jun 2025 11:24:29 -0400
> 
> > We should start by agreeing that the capability of interrupting a
> > running Lisp program is a real need.  Are we in agreement about that?
> > If not, let's first hear the arguments why not.
> 
> It's a real need, but there's also a real need for some ELisp functions
> to catch normal quits.  So we can't have "normal quits" as the universal
> answer to "interrupting a running Lisp program".

What is a "normal quit"?  And what other kinds of quit are there, and
what are they?

It sounds like not only do we disagree about some aspects of this, we
don't even have a common terminology.

> What we have instead is that "normal quit" should work to interrupt any
> well-behaved ELisp programs, plus it should also work to interrupt most
> other ELisp programs (IOW it shouldn't be hard to write well-behaved
> ELisp code), but there has always been and will always be cases where we
> need an "emergency quit" to interrupt some ELisp programs (and that
> feature has been missing in GUI builds for a while).

What is "emergency quit"?

And if you are describing the current situation on the master branch,
then the changes proposed on the branch still leave some programs not
interruptible, just a few more.