With patches from myself (to tcl) and leo (to parrot), partcl is once
again passing 100% of the tests, using PDD20.
The biggest hurdle was having some arbitrary (non :lex-ified) parrot
sub issue our find_lex and store_lex for us to ease transition. As
more of tcl becomes compiled, we can probably eliminate this code
path entirely, but that's a ways off.
Regards.
.sub find_lex_pdd20
.param string variable_name
.local pmc interp, lexpad, variable
.local int depth
interp = getinterp
depth = 2 # we know it's not us or our direct caller.
get_lexpad:
# Is there a lexpad at this depth?
lexpad = interp["lexpad";depth]
unless_null lexpad, got_lexpad
# try again
inc depth
goto get_lexpad
got_lexpad:
variable = lexpad[variable_name]
.return(variable)
.end