diff --git a/kiss/src/kiss/SpecialForms.hx b/kiss/src/kiss/SpecialForms.hx index a211c1c8..6c3306a9 100644 --- a/kiss/src/kiss/SpecialForms.hx +++ b/kiss/src/kiss/SpecialForms.hx @@ -269,7 +269,7 @@ class SpecialForms { k.doc("doFor", 3, null, '(doFor )'); k.doc("for", 3, null, '(for )'); map["doFor"] = (wholeExp:ReaderExp, args:Array, k:KissState) -> { - EBlock([forExpr("doFor", wholeExp, args, k), macro null]).withMacroPosOf(wholeExp); + EBlock([forExpr("doFor", wholeExp, args, k), k.convert(wholeExp.expBuilder().symbol("null"))]).withMacroPosOf(wholeExp); }; map["for"] = (wholeExp:ReaderExp, args:Array, k:KissState) -> { EArrayDecl([forExpr("for", wholeExp, args, k)]).withMacroPosOf(wholeExp); @@ -445,7 +445,7 @@ class SpecialForms { } else { // Kiss (if... ) expressions all need to generate a Haxe else block // to make sure they always return something - macro null; + k.convert(wholeExp.expBuilder().symbol("null")); }; // TODO these macro forms cause the compiler errors to give line numbers