Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ Release notes:
The problem isn't really fixed, but it will no longer corrupt
your game text.

Compiler: re-fixed the obscure bug with divs and spans inside
closures, which was previously only fixed for the debugger, not
for the compiler. Oops!

Compiler: better messages when adding resource files to an
.aastory file, on both success and failure

Expand Down
3 changes: 3 additions & 0 deletions src/parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -1366,6 +1366,9 @@ static struct astnode *parse_expr(int parsemode, struct lexer *lexer, struct are
for(i = 0; i < cl->nvar; i++) {
if(!strcmp(cl->varnames[i]->name, "_")) {
have_arg = 1;
} else if(cl->varnames[i]->name[0] == '*') {
// Internal variables (created via fresh_word) cannot be accessed outside the closure, so they should not be considered parameters
// We don't want them to interfere with the optimizer's analysis of whether parameters to ( invoke-closure $ $ $) are bound
} else {
sub = an->children[1];
an->children[1] = mkast(AN_PAIR, 2, cl->arena, orig_line);
Expand Down
Loading