fix ifLet stealing the symbol v

This commit is contained in:
2022-08-02 15:27:29 +00:00
parent 00dbeb3cdd
commit 51cc2725d5

View File

@@ -363,7 +363,8 @@ class SpecialForms {
var nullCase = if (k.hscript) { var nullCase = if (k.hscript) {
b.callSymbol("null", [b.raw(nullExpr.toString())]); b.callSymbol("null", [b.raw(nullExpr.toString())]);
} else { } else {
b.call(b.callSymbol("when", [b.callSymbol("Prelude.isNull", [b.symbol("v")]), b.symbol("v")]), [b.raw(nullExpr.toString())]); var gensym = b.symbol();
b.call(b.callSymbol("when", [b.callSymbol("Prelude.isNull", [gensym]), gensym]), [b.raw(nullExpr.toString())]);
}; };
cases.insert(0, nullCase); cases.insert(0, nullCase);