Subject: bug#68799: 30.0.50; emacs --fg-daemon fails silently if server-start fails

From: Eli Zaretskii <[email-masked]>
Date: Mon, 29 Jan 2024 19:18:22 +0200

> Cc: [email-masked]
> Date: Mon, 29 Jan 2024 19:11:36 +0200
> From: Eli Zaretskii <[email-masked]>
> 
> Have some faith in Emacs: we already do that.  From startup.el:
> 
>   (let ((dn (daemonp)))
>     (when dn
>       (when (stringp dn) (setq server-name dn))
>       (server-start)
>       (if server-process
> 	  (daemon-initialized)
> 	(if (stringp dn)
> 	    (message
> 	     "Unable to start daemon: Emacs server named %S already running"
> 	     server-name)
> 	  (message "Unable to start the daemon.\nAnother instance of Emacs is running the server, either as daemon or interactively.\nYou can use emacsclient to connect to that Emacs process."))
> 	(kill-emacs 1))))
> 
> So the problem seems to be that somehow server-start succeeds to leave
> a non-nil server-process variable behind, although testing that is the
> documented way of telling whether server is running.

Or maybe server-start signals an error, and then the code which shows
an error message and shuts down Emacs doesn't get run?