Package: emacs-pgtk Version: 1:29.3+1-2~bpo12+1 Severity: normal After upgrading from Emacs 28 to 29 and switching from xorg to wayland, I have noticed emacs sometimes fail to open URLs. It seems to be an ordering issue in my session: it seems like Emacs sometimes starts before Sway is fully setup and the environment properly populated, which makes it use the incorrect WAYLAND_DISPLAY variable.
This, in itself, is a bug in my setup: Emacs should be started properly. *But* my bug here is this fails completely silently. No URL gets opened at all, which is *really* disruptive because I can open a bunch of URLs while reading my mail, then i go to my browser and nothing is there and now I've lost data. Instead, browse-url should fail noisily if it fails to load a URL. If I look at the `browse-url' source, for example at the end we see this kind of failure, which happens when no browser can be found at all: (if (functionp function) (apply function url args) (error "No suitable browser for URL %s" url)))) That is what I would expect the handler to do in this case, something like "uh, we can't find your wayland display, so we're just dropping this URL to the floor, sorry". That function also has that mysterious blob: (progn ;; The `display' frame parameter is probably wrong. ;; See bug#53969 for some context. ;; (setenv "WAYLAND_DISPLAY" dpy) ) (setenv "DISPLAY" dpy))) ... which refers to: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=53969 ... which I'm struggling to understand. If I uncomment that blob, the bug, actually, just completely goes away which i find quite puzzling. A. -- System Information: Debian Release: 12.5 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable'), (1, 'experimental'), (1, 'unstable'), (1, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.6.13+bpo-amd64 (SMP w/16 CPU threads; PREEMPT) Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages emacs-pgtk depends on: ii emacs-bin-common 1:29.3+1-2~bpo12+1 ii emacs-common 1:29.3+1-2~bpo12+1 ii libacl1 2.3.1-3 ii libasound2 1.2.8-1+b1 ii libc6 2.36-9+deb12u7 ii libcairo2 1.16.0-7 ii libdbus-1-3 1.14.10-1~deb12u1 ii libfontconfig1 2.14.1-4 ii libfreetype6 2.12.1+dfsg-5 ii libgccjit0 12.2.0-14 ii libgdk-pixbuf-2.0-0 2.42.10+dfsg-1+b1 ii libgif7 5.2.1-2.5 ii libglib2.0-0 2.74.6-2+deb12u2 ii libgmp10 2:6.2.1+dfsg1-1.1 ii libgnutls30 3.7.9-2+deb12u2 ii libgpm2 1.20.7-10+b1 ii libgtk-3-0 3.24.38-2~deb12u1 ii libharfbuzz0b 6.0.0+dfsg-3 ii libjansson4 2.14-2 ii libjpeg62-turbo 1:2.1.5-2 ii liblcms2-2 2.14-2 ii libotf1 0.9.16-4 ii libpango-1.0-0 1.50.12+ds-1 ii libpng16-16t64 [libpng16-16] 1.6.43-5 ii librsvg2-2 2.54.7+dfsg-1~deb12u1 ii libselinux1 3.4-1+b6 ii libsqlite3-0 3.40.1-2 ii libsystemd0 252.22-1~deb12u1 ii libtiff6 4.5.0-6+deb12u1 ii libtinfo6 6.4-4 ii libtree-sitter0 0.20.7-1 ii libwebp7 1.2.4-0.2+deb12u1 ii libwebpdemux2 1.2.4-0.2+deb12u1 ii libxml2 2.9.14+dfsg-1.3~deb12u1 ii zlib1g 1:1.2.13.dfsg-1 Versions of packages emacs-pgtk recommends: ii fonts-noto-color-emoji 2.042-0+deb12u1 Versions of packages emacs-pgtk suggests: ii emacs-common-non-dfsg 1:28.2+1-2 -- no debconf information