Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
keep outer block context right in wanted pass
When descending subtrees in the interleaved 'wanted' pass, we can visit blocks that are done compiling, which means the @!BLOCKS stack in World is no longer correct. When entering such a node, we set $*WANTEDOUTERBLOCK to the correct outer block context, and generate new blocks within that context. (This dynvar is a bit of a bandaid that will hopefully no longer be needed after we switch to following outer chains for everything, rather than always assuming (as the @!BLOCKS routines assume) that World routines are only for the single bottom-up pass that happens during parsing.)
- Loading branch information
Showing
2 changed files
with
43 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters