GNU bug report logs - #58877
29.0.50; [PATCH] When killing Emacs from a client frame with no other frames, Emacs shows a useless error prompt

Previous Next

Package: emacs;

Reported by: Jim Porter <jporterbugs <at> gmail.com>

Date: Sat, 29 Oct 2022 21:34:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #43 received at 58877 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: 58877 <at> debbugs.gnu.org
Subject: Re: bug#58877: 29.0.50; [PATCH] When killing Emacs from a client
 frame with no other frames, Emacs shows a useless error prompt
Date: Sat, 26 Nov 2022 21:45:19 +0200
> Date: Sat, 26 Nov 2022 11:04:48 -0800
> Cc: 58877 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs <at> gmail.com>
> 
> > I think you need to modify the tests to ensure the server file is created in
> > a temporary directory.  And keep in mind that the variable which affects
> > that is different depending on whether server-use-tcp is or isn't non-nil.
> 
> Hm, I'm surprised the tests failed again for you then. Both of the 
> patches I posted to fix the tests set the 'server-name' to a (hopefully) 
> unique value.
> 
> Still, I think it's a good idea to use a temporary directory to hold the 
> server file, so here's a patch that does that. I've tried this patch 
> with a production Emacs server running at the same time in several 
> different configurations (with 'server-use-tcp' on and off, and with 
> --daemon), and the tests all pass locally for me on GNU/Linux.

Still fails, and here's why:

    Client output: d:\gnu\git\emacs\trunk\lib-src\emacsclient.exe: unrecognized option '--socket-name'
                   Try 'd:\gnu\git\emacs\trunk\lib-src\emacsclient.exe --help' for more information

                   Process d:/gnu/git/emacs/trunk/lib-src/emacsclient exited abnormally with code 1

There's no --socket-name switch on MS-Windows; you need to use --server-file
instead.

If I change server-tests/start-client to use --server-file, the next problem
rears its ugly head:

    Client output: *ERROR*: Not using an ASCII terminal now; cannot make a new ASCII frame

                   Process d:/gnu/git/emacs/trunk/lib-src/emacsclient exited abnormally with code 1

This is because emacsclient on Windows cannot create new terminal frames,
only new GUI frames, unless Emacs was started as "emacs -nw".

Why do these tests need TTY frames?

Btw, with the above changes, only 3 tests fail:

  3 unexpected results:
     FAILED  server-tests/emacsclient/create-frame
     FAILED  server-tests/server-force-stop/keeps-frames
     FAILED  server-tests/server-start/stop-prompt-with-client

So this is progress, thanks.




This bug report was last modified 2 years and 170 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.