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
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On 10/24/2022 8:10 PM, Jim Porter wrote:
> On 10/21/2022 11:57 PM, Eli Zaretskii wrote:
>>> Date: Fri, 21 Oct 2022 20:46:47 -0700
>>> Cc: larsi <at> gnus.org, 51993 <at> debbugs.gnu.org, gregory <at> heytings.org
>>> From: Jim Porter <jporterbugs <at> gmail.com>
>>>
>>> The issue in the quote above is that if you enable automatic server
>>> shutdown in Emacs 29, it changes the behavior of exiting an emacsclient
>>> even when it wouldn't stop the server (i.e. when there are other active
>>> clients). That's surprising to me, I wouldn't expect that setting to
>>> affect cases when it decides *not* to kill the Emacs daemon.
>>
>> Sounds like a bug to me, because it contradicts what the doc string
>> says.
>
> That's how it seems to me too. ...
Ok, after quite a delay, here's a patch for this. Previously, the
function 'server-stop-automatically--handle-delete-frame' responded to
both 'C-x C-c' ('save-buffers-kill-terminal') and 'delete-frame', which
made it more complex. I've moved the 'C-x C-c' case into
'server-save-buffers-kill-terminal', which simplifies
'server-stop-automatically--handle-delete-frame'.
The updated 'server-save-buffers-kill-terminal' should now make sure
that the new stop-automatically behavior only happens when there are no
other client processes (or nowait frames).
I've also attached a version of the diff excluding the whitespace
changes to make reviewing the code easier.
[0001-Make-killing-a-non-last-client-work-the-same-no-matt.patch (text/plain, attachment)]
[no-whitespace-change.diff (text/plain, attachment)]
This bug report was last modified 2 years and 164 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.