diff --git a/src/vm_scheme.c b/src/vm_scheme.c index 4b133a259..3ab57f694 100644 --- a/src/vm_scheme.c +++ b/src/vm_scheme.c @@ -52,7 +52,7 @@ SCM_DEFINE_VM_FUNCTION (null_p, "null?", "null?", 1, 0) SCM_DEFINE_VM_FUNCTION (cons, "cons", "cons", 2, 0) { VM_SETUP_ARGS2 (); - CONS (ac, ac, a2); + CONS (ac, a1, a2); NEXT; } diff --git a/src/vm_system.c b/src/vm_system.c index 47688fa27..7d8d18282 100644 --- a/src/vm_system.c +++ b/src/vm_system.c @@ -372,7 +372,10 @@ SCM_DEFINE_INSTRUCTION (br_if_null, "%br-if-null", INST_ADDR) { SCM addr = FETCH (); /* must always fetch */ if (SCM_NULLP (ac)) - pc = SCM_VM_ADDRESS (addr); + { + ac = SCM_BOOL_T; + pc = SCM_VM_ADDRESS (addr); + } NEXT; }