Subject: Re: bug#21380: 25.0.50; GTK-induced segfault when scheduling timer from window-configuration-change-hook

From: Stefan Monnier <[email-masked]>
Date: Sun, 06 Sep 2015 18:22:27 -0400

> I haven't tested this, but I think it would. I still think the underlying
> problem here is not having a well-defined rule for when QUIT is allowed to
> call Lisp code.

Indeed.  Tho see below.

> (Eli correctly objected to my initial idea that the rule should be
> "never",

Hmm... "never" does sound enticing, tho clearly debug-on-quit
challenges the idea.

> but I still think it should be "much less often than we currently do".

OTOH, as soon as it's not "never", then it tends to means "be prepared:
this can run arbitrary Elisp code".

So maybe the issue is not just "when" but also "what": we could limit
the kind of Elisp code that's run by QUIT.  This is a lot more
difficult, tho.

> that QUIT shouldn't call hooks, but should be able to call isolated
> functions implemented in Lisp, such as those used for relative font sizing).

And then someone wants to add an advice on those functions
(e.g. debug-on-entry, trace-function, you name it), and suddenly your
carefully coded function ends up doing all kinds of other things.

        Stefan