Subject: bug#33034: `unwind-protect' cleanup form is not executed if body dies in stack overflow

From: Paul Pogonyshev <[email-masked]>
Date: Sat, 13 Oct 2018 12:35:46 +0200

I see. Wonderful approach. At least I'm not supposed to restart my machine.
On Sat, 13 Oct 2018 at 12:29, Eli Zaretskii <[email-masked]> wrote:
>
> > From: Paul Pogonyshev <[email-masked]>
> > Date: Sat, 13 Oct 2018 12:07:48 +0200
> >
> > To reproduce:
> >
> >     (defun overflow ()
> >       (overflow))
> >     (defun test ()
> >       (interactive)
> >       (message "BEFORE")
> >       (unwind-protect
> >           (overflow)
> >         (message "CLEANUP")))
> >
> > Invocation of `test' never issues message "CLEANUP", whether it is run
> > interactively or non-interactively.
>
> You are not supposed to continue using Emacs as usual after it
> recovered from a C stack overflow.  You are supposed to exit Emacs and
> restart the session.
>
> The C stack overflow recovery is provided to allow you to save your
> edits instead of losing them.
>
> P.S.  I was somehow certain that we say the above somewhere in the
> docs, but I cannot find it, so maybe I was dreaming.  Patches to add
> that are welcome.