|
From: | Jim Porter |
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@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).
[Prev in Thread] | Current Thread | [Next in Thread] |