1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-18 01:30:27 +02:00

RTL VM: fix multiple value returns.

* libguile/vm-engine.c (halt): Fix off-by-one error in retrieving
  multiple values from the frame.
This commit is contained in:
Mark H Weaver 2013-08-15 21:58:41 -04:00 committed by Andy Wingo
parent 62d3430cb6
commit e79ed6b1d7

View file

@ -967,7 +967,7 @@ RTL_VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
ret = SCM_EOL; ret = SCM_EOL;
SYNC_BEFORE_GC(); SYNC_BEFORE_GC();
for (n = nvals; n > 0; n--) for (n = nvals; n > 0; n--)
ret = scm_cons (LOCAL_REF (5 + n), ret); ret = scm_cons (LOCAL_REF (5 + n - 1), ret);
ret = scm_values (ret); ret = scm_values (ret);
} }