Subject: bug#11102: 24.0.94; C-x C-c from a client frame sometimes kills the whole Emacs process

From: Chong Yidong <[email-masked]>
Date: Sat, 14 Apr 2012 12:55:10 +0800

Eli Zaretskii <[email-masked]> writes:

> In that case, I don't understand why did Dani expect something
> different from what he saw.  I see the same behavior on GNU/Linux: if
> emacsclient is invoked with -n, "C-x C-c" kills Emacs.  Perhaps the
> bug is that we create a new frame on Windows even though the server
> receives the -current-frame parameter.  Why doesn't server.el on
> Windows honor that parameter?

With the -c option, a client frame is created, so C-x C-c should delete
the frame without killing the main Emacs session, whether or not there
is an -n option.

The role of -n is as follows: *without* -n, i.e. if emacsclient waits
for edits to finish, the C-x C-c that deletes the client frame should
also mark the client's edits as finished.

I've updated the manual to improve the description of this.  Is it clear
enough now?

If on a client frame created by "emacsclient -c -n" the C-x C-c command
kills Emacs, that is indeed a bug.  My guess would be that the `client'
frame parameter is not getting correctly assigned to the newly-created
frame on Windows, due to the extra juggling in the #ifdef WINDOWSNT code
segment Juanma pointed out.