diff --git a/src/eval-apply.c b/src/eval-apply.c index f1c80527..088a1c57 100644 --- a/src/eval-apply.c +++ b/src/eval-apply.c @@ -213,8 +213,12 @@ formal_p (SCM x, SCM formals) /*:((internal)) */ else return cell_f; } - while (TYPE (formals) == TPAIR && CAR (formals) != x) - formals = CDR (formals); + while (TYPE (formals) == TPAIR) + { + if (CAR (formals) == x) + break; + formals = CDR (formals); + } if (TYPE (formals) == TSYMBOL) return formals == x; return TYPE (formals) == TPAIR;