emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pipe


From: Daiki Ueno
Subject: Re: pipe
Date: Tue, 17 Mar 2015 16:22:07 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> > But that means it would be impossible to invoke gpg from a shell that
>> > can redirect handles beyond the first 3, like some decent port of
>> > Bash, is that correct?  Or is that where the wrapper comes into play,
>> 
>> I don't know about a native Bash port to Windows.  Using Cygwin with
>> native Windows programs is problematic has you probably know.
>
> I was thinking about MSYS Bash.  But any port of Bash should do, as
> redirecting file handles for a sub-process is trivial.

Thanks for all the information.  I'm almost lost :-)

Are the following assumptions correct?

- A subprocess on Windows is able to access a handle passed as an
  external representation from the parent, as described in the first
  example of:
  https://msdn.microsoft.com/en-us/library/aa298531%28v=vs.60%29.aspx

- Some shells maintain the mappings between file descriptors and
  handles, and if Emacs runs a shell program with a redirection to
  non-standard file descriptors, it might not work as expected

- Emacs uses Gnulib's pipe2 implementation around _pipe on native
  Windows and the returned file descriptors are actually a handle

If all of those are correct, perhaps we could just mention the fact that
the child ends of a pipe process is a handle on Windows?

In any case, supporting stderr could be a starting point, as it seems to
be a long-standing request:
https://lists.gnu.org/archive/html/emacs-devel/2004-04/msg01051.html
and it wouldn't involve a portability issue.

Regards,
-- 
Daiki Ueno



reply via email to

[Prev in Thread] Current Thread [Next in Thread]