Also -- lest we make any incorrect assumptions about the display names -- some code on Mac OS X sets the $DISPLAY string for the local display to the full path to a unix-domain socket, the name of which just happens to end with ":0". I suspect it's a launchd thing, where connecting triggers launchd to start up the X server and pass data through. But, an X11-configured Emacs on Mac OS X, run from a Terminal window, may have to deal with it, so we can't assume it's a host name.​ I'm not sure the different transport matters much, so long as when the user asks us to connect to the local server, we connect to the local server. But I don't want to rehash that discussion here, and it doesn't help me much if using two different displays will trigger the same problem.