Subject: bug#74364: Bug?

From: Eli Zaretskii <[email-masked]>
Date: Tue, 26 Nov 2024 14:51:14 +0200

> Cc: [email-masked]
> Date: Mon, 25 Nov 2024 20:10:49 +0100
> From:  Manuel Giraud via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> Tatsu Takamaro <[email-masked]> writes:
> 
> [...]
> 
> Ok, now your recipe is more precise and I can reproduce it.
> 
> > 3. Put some changes into the Tutorial. Say, just add a new line.
> >
> > 4. Press C-x-s to save. Emacs asks me to write a filename, I write
> > TUTORIAL, because the full path is alredy shown. Then Emacs asks me
> > whether I want to overwrite the file. I anser Yes (type y).
> 
> After this 'C-x C-s', you have saved the content of the (modified)
> TUTORIAL into a file named "TUTORIAL" somewhere on your hard drive.
> Now, in this buffer, `tutorial--lang' is set to nil (which cause the
> error you saw) and Emacs still wants to save your progression in the
> tutorial and that's why it asks the question when you tried to quit.
> 
> This is indeed a bug but maybe saving the TUTORIAL buffer is not
> supported.  Or we should remap `save-buffer' to save tutorial
> progression here?

Saving TUTORIAL is a strange thing to do.  What is the purpose?  The
file produced that way cannot be used as a tutorial, AFAIU, because
Emacs doesn't let users specify the tutorial's file name.

Users are supposed to save tutorial by killing the buffer or exiting
Emacs, in which case Emacs saves the tutorial state as it should be.

So my suggestion would be to modify tutorial--save-tutorial and
tutorial--save-on-kill such that of tutorial--lang is nil, they will
do nothing.  Because there's no point of trying to save the tutorial
in that case.