GNU bug report logs -
#51993
29.0.50; [PATCH] Killing emacsclient terminal with `server-stop-automatically' doesn't prompt to save files
Previous Next
Reported by: Jim Porter <jporterbugs <at> gmail.com>
Date: Sat, 20 Nov 2021 04:30:01 UTC
Severity: normal
Tags: patch
Found in version 29.0.50
Done: Jim Porter <jporterbugs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 51993 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
>> When killing an emacsclient terminal via C-x C-c, it should prompt to
>> save the files initially passed to emacsclient. To see this in action:
>>
>> $ emacs -Q --daemon
>> $ emacsclient -a "" -c foo.txt
>> $ emacsclient -a "" -c bar.txt
>>
>> ;; In the first client frame:
>> foobar ;; Insert some text
>> C-x C-c
>> ;; Emacs prompts "Save file /path/to/foo.txt?..."
>>
>> Now try the above, but call `(server-stop-automatically 'delete-frame)'
>> first (or replace `delete-frame' with `kill-terminal'; it doesn't
>> matter). In this case, Emacs doesn't prompt to save the file. However,
>> the docstring/comments in `server-save-buffers-kill-terminal' say that
>> it should: "Offer to save each buffer, then kill the current client.
>> ... Only files from emacsclient file list."
>
> Gregory, any comments?
>
This is not a bug, this is the intented behavior of that feature, which
was discussed on emacs-devel and in bug#51377.
But in commit 997ca88ef44 the word "last" disappeared in the explanation
of the meaning of the symbol 'kill-terminal': "when the last frame is
being closed" became "when the terminal is killed". Hence the confusion.
I attached a patch which preserves the intended behavior of that feature,
and adds a fourth possible behavior, the one Jim now wants.
[Improve-and-extend-server-stop-automatically.patch (text/x-diff, attachment)]
This bug report was last modified 2 years and 163 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.