Subject: Re: bug#30421: 25.3; desktop.el: Steal lock when no living "emacs" process owns it

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Feb 2018 10:11:06 +0200

> From: Pierre Neidhardt <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Thu, 15 Feb 2018 23:56:17 +0100
> 
> 		  if (and owner
> 			   (memq desktop-load-locked-desktop '(nil ask))
> 			   (or (null desktop-load-locked-desktop)
> 			       (daemonp)
> 			       (not (y-or-n-p (format "Warning: desktop file appears to be in use by PID %s.\n\ Using it may cause conflicts.  Use it anyway? " owner)))))
> 
> `(deamonp)` will still be true...
> 
> I could set `desktop-load-locked-desktop' to `t'
> but then I'm assuming I'll always be the only desktop-mode client on
> this machine... I don't like that.
> 
> What about changing `(daemonp)' to some predicate checking if there is a
> frame conencted?

Something like that, but:

  . it has to be _in_addition_to_ daemonp check, i.e. the predicate
    should only be called in a daemon session
  . it should test for an existence of a client frames, not just _any_
    frames, because, perhaps surprisingly, a daemon session does have
    a frame, it just isn't displayed (and is not a GUI frame)

Patches to that effect are welcome.

Thanks.