summaryrefslogtreecommitdiff
path: root/libguile/eval.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-10-21 10:48:15 +0200
committerAndy Wingo <wingo@pobox.com>2015-10-21 11:49:20 +0200
commit9b1ac02a8584ee7ca73a8f5920d7b33c0487bfc0 (patch)
tree3d9d04747f9fd6f05289b0ab1ca9874985a6f40f /libguile/eval.c
parent0da0308b8479aab335230675c94e0773985f06d6 (diff)
downloadguile-9b1ac02a8584ee7ca73a8f5920d7b33c0487bfc0.tar.gz
Fix boot closure wrong-num-args error
* libguile/eval.c (prepare_boot_closure_env_for_eval): Fix issue if fixed closure is called with wrong number of arguments during bootstrap.
Diffstat (limited to 'libguile/eval.c')
-rw-r--r--libguile/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/eval.c b/libguile/eval.c
index 09fa71df4..6f2751970 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -882,7 +882,8 @@ prepare_boot_closure_env_for_eval (SCM proc, unsigned int argc,
*out_body = BOOT_CLOSURE_BODY (proc);
*inout_env = new_env;
}
- else if (BOOT_CLOSURE_IS_REST (proc) && argc >= nreq)
+ else if (!BOOT_CLOSURE_IS_FIXED (proc) &&
+ BOOT_CLOSURE_IS_REST (proc) && argc >= nreq)
{
SCM rest;
int i;