all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Herman <mahlamytsike@gmail.com>
To: 67628@debbugs.gnu.org
Subject: bug#67628: Emacs 29.1: (x-open-connection (getenv "DISPLAY")) gets "Display :0.0 does not exist" error
Date: Mon, 4 Dec 2023 19:31:38 +0200	[thread overview]
Message-ID: <20231204193138.3bb398b8@Elitebook> (raw)

Hi !

'x-create-frame' succeeds, but 'x-open-connection' fails with same display argument.

This error "Display :0.0 does not exist" happens only, when variable 'debug-on-error' is non-nil. When 'debug-on-error' is nil, the error is not present. I.e. it works on the principle - you get what you are looking for.

Tested also on Emacs 28.2 and there error is not present regardless of the value of the variable 'debug-on-error'.

xfwm4 4.18.0
xorg-server 21.1.9
Emacs 29.1
Archlinux

How to reproduce:
#################

$ emacs --fg-daemon -Q
...
Starting Emacs daemon.
$ emacsclient --eval "(setq debug-on-error t)"
t
$ emacsclient --eval "(x-open-connection (getenv \"DISPLAY\"))"
nil
...
Debugger entered--Lisp error: (error "Display :0.0 does not exist")
  signal(error ("Display :0.0 does not exist"))
  error("Display %s does not exist" ":0.0")
  get-device-terminal(":0.0")
  frames-on-display-list(":0.0")
  font-setting-change-default-font(":0.0" nil)
  dynamic-setting-handle-config-changed-event((config-changed-event font-render ":0.0"))
  funcall-interactively(dynamic-setting-handle-config-changed-event (config-changed-event font-render ":0.0"))
  call-interactively(dynamic-setting-handle-config-changed-event nil [(config-changed-event font-render ":0.0")])
  command-execute(dynamic-setting-handle-config-changed-event nil [(config-changed-event font-render ":0.0")] t)

The full testing:
#################

$ emacs --fg-daemon -Q
...
Starting Emacs daemon.
$ emacsclient --eval "(setq debug-on-error t)"
t
$ emacsclient --eval "debug-ignored-errors"
(beginning-of-line beginning-of-buffer end-of-line end-of-buffer end-of-file buffer-read-only file-supersession mark-inactive user-error)
$ emacsclient --eval "debug-on-signal"
nil
$ emacsclient --eval "debug-on-event"
sigusr2
$ emacsclient --eval "(terminal-list)"
(#<terminal 0 on initial_terminal>)
$ emacsclient --eval "(get-device-terminal nil)"
#<terminal 0 on initial_terminal>
$ emacsclient --eval "(x-display-list)"
nil
$ emacsclient --eval "(x-open-connection (getenv \"DISPLAY\"))"
nil
...
Debugger entered--Lisp error: (error "Display :0.0 does not exist")
  signal(error ("Display :0.0 does not exist"))
  error("Display %s does not exist" ":0.0")
  get-device-terminal(":0.0")
  frames-on-display-list(":0.0")
  font-setting-change-default-font(":0.0" nil)
  dynamic-setting-handle-config-changed-event((config-changed-event font-render ":0.0"))
  funcall-interactively(dynamic-setting-handle-config-changed-event (config-changed-event font-render ":0.0"))
  call-interactively(dynamic-setting-handle-config-changed-event nil [(config-changed-event font-render ":0.0")])
  command-execute(dynamic-setting-handle-config-changed-event nil [(config-changed-event font-render ":0.0")] t)

$ emacs --fg-daemon -Q
...
Starting Emacs daemon.
$ emacsclient --eval "(setq debug-on-error t)"
t
$ emacsclient --eval "(x-create-frame \`((display . ,(getenv \"DISPLAY\"))))"
#<frame *scratch* - GNU Emacs at Elitebook 0x55f5f31eeba0>
$ emacsclient --eval "(terminal-list)"
(#<terminal 0 on initial_terminal> #<terminal 1 on :0.0>)
$ emacsclient --eval "(get-device-terminal nil)"
#<terminal 1 on :0.0>
$ emacsclient --eval "(x-display-list)"
(":0.0")
$ emacsclient --eval "(kill-emacs)"
$ emacs --fg-daemon -Q
...
Starting Emacs daemon.
$ emacsclient --eval "(x-open-connection (getenv \"DISPLAY\"))"
nil
$ emacsclient --eval "(x-display-list)"
(":0.0")
$ emacsclient --eval "(terminal-list)"
(#<terminal 0 on initial_terminal> #<terminal 1 on :0.0>)
$ emacsclient --eval "(get-device-terminal nil)"
#<terminal 0 on initial_terminal>





             reply	other threads:[~2023-12-04 17:31 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-04 17:31 Herman [this message]
2023-12-04 20:11 ` bug#67628: Emacs 29.1: (x-open-connection (getenv "DISPLAY")) gets "Display :0.0 does not exist" error Eli Zaretskii
2023-12-04 22:44   ` Herman
2023-12-05 12:30     ` Eli Zaretskii
2023-12-05 12:37       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-06 11:54         ` Eli Zaretskii
2023-12-06 12:21           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-06 12:38             ` Eli Zaretskii
2023-12-06 12:40               ` Eli Zaretskii
2023-12-06 12:50                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-06 13:15                   ` Eli Zaretskii
2023-12-07  1:01                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-09  9:12                       ` Eli Zaretskii
2023-12-06 12:41               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-06 13:10                 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231204193138.3bb398b8@Elitebook \
    --to=mahlamytsike@gmail.com \
    --cc=67628@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.