emacs-devel
[Top][All Lists]
Advanced

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

Re: unwind-protect within while-no-input


From: Spencer Baugh
Subject: Re: unwind-protect within while-no-input
Date: Wed, 08 May 2024 13:18:44 -0400
User-agent: Gnus/5.13 (Gnus v5.13)

Michael Heerdegen via "Emacs development discussions."
<emacs-devel@gnu.org> writes:
> or protect the unwind forms against the raised quit:
>
> #+begin_src emacs-lisp
> (let (foo)
>   (while-no-input
>     (unwind-protect (while t nil)
>       (let ((inhibit-quit t))
>         (sleep-for 10)
>         (setq foo 'interrupted)
>         (message "foo: %s" foo)))
>     (message "foo: %s" foo)))
> #+end_src
>
> (unwind forms are not per se protected from nonlocal exiting - see
> documentation)

That seems to work, but is it robust?

If while-no-input can raise a quit between the start of executing
unwindforms and the binding of inhibit-quit, then the unwind forms will
not execute.

Can while-no-input/throw-on-input actually raise a quit then?  And is
this behavior documented anywhere?




reply via email to

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