]> birchwood-abbey.net Git - mit-scheme.git/commitdiff
Change length+ to signal an error on dotted lists.
authorChris Hanson <org/chris-hanson/cph>
Sun, 20 Nov 2022 05:41:14 +0000 (21:41 -0800)
committerChris Hanson <org/chris-hanson/cph>
Mon, 28 Nov 2022 08:21:58 +0000 (00:21 -0800)
src/runtime/srfi-1.scm

index dbf70f24ac9ed427d7c70fd5a8b2bad894b0d421..8198d06b5c1bb53cf768eb46b046fb9f425b60f6 100644 (file)
@@ -331,18 +331,18 @@ USA.
 
 (define (length+ x)
   (let lp ((x x) (lag x) (len 0))
-    (if (pair? x)
+    (if (null-list? x 'length+)
+       len
        (let ((x (cdr x))
              (len (fix:+ len 1)))
-         (if (pair? x)
+         (if (null-list? x 'length+)
+             len
              (let ((x (cdr x))
                    (lag (cdr lag))
                    (len (fix:+ len 1)))
                (if (eq? x lag)
                    #f
-                   (lp x lag len)))
-             len))
-       len)))
+                   (lp x lag len))))))))
 
 (define (reverse l)
   (append-reverse l '()))