Subject: Re: bug#60096: 29.0.60; Crash in format_mode_line_unwind_data

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Dec 2022 16:39:57 +0200

> Cc: [email-masked]
> Date: Fri, 16 Dec 2022 13:46:07 +0200
> From: Eli Zaretskii <[email-masked]>
> 
> > From: Juri Linkov <[email-masked]>
> > Cc: [email-masked]
> > Date: Fri, 16 Dec 2022 09:31:36 +0200
> > 
> > I confirm that it's fixed, so closing.
> > 
> > PS: I wonder why now *scratch* shows keybindings inside
> > non-standard quotation marks: "C-x C-f"?  Why not 'C-x C-f'?
> > Or `C-x C-f'?
> 
> I'm working on a better fix for this, which will revert back to how we
> were showing the bindings originally.  Whether what we did originally
> is the best way is a separate issue.

Now done, please re-test.

Note that the *scratch* buffer is re-created in this scenario without
the blurb we put into it, and in Fundamental mode.  This is because
get-scratch-buffer-create, which is called to re-create it (because we
have no "other" buffer to switch to when the original *scratch* is
killed) signals an error when it deletes the temp buffer used by
substitute-command-keys.  This is what happens when safe C code which
can be called in situations where we literally pull ourselves by the
shoestrings, is replaced by less safe Lisp code.