fix double-evaluation of macros in automatic main function

This commit is contained in:
2021-07-25 22:08:21 -06:00
parent a6bbe62442
commit dea92a13b4
2 changed files with 5 additions and 2 deletions

View File

@@ -223,8 +223,11 @@ class Kiss {
}
// When calling from build(), we can't add all expressions to the (begin) returned by (load), because that will
// cause double-evaluation of field forms
if (loadAllExps || !isEmpty(expr)) {
if (loadAllExps) {
loadedExps.push(nextExp);
} else if (!isEmpty(expr)) {
// don't double-compile macros:
loadedExps.push(RawHaxe(expr.toString()).withPosOf(nextExp));
}
});

View File

@@ -24,4 +24,4 @@
(saladPdf.copyPages pdf [page]))))]
(doFor page pages (saladPdf.addPage (first page)))
(awaitLet [bytesOut (saladPdf.save)]
(Fs.writeFileSync "out.pdf" bytesOut))))))
(Fs.writeFileSync "out.pdf" bytesOut))))))