Expander not using lexical context of macro definition site
Created by: 97jaz
This:
var umem = new Uint8Array(1024);
macro word {
rule { ($addr:expr) } => { ((umem[$addr] << 8) | umem[($addr)+1]) }
}
word(4);
expands to this:
var umem$186 = new Uint8Array(1024);
umem[4] << 8 | umem[4 + 1];
So, umem is being renamed at its definition site, but the expansion isn't using that name.