diff --git a/src/rsc.scm b/src/rsc.scm index 25362c94..9827d204 100755 --- a/src/rsc.scm +++ b/src/rsc.scm @@ -1132,7 +1132,7 @@ ctx (length args) (gen-call - (if (number? v) + (if (and (number? v) (arity-check? ctx first)) (+ v 1) v) cont)))))) diff --git a/src/tests/00-ribbit/35-eval.scm b/src/tests/00-ribbit/35-eval.scm index 83d8312b..4959497d 100644 --- a/src/tests/00-ribbit/35-eval.scm +++ b/src/tests/00-ribbit/35-eval.scm @@ -5,6 +5,8 @@ ;;;run: -l min -f+ arity-check ;;;run: -l max -f+ arity-check +;;;run: -l min +;;;run: -l max ;;;r4rs-run: -l r4rs ;;;input:(* 6 7) ;;;expected: diff --git a/src/tests/00-ribbit/50-repl.scm b/src/tests/00-ribbit/50-repl.scm index a03b0207..7588b123 100644 --- a/src/tests/00-ribbit/50-repl.scm +++ b/src/tests/00-ribbit/50-repl.scm @@ -3,6 +3,7 @@ (repl) ;;;run: -l max -f+ arity-check +;;;run: -l max ;;;r4rs-run: -l r4rs ;;;input:(define fact (lambda (n) (if (< n 2) 1 (* n (fact (- n 1))))))(fact 10) ;;;expected: diff --git a/src/tests/00-ribbit/90-macros.scm b/src/tests/00-ribbit/90-macros.scm index f9e1eb6b..4dad0930 100644 --- a/src/tests/00-ribbit/90-macros.scm +++ b/src/tests/00-ribbit/90-macros.scm @@ -45,5 +45,6 @@ ;;;run: -l define-macro -f+ arity-check +;;;run: -l define-macro ;;;expected: ;;;ABCDEF