GNU bug report logs -
#3442
23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
Previous Next
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.
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):
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):
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):
> 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):
>> 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):
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):
> 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):
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):
>> 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):
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):
> 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.