Subject: bug#8501: 24.0.50; Emacs daemon dies when GUI frame is closed

From: Evans Winner <[email-masked]>
Date: Thu, 14 Apr 2011 14:18:17 -0600

$ emacs -Q --daemon
("emacs")
Starting Emacs daemon.
$ pgrep emacs
31241
$ emacsclient -t
$ # First verify that C-x C-c is bound to
$ # 'save-buffers-kill-terminal and C-x 5 0 is bound to
$ # 'delete-frame, then do C-x C-c
$ pgrep emacs
31241
$ emacsclient -t
$ # Now try C-x 5 0
$ pgrep emacs
31241
$ emacsclient -c
Waiting for Emacs...
$ # Do C-x C-c
$ pgrep emacs
$ # (No output -- the server is gone)
$ # Restart Emacs daemon
$ emacs -Q --daemon
("emacs")
Starting Emacs daemon.
$ emacsclient -c
Waiting for Emacs...
$ # then try C-x 5 0
$ pgrep emacs
$ # Gone again.

So it appears that both of these functions behave differently
depending on whether emacsclient was started in tty or GUI mode.
This is something that has changed in bzr trunk some time in the
last two or three weeks, I think.  If there is something I need
to do to make Emacs behave the way it does in tty mode all the
time please let me know.  I typically have one Emacs server going
all the time at home and would like to be able to open frames
from home and work and on the road, whether tty or GTK or
whatever and have this work the same way no matter what.

Also, the Emacs daemon used to survive an accidental ssh
disconnection from the X frame, but now that kills the server
process as well.

In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 3.0.8)
 of 2011-04-14 on braintron
Windowing system distributor `Colin Harrison', version 11.0.60900031
configured using `configure  '--with-x-toolkit=gtk3''

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

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<down-mouse-1> <mouse-1> M-x l o a d - f i l e <return> 
. e m <tab> - <tab> t t - m <tab> <return> M-x r e 
p o i r <backspace> <backspace> r t - e m <tab> <r
eturn>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading /home/thorne/.emacs-local/tt-mail.el (source)...
eval-buffer: Cannot open load file: sa-learn-invoke

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug url-util url-parse auth-source eieio
byte-opt bytecomp byte-compile cconv macroexp assoc password-cache
url-vars rmail-spam-filter rmailsum message sendmail regexp-opt
format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus gnus-ems
nnheader gnus-util time-date wid-edit rmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face files text-properties overlay
md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)