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

Reply via email to