summaryrefslogtreecommitdiffhomepage
path: root/src/codegen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen.c')
-rw-r--r--src/codegen.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 7f80e9f77..7f1823ba6 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -1327,13 +1327,13 @@ codegen(codegen_scope *s, node *tree, int val)
int len = 0;
while (tree) {
- codegen(s, tree->car->car, VAL);
- codegen(s, tree->car->cdr, VAL);
+ codegen(s, tree->car->car, val);
+ codegen(s, tree->car->cdr, val);
len++;
tree = tree->cdr;
}
- pop_n(len*2);
if (val) {
+ pop_n(len*2);
genop(s, MKOP_ABC(OP_HASH, cursp(), cursp(), len));
push();
}