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

Steve Schveighoffer schveiguy at yahoo.com
Mon Aug 16 07:28:10 PDT 2010


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
>>
>


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/phobos/attachments/20100816/d96e9900/attachment.html>


More information about the phobos mailing list