Subject: bug#60096: 29.0.60; Crash in format_mode_line_unwind_data

From: Eli Zaretskii <[email-masked]>
Date: Sat, 17 Dec 2022 19:59:31 +0200

> From: Juri Linkov <[email-masked]>
> Cc: martin rudalics <[email-masked]>,  [email-masked]
> Date: Sat, 17 Dec 2022 19:23:27 +0200
> 
> >> Note that the *scratch* buffer is re-created in this scenario without
> >> the blurb we put into it, and in Fundamental mode.
> >
> > I've fixed at least the last part, so the major mode of the re-created
> > *scratch* is now as expected.
> 
> Now it doesn't crash, but outputs an error in the *Messages* buffer:
> 
>   Error during redisplay: (get-scratch-buffer-create)
>   signaled (wrong-type-argument window-live-p #<window 7>)

Only once, right?

This is the error which (indirectly) caused the crash you reported
originally.  The fix just falls back on a safer method of re-creating
*scratch* when this error happens.

It is a very unusual situation that *scratch* needs to be re-created
when we call set-window-configuration; it is caused by the fact that
your recipe kills one of the two only buffers Emacs has to play
around (the other one being *Messages*).