Subject: Re: bug#63555: emacs 29 complains that it can't connect to the display

From: Robert Pluim <[email-masked]>
Date: Fri, 19 May 2023 15:26:42 +0200

>>>>> On Fri, 19 May 2023 15:22:22 +0800, Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email-masked]> said:

    Po Lu> Eli Zaretskii <[email-masked]> writes:
    >>> From: Phillip Susi <[email-masked]>
    >>> Date: Wed, 17 May 2023 09:51:43 -0400
    >>> 
    >>> Package: emacs
    >>> Version: 29.0.90
    >>> 
    >>> In previous versions of emacs, if the DISPLAY/WAYLAND_DISPLAY variable
    >>> was not set, it would default to tty mode.  In version 29, it seems to
    >>> assume a default value and complains that it can't connect to the
    >>> display server unless you run it with -nw.
    >> 
    >> Po Lu, was this an intentional change?  If so, did we document the
    >> reasons?  I cannot find anything in NEWS.

    Po Lu> No, I don't think so.  This isn't intentional.
    Po Lu> Phillip, please place a breakpoint on `init_display_interactive' in
    Po Lu> src/dispnew.c.  Then, step to this piece of code:

    Po Lu>   if (! inhibit_window_system && ! display_arg)
    Po Lu>     {
    Po Lu>       char *display;
    Po Lu>       display = getenv ("DISPLAY");
    Po Lu>       display_arg = (display != 0 && *display != 0); <----------

    Po Lu>       if (display_arg && !x_display_ok (display))
    Po Lu> 	{
    Po Lu> 	  fprintf (stderr, "Display %s unavailable, simulating -nw\n",
    Po Lu> 		   display);
    Po Lu> 	  inhibit_window_system = 1;
    Po Lu> 	}
    Po Lu>     }

    Po Lu> and show:

    Po Lu>   (gdb) p display

HAVE_X_WINDOWS is not defined in a pgtk build, so this code is never
run. And it looks kind of X-specific in any case

Robert
--