[phobos] Removing std.stdio.File.popen()

Lars Tandle Kyllingstad lars at kyllingen.net
Mon Aug 16 08:29:50 PDT 2010


Does that mean you figured out the whole FILE* <--> HANDLE thing?  If
so, that's awesome!

-Lars



On Mon, 2010-08-16 at 07:28 -0700, Steve Schveighoffer wrote:
> I have a fully compiling Windows version ready to test, but issue 3979
> blocks that.  I didn't have the patience that Lars had to build it
> outside of phobos, so I just put it on hold for now :)  But yes,
> everything that std.process supports will be doable on both phobos and
> Windows with a common interface.  There will be one minor difference
> -- Windows has a GUI flag that prevents a console window from
> appearing.  This is important to people who are running programs they
> don't want to pop up temporary console windows.
> 
> This flag simply won't be defined in POSIX.
> 
> -Steve
> 
> 
>         
>         From: David Simcha <dsimcha at gmail.com>
>         To: Discuss the phobos library for D <phobos at puremagic.com>
>         Sent: Mon, August 16, 2010 10:11:40 AM
>         Subject: Re: [phobos] Removing std.stdio.File.popen()
>         
>         This looks terrific.  I've always found the old std.process to
>         be way underpowered, especially on Windows.  Does your
>         statement about cross-platformness imply that Windows will
>         eventually be supported, too?
>         
>         On Mon, Aug 16, 2010 at 9:20 AM, Lars Tandle Kyllingstad
>         <lars at kyllingen.net> wrote:
>                 On Mon, 2010-08-16 at 09:04 -0400, Adam Ruppe wrote:
>                 > I actually use it (which is why I duplicated your
>                 bug), but am OK with
>                 > removing it, since it is easy enough to get at
>                 anyway. For a while, I
>                 > did a separate extern(C) for pclose anyway!
>                 >
>                 > However, I don't think something being POSIX only is
>                 a good reason to
>                 > remove something. D should take advantages of
>                 whatever platform it is
>                 > on. Portability is good when you can have it, but it
>                 shouldn't be a
>                 > function killer alone.
>                 
>                 
>                 Two comments:
>                 
>                 1. I disagree with you. :)  I think that Phobos'
>                 user-visible interface
>                 should be completely platform agnostic.  Code that
>                 depends only on
>                 Phobos should compile and run on any platform.
>                 
>                 2. Steve and I have been working on a new version of
>                 std.process, which
>                 will at some point, hopefully, obviate the need for
>                 popen().  See
>                 pipeProcess() here:
>                 
>                  http://www.kyllingen.net/code/ltk/doc/process.html
>                 
>                 The POSIX implementation is more or less complete, but
>                 its inclusion in
>                 Phobos is currently being blocked by bug 3979.  Also,
>                 Steve has run into
>                 some very tricky issues with pipes on Windows,
>                 fundamentally caused by
>                 D's dependence on the DMC runtime.  I don't know how
>                 (or if) that is
>                 working out.
>                 
>                 -Lars
>                 
>                 
>                 _______________________________________________
>                 phobos mailing list
>                 phobos at puremagic.com
>                 http://lists.puremagic.com/mailman/listinfo/phobos
>                 
>         
>         
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos




More information about the phobos mailing list