Subject: bug#15037: Display can't be opened (display newer than emacs session)

From: "Sewall, Jason" <[email-masked]>
Date: Wed, 7 Aug 2013 17:37:34 +0000

> From: Jan Djärv [mailto:[email-masked]]
> Sent: Wednesday, August 7, 2013 1:33 AM

> That is not what Emacs does.  "Reading available displays" is not possible.
> Emacs just tries to connect when you do open display.

Makes sense. 

> Did you kill the old server and start a new server in the same shell as you
> started the first?  My guess is that you did not, and so the second server
> either gets the correct authentication and thus can connect.

If you mean kill emacs and restart it, I could certainly do that (it will work, from past experience) but it defeats the purpose from my point of view. I'd like emacs to be able to create a frame on any display I ask it to, no matter the relative age of the emacs session and the remote display. If you mean (server-start), that is easy to do, but my understanding is that it has nothing to do with remote displays. Indeed, if I do emacs -Q (i.e., starting no servers) I am able to do that make-frame-on-display without trouble (for an emacs newer than the display)

> To really see what is going on you would need to debug Emacs with gdb
> when the make-frame-on-display fails.

While that is fine, as a somewhat experienced programmer and noob with Emacs internals, I am very surprised there isn't a higher-level way to debug this sort of problem in emacs-lisp. It isn't something I have the time to figure up right now at any rate.

Cheers,
Jason