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

Reply via email to