GNU bug report logs - #3442
23.0.94; "C-x 5 1" (delete-other-frames) kills daemon

Previous Next

Package: emacs;

Reported by: Teemu Likonen <tlikonen <at> iki.fi>

Date: Mon, 1 Jun 2009 12:45:05 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 3442 in the body.
You can then email your comments to 3442 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Mon, 01 Jun 2009 12:45:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Teemu Likonen <tlikonen <at> iki.fi>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 01 Jun 2009 12:45:05 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Teemu Likonen <tlikonen <at> iki.fi>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Mon, 01 Jun 2009 15:36:27 +0300
When Emacs daemon is running and a client frame is active, executing
delete-other-frames command (C-x 5 1) kills the daemon and makes the
Emacs session just a normal server session which requires that one frame
exists. To reproduce:

 1. Start Emacs daemon:

        emacs -Q --daemon

 2. Start a client session:

        emacsclient -c

 3. Type "C-x 5 1" and then try to close the frame with "C-x 5 0". The
    following message is displayed in the minibuffer:

        Attempt to delete the sole visible or iconified frame

 4. Forcibly close the frame with "C-x C-c" or window manager's close
    button.

 5. See the system's process list with "ps" command. There is no Emacs
    process anymore.




In GNU Emacs 23.0.94.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12)
 of 2009-06-01 on mithlond
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
configured using `configure  '--prefix=/home/dtw/local''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: fi_FI.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  ergo-movement-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Mon, 01 Jun 2009 13:35:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Teemu Likonen <tlikonen <at> iki.fi>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 01 Jun 2009 13:35:05 GMT) Full text and rfc822 format available.

Message #10 received at 3442 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Teemu Likonen <tlikonen <at> iki.fi>
To: 3442 <at> debbugs.gnu.org
Subject: Re: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Mon, 01 Jun 2009 16:28:03 +0300
On 2009-06-01 15:36 (+0300), Teemu Likonen wrote:

>  2. Start a client session:
>
>         emacsclient -c

You could also start the client sessions with

    emacsclient -c -n

so that there are no clients waiting and you don't need any force...

>  3. Type "C-x 5 1" and then try to close the frame with "C-x 5 0". The
>     following message is displayed in the minibuffer:
> 
>         Attempt to delete the sole visible or iconified frame
> 
>  4. Forcibly close the frame with "C-x C-c" or window manager's close
>     button.

...to close the frame. The frame just closes normally and after that
there's no daemon nor any Emacs process left in the system.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Wed, 03 Jun 2009 19:50:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 03 Jun 2009 19:50:06 GMT) Full text and rfc822 format available.

Message #15 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Teemu Likonen <tlikonen <at> iki.fi>
Cc: 3442 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Wed, 03 Jun 2009 15:43:18 -0400
> When Emacs daemon is running and a client frame is active, executing
> delete-other-frames command (C-x 5 1) kills the daemon and makes the
> Emacs session just a normal server session which requires that one frame
> exists. To reproduce:

Indeed, C-x 5 1 should only delete the frames on the current terminal,
whereas it currently kills *all* the frames on all terminals (including
the special internal terminal used for the daemon).


        Stefan



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Wed, 03 Jun 2009 19:50:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 03 Jun 2009 19:50:10 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Thu, 04 Jun 2009 18:40:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 04 Jun 2009 18:40:07 GMT) Full text and rfc822 format available.

Message #25 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Teemu Likonen <tlikonen <at> iki.fi>
Cc: 3442 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Thu, 04 Jun 2009 14:31:46 -0400
>> When Emacs daemon is running and a client frame is active, executing
>> delete-other-frames command (C-x 5 1) kills the daemon and makes the
>> Emacs session just a normal server session which requires that one frame
>> exists. To reproduce:

> Indeed, C-x 5 1 should only delete the frames on the current terminal,
> whereas it currently kills *all* the frames on all terminals (including
> the special internal terminal used for the daemon).

I've installed a patch that makes C-x 5 1 only delete frames on the same
terminal, which should fix this issue.


        Stefan



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Thu, 04 Jun 2009 18:40:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 04 Jun 2009 18:40:09 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Fri, 05 Jun 2009 01:35:03 GMT) Full text and rfc822 format available.

Message #33 received at 3442 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Dan Nicolaescu <dann <at> ics.uci.edu>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 3442 <at> debbugs.gnu.org, Teemu Likonen <tlikonen <at> iki.fi>
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Thu, 4 Jun 2009 18:25:09 -0700 (PDT)
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

  > >> When Emacs daemon is running and a client frame is active, executing
  > >> delete-other-frames command (C-x 5 1) kills the daemon and makes the
  > >> Emacs session just a normal server session which requires that one frame
  > >> exists. To reproduce:
  > 
  > > Indeed, C-x 5 1 should only delete the frames on the current terminal,
  > > whereas it currently kills *all* the frames on all terminals (including
  > > the special internal terminal used for the daemon).
  > 
  > I've installed a patch that makes C-x 5 1 only delete frames on the same
  > terminal, which should fix this issue.

That's a behavior change, isn't it?
Maybe people use C-x 5 1 to remove the rest of the frames on all
terminals... (I personally have never used C-x 5 1)

If we don't want to change the C-x 5 1 behavior, we can just avoid
deleting the daaemon special frame, i.e.:


+      (unless (or (eq (frame-parameter frame 'minibuffer) 'only)
+                 ;; Take care not to delete the special frame that
+                 ;; the daemon uses.
+                 (and is-daemon (eq frame terminal-frame)))

where is-daemon is let bound to (daemonp)



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Fri, 05 Jun 2009 03:25:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 05 Jun 2009 03:25:04 GMT) Full text and rfc822 format available.

Message #38 received at 3442 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dan Nicolaescu <dann <at> ics.uci.edu>, 3442 <at> debbugs.gnu.org
Cc: monnier <at> iro.umontreal.ca, tlikonen <at> iki.fi
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Thu, 04 Jun 2009 23:20:00 -0400
> Date: Thu, 4 Jun 2009 18:25:09 -0700 (PDT)
> From: Dan Nicolaescu <dann <at> ics.uci.edu>
> Cc: Teemu Likonen <tlikonen <at> iki.fi>, 3442 <at> emacsbugs.donarmstrong.com
> Reply-To: Dan Nicolaescu <dann <at> ics.uci.edu>, 3442 <at> emacsbugs.donarmstrong.com
> 
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> 
>   > I've installed a patch that makes C-x 5 1 only delete frames on the same
>   > terminal, which should fix this issue.
> 
> That's a behavior change, isn't it?
> Maybe people use C-x 5 1 to remove the rest of the frames on all
> terminals... (I personally have never used C-x 5 1)
> 
> If we don't want to change the C-x 5 1 behavior, we can just avoid
> deleting the daaemon special frame, i.e.:
> 
> 
> +      (unless (or (eq (frame-parameter frame 'minibuffer) 'only)
> +                 ;; Take care not to delete the special frame that
> +                 ;; the daemon uses.
> +                 (and is-daemon (eq frame terminal-frame)))
> 
> where is-daemon is let bound to (daemonp)

FWIW, I like Dan's suggestion better, especially since we are late in
the pretest, and shouldn't install changes that change well
established behavior.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Fri, 05 Jun 2009 04:20:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Teemu Likonen <tlikonen <at> iki.fi>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 05 Jun 2009 04:20:04 GMT) Full text and rfc822 format available.

Message #43 received at 3442 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Teemu Likonen <tlikonen <at> iki.fi>
To: Dan Nicolaescu <dann <at> ics.uci.edu>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, 3442 <at> debbugs.gnu.org
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Fri, 05 Jun 2009 07:13:13 +0300
On 2009-06-04 18:25 (-0700), Dan Nicolaescu wrote:

> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>   > I've installed a patch that makes C-x 5 1 only delete frames on
>   > the same terminal, which should fix this issue.
>
> That's a behavior change, isn't it? Maybe people use C-x 5 1 to remove
> the rest of the frames on all terminals... (I personally have never
> used C-x 5 1)

I don't know what terminal means in this context nor what other people
think but just as a simple user this is what I'd expect: In X Window
System C-x 5 1 would delete other X frames. In tty C-x 5 1 would delete
other frames in that particular tty. Quite obviously neither would
affect daemon nor unrelated Emacs sessions.

I use C-x 5 1 quite a lot.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Fri, 05 Jun 2009 14:50:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 05 Jun 2009 14:50:04 GMT) Full text and rfc822 format available.

Message #48 received at 3442 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Dan Nicolaescu <dann <at> ics.uci.edu>
Cc: 3442 <at> debbugs.gnu.org, Teemu Likonen <tlikonen <at> iki.fi>
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Fri, 05 Jun 2009 10:41:21 -0400
>> I've installed a patch that makes C-x 5 1 only delete frames on the same
>> terminal, which should fix this issue.
> That's a behavior change, isn't it?

Yes, tho only for people who were using a single Emacs displaying frames
on several X11 displays.
I feel like it's a change for the better, obviously.  This command has
never clearly specified what it did in the case where there are several
terminals because it was written at a time where Emacs did not support
this mode of operation.  So, AFAICT even the behavior change is a bug fix.


        Stefan



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#3442; Package emacs. (Sat, 13 Jun 2009 22:00:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Teemu Likonen <tlikonen <at> iki.fi>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sat, 13 Jun 2009 22:00:03 GMT) Full text and rfc822 format available.

Message #53 received at 3442 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Teemu Likonen <tlikonen <at> iki.fi>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 3442 <at> debbugs.gnu.org
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Sun, 14 Jun 2009 00:53:21 +0300
On 2009-06-04 14:31 (-0400), Stefan Monnier wrote:

>>> When Emacs daemon is running and a client frame is active, executing
>>> delete-other-frames command (C-x 5 1) kills the daemon and makes the
>>> Emacs session just a normal server session which requires that one
>>> frame exists. To reproduce:
>
>> Indeed, C-x 5 1 should only delete the frames on the current
>> terminal, whereas it currently kills *all* the frames on all
>> terminals (including the special internal terminal used for the
>> daemon).
>
> I've installed a patch that makes C-x 5 1 only delete frames on the
> same terminal, which should fix this issue.

I've been testing the fix for a while and it seems to work nicely. Thank
you. As far as I'm concerned this bug can closed.



Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. (Mon, 15 Jun 2009 20:25:06 GMT) Full text and rfc822 format available.

Notification sent to Teemu Likonen <tlikonen <at> iki.fi>:
bug acknowledged by developer. (Mon, 15 Jun 2009 20:25:07 GMT) Full text and rfc822 format available.

Message #58 received at 3442-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Teemu Likonen <tlikonen <at> iki.fi>
Cc: 3442-done <at> debbugs.gnu.org
Subject: Re: bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Date: Mon, 15 Jun 2009 16:19:22 -0400
> I've been testing the fix for a while and it seems to work nicely. Thank
> you. As far as I'm concerned this bug can closed.

Thank you,


        Stefan



bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Tue, 14 Jul 2009 14:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 34 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.