On Sunday 22 April 2007 17:38, Matt Diephouse wrote: > The attached patch completely reworks Parrot_process_args. The changes > are extensive and I think they make the code much clearer. Rather than > just check it in, I thought I'd try to get feedback here to make sure > that it is clearer to everyone else and not just to myself.
It's a lot clearer. > This patch also fixes a few bugs: > #40490: Flat/Slurpy Named Parameter Passing Errors Yay! > A couple todo'd error condition tests > > I'm sure there is more that can be done to clean things up, but this > is at least a start. I've already spent 15+ hours on this patch, so > I'm ready to check things in and leave further improvements for > another time. I only noticed one thing (besides large swaths of removed code, which is always nice). This code occurs multiple times: + /* if the :flat arg is empty, just go to the next arg */ + if (!st->src.slurp_n) { + st->src.mode &= ~CALL_STATE_FLATTEN; + st->src.i++; + } It's three lines; is it worth extracting somehow? -- c