summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/codegen.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/codegen.c b/src/codegen.c
index ffa13d647..c1a62320d 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -1099,6 +1099,10 @@ codegen(codegen_scope *s, node *tree, int val)
genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0));
codegen(s, tree->cdr->car, val);
+ if (val && !(tree->cdr->car)) {
+ genop(s, MKOP_A(OP_LOADNIL, cursp()));
+ push();
+ }
if (e) {
if (val) pop();
pos2 = new_label(s);