Subject: bug#31859: closed (Re: bug#31859: 26.1; Emacs has no way to determine if the current instance has a running server)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 23 Jun 2018 07:53:01 +0000

Your bug report

#31859: 26.1; Emacs has no way to determine if the current instance has a running server

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31859: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31859
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#31859: 26.1; Emacs has no way to determine if the current instance has a running server
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 23 Jun 2018 10:52:34 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sat, 16 Jun 2018 19:30:51 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > From: Thibault Polge <[email-masked]>
> > Date: Sat, 16 Jun 2018 18:27:03 +0200
> > 
> > > Does it work to test whether server-process is bound and non-nil?
> > 
> > It works, indeed.  Would you accept a documentation PR on the variable
> > and the two functions, which are much more obvious candidates?
> > Something like:
> > 
> > For a general way of determining if the current instance has a server
> > running, check the value of `server-process`.
> > 
> > Or a PR adding a stupid helper function like:
> 
> I'd prefer a documentation change, but let's see if someone has other
> opinions.

No further comments, so I installed a documentation change, and I'm
marking this bug done.

Thanks.

Subject: 26.1; Emacs has no way to determine if the current instance has a running server
From: Thibault <[email-masked]>
To: [email-masked]
Date: Sat, 16 Jun 2018 18:04:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

It's all in the subject line: Emacs has no way to determine if the
current instance has a running server.  There's the `server-mode'
variable along with the `daemonp' and `server-running-p' functions, but
none of them are actually usable for the most elementary use case of
determining whether *this* instance has a server started.

 - `server-mode' is nil if the server was started with `M-x server-start',
   and t only if was started with `server-mode'

 - `(daemonp)' returns non-nil if and only if emacs was started as a
   daemon.

That is, the following sexp:

(progn
    (require 'server)
    (server-start)
    (or server-mode (daemonp)))

will always evaluate to nil, except from emacsclient.

 - (server-running-p) tries to determine if /some/ server is running,
   somewhere, that is configured like the current server would be, but
   it doesn't guarantee that the server runs from the current instance.
   If you start two instances, `(server-running-p)' will eval to `t' *in
   both* after the server was started in any one of them.

Thanks,
Thibault