Only check number of arguments for closures, see last change.
authorMarius Vollmer <mvo@zagadka.de>
Wed, 21 Feb 2001 22:52:59 +0000 (22:52 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Wed, 21 Feb 2001 22:52:59 +0000 (22:52 +0000)
I just love this evaluator, man.

libguile/eval.c

index 5b15619..22ee142 100644 (file)
@@ -2005,7 +2005,7 @@ dispatch:
              SCM_ASRTGO (SCM_NIMP (proc), badfun);
              PREP_APPLY (proc, scm_cons (t.arg1, SCM_EOL));
              ENTER_APPLY;
-             if (scm_badformalsp (proc, 1))
+             if (SCM_CLOSUREP(proc) && scm_badformalsp (proc, 1))
                goto umwrongnumargs;
              goto evap1;
            }
@@ -2217,7 +2217,7 @@ dispatch:
          SCM_ASRTGO (SCM_NIMP (proc), badfun);
          PREP_APPLY (proc, scm_cons (t.arg1, SCM_EOL));
          ENTER_APPLY;
-         if (scm_badformalsp (proc, 1))
+         if (SCM_CLOSUREP(proc) && scm_badformalsp (proc, 1))
            goto umwrongnumargs;
          goto evap1;