Subject: bug#41788: 28.0.50; emacsclient -t doesn't work with vipe from moreutils

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 06 Jun 2022 16:00:39 +0200

Platon Pronko <[email-masked]> writes:

> $ echo a | EDITOR='emacsclient -t' vipe
> *ERROR*: Could not open file: /dev/tty
> emacsclient -t exited nonzero, aborting
>
> (vipe is a tool from moreutils, used to insert an editor in the middle of
> the pipeline)
>
> Looking inside vipe source I see that it reopens stdin before calling
> the EDITOR:
>
> close STDIN;
> open(STDIN, "</dev/tty") || die "reopen stdin: $!";
>
> If I use for example nano instead of emacsclient -t then everything works correctly.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

This problem is still present in Emacs 29.  Does anybody understand
where the misbehaviour between this STDIN redirect and what emacsclient
is complaining about can be fixed?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no