diff options
author | Mark H Weaver <mhw@netris.org> | 2013-08-15 21:58:41 -0400 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-08-24 15:20:56 +0200 |
commit | e79ed6b1d7f852614d6bb2e7b2f2c3d32afa4ea2 (patch) | |
tree | 32b60ab342ffb5b3a9ffa5bf7aaa8b4f0489e201 | |
parent | 62d3430cb618e8d45b0e72d195fdee6e2550ea91 (diff) | |
download | guile-e79ed6b1d7f852614d6bb2e7b2f2c3d32afa4ea2.tar.gz |
RTL VM: fix multiple value returns.
* libguile/vm-engine.c (halt): Fix off-by-one error in retrieving
multiple values from the frame.
-rw-r--r-- | libguile/vm-engine.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 369bb793a..01c3c1142 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -967,7 +967,7 @@ RTL_VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_) ret = SCM_EOL; SYNC_BEFORE_GC(); 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); } |