Joe English | 3 Jul 19:29

Re: Future [exec] overhaul


I wrote:

>     <pipeline> ::= <process> ( "|" <process> )*
>     <process> ::= <os-command> ( <redirection> | <option> <value> )*
>
> where <os-command> is interpreted as a list on Unix
> and used to build the argv array passed to exec*();
> and as a string on Windows, used as the lpCommandLine
> argument to CreateProcess().

Forgot to add: we should also provide utility commands
to construct an appropriate lpCommandLine string from an
argv list (i.e., make BuildCommandLine() available
as a Tcl command.)

Some more needed -options: "-cwd" and "-environ".
Right now these are process-global (controlled by [pwd]
and the magic $::env variable), so it's impossible
to run a subprocess in a different directory and/or
a modified environment in a thread-safe way.  And
even nonthreaded it takes more work than it ought to.

--JE

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08

Gmane