#847: Interpreter - 'exec' and 'spawn' should split own args
---------------------+------------------------------------------------------
 Reporter:  jkeenan  |       Owner:       
     Type:  todo     |      Status:  new  
 Priority:  normal   |   Milestone:       
Component:  core     |     Version:  1.3.0
 Severity:  medium   |    Keywords:       
     Lang:           |       Patch:       
 Platform:  all      |  
---------------------+------------------------------------------------------

Comment(by jkeenan):

 Replying to [ticket:847 jkeenan]:
 > This ticket formerly existed as
 [http://rt.perl.org/rt3/Ticket/Display.html?id=31144 RT #31144].  It was
 created by Coke on Aug 15 2004.

 Many of our older RT tickets are the results of the 'ticketization' of
 `TODO` or `XXX` comments found in the source code.  Paul T Cochrane opened
 a couple hundred such tickets two years ago. And, as I look at RT #31144,
 I believe that Coke was taking the same approach there.

 Ticketizing `TODO` comments, however, only gets us so far toward resolving
 the issues.  If the original inline comments were very terse -- and most
 of them were -- we of the next generation have to raise questions about
 the issues before we can start to work on code.

 So let me ask some questions that anyone taking up this ticket would have
 to ask:

 1.  ''Can you provide an example of how allowing the shell to break up
 command-line arguments would be dangerous?''

 2.  ''OTOH, are there circumstances in which allowing the shell to break
 up those arguments is perfectly safe?''

 3.  ''Do we already have other Parrot functions which correctly handle
 command-line arguments?''

 4.  Here's the source code for the `spawnw` ops:
 {{{
 inline op spawnw(out INT, in STR) {
   $1 = Parrot_Run_OS_Command(interp, $2);
 }

 inline op spawnw(out INT, invar PMC) {
   $1 = Parrot_Run_OS_Command_Argv(interp, $2);
 }
 }}}
 Each variation runs on a variation of `Parrot_Run_OS_Command()`.  Is
 '''that''' function the real, underlying problem?

 5.  ''Is the `exec` function referred to in this ticket what is now known
 as `Parrot_exec`?''  (Posed because the string `exec` shows up many times
 when you grep the repository, but in no cases that self-evidently match
 the case in this ticket.)

 Thank you very much.[[BR]]
 kid51

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/847#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to