Subject: 24.0.90; Closing an emacsclient frame always kills daemon

From: Damien Cassou <[email-masked]>
Date: Wed, 5 Oct 2011 14:24:53 +0200

Hi,

I open emacs with the following:

emacsclient --alternate-editor="" -c ~/.bashrc

According to the manual, it creates a daemon if none is running and
then creates a client by connecting to this daemon. I confirm this
behavior by looking at the running processes: I have one process for
emacsclient and one for emacs --daemon. However, as soon as I close
the last running emacsclient (with C-x C-c or C-x #), the daemon is
also terminated. Some more information:

- Running with gdb prints a "Program existed normally".

- I can reproduce on sources downloaded from bzr, on debian unstable
(http://emacs.naquadah.org/unstable/) and ubuntu natty
(https://launchpad.net/~cassou/+archive/emacs). The directives used
for compilation are shown below. (note that I used -O0 and
--with-x-toolkit=gtk3).

- Launching emacsclient with -nw does *not* exhibit the problem.

- Compiling with --with-x-toolkit=gtk does exhibit the same problem.

- I also compiled with --with-x-toolkit=lucid, but I must have made
something wrong as I also got the "Warning: due to a long standing
Gtk+ bug..." error message when I started emacs.

- I was not able to run emacs with -q option as emacsclient does not
accept it nor does it allow to pass it to the daemon to be created. I,
however, renamed my .emacs.d directory so that it didn't get loaded (
I have no ~/.emacs file)

Here are the compilation instructions I used with the sources from
bzr. They are very exactly the same as the one used by Julien Danjou
to create http://emacs.naquadah.org/unstable except for the -O0 that I
used to see if the problem persisted (and it does).

CFLAGS="-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O0" ./configure
--build i686-linux-gnu --host i686-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var
--infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.0.90/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.0.90/site-lisp:/usr/share/emacs/site-lisp
--without-compress-info --with-crt-dir=/usr/lib/i386-linux-gnu/
--with-x=yes --with-x-toolkit=gtk3 --with-imagemagick=yes

/usr/bin/make -j8 CFLAGS="-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g
-O0" LDFLAGS="-g -Wl,--as-needed"

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

Load-path shadows:
/usr/share/emacs/24.0.90/site-lisp/cmake-data/cmake-mode hides
/usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/24.0.90/site-lisp/debian-startup hides
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.0.90/lisp/textmodes/rst

Features:
(shadow sort gnus-util mail-extr message format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
emacsbug help-mode easymenu view vc-git regexp-opt sh-script executable
server time-date 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 sha1 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)

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry