GNU bug report logs - #56013
28.1; "gio open" and "xdg-open" fail silently under eshell

Previous Next

Package: emacs;

Reported by: Jeff Kowalski <jeff.kowalski <at> gmail.com>

Date: Thu, 16 Jun 2022 06:27:02 UTC

Severity: normal

Merged with 75304

Found in versions 28.1, 29.4

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>, Andreas Schwab <schwab <at> linux-m68k.org>
Cc: 56013 <at> debbugs.gnu.org, Jeff Kowalski <jeff.kowalski <at> gmail.com>
Subject: bug#56013: 28.1; "gio open" and "xdg-open" fail silently under eshell
Date: Fri, 17 Jun 2022 10:17:08 -0700
On 6/17/2022 4:59 AM, Lars Ingebrigtsen wrote:
> Andreas Schwab <schwab <at> linux-m68k.org> writes:
> 
>> See bug#44824.
> 
> Ah, right.  The fix proposed there was:
> 
>      org.el: Avoid xdg-open silent failure
>      
>      * lisp/org.el (org-open-file): Use 'pipe :connection-type instead of
>      'pty to prevent killing of background process on handler exit.
> 
> Perhaps Jim has some comments here; added to the CCs.

Yeah, this is an issue with how `start-file-process' is being called in 
Eshell (see `eshell-gather-process-output'). If I call `(setq 
process-connection-type nil)' before running gio in Eshell, it works fine.

There's *almost* an existing Eshell function that would solve this: 
`eshell-needs-pipe-p'. Currently, it only returns t if certain programs 
are being piped *to*, but we could enhance that to allow specifying that 
some programs need a "pipe" (i.e. for `process-connection-type' to be 
nil) all the time. Then we'd just need to add gio and xdg-open to 
`eshell-needs-pipe' (which should probably be a defcustom while we're 
there).




This bug report was last modified 155 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.