summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2013-08-15 21:58:41 -0400
committerAndy Wingo <wingo@pobox.com>2013-08-24 15:20:56 +0200
commite79ed6b1d7f852614d6bb2e7b2f2c3d32afa4ea2 (patch)
tree32b60ab342ffb5b3a9ffa5bf7aaa8b4f0489e201
parent62d3430cb618e8d45b0e72d195fdee6e2550ea91 (diff)
downloadguile-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.c2
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);
}