diff --git a/src/lib.c b/src/lib.c index 9ab8b98d..b5450b25 100644 --- a/src/lib.c +++ b/src/lib.c @@ -198,8 +198,12 @@ equal2: SCM last_pair (SCM x) { - while (x != cell_nil && CDR (x) != cell_nil) - x = CDR (x); + while (x != cell_nil) + { + if (CDR (x) == cell_nil) + return x; + x = CDR (x); + } return x; }