std.process.system and white spaces

Steven Schveighoffer schveiguy at yahoo.com
Thu Jun 30 07:13:30 PDT 2011


On Thu, 30 Jun 2011 04:26:36 -0400, Jimmy Cao <jcao219 at gmail.com> wrote:

> It's not Phobos' fault, I tried it in Python's os.system on Windows and I
> got the same result.
> It's just a quirk I guess.

Windows is horrible with it's command line processing.  Add on top of  
that, the system call to create a process takes a single string -- so  
there is no way to specify arguments exactly without using quotes,  
equivalent to Unix exec.

Take a look at a proposed new version of std.process, and you can see my  
trial-and-error analysis of the windows command line processing engine.

https://github.com/kyllingstad/phobos/blob/new-std-process/std/process.d#L469

Note, please do not try using the new version of std.process on Windows --  
it requires fixes to the DMC runtime (given to Walter already).

-Steve


More information about the Digitalmars-d mailing list