[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3442: 23.0.94; "C-x 5 1" (delete-other-frames) kills daemon
From: |
Dan Nicolaescu |
Subject: |
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@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)