git » jacl.git » commit 4a1032f

DO was actually DO* (initial values were sequential)

author Alan Dipert
2021-07-24 06:42:38 UTC
committer Alan Dipert
2021-07-24 06:42:38 UTC
parent b089e56567170e04428430a075b5b36d3bb79b79

DO was actually DO* (initial values were sequential)

boot.lisp +5 -5
jacl-tests.lisp +7 -7

diff --git a/boot.lisp b/boot.lisp
index b6c4b23..4050fe8 100644
--- a/boot.lisp
+++ b/boot.lisp
@@ -489,8 +489,8 @@
             #'eq
             x)))
 
-(%export 'do)
-(defmacro do (step-forms &rest more)
+(%export 'do*)
+(defmacro do* (step-forms &rest more)
   (let* ((end-test-and-result-forms (car more))
          (end-test-form             (car end-test-and-result-forms))
          (result-forms              (cdr end-test-and-result-forms))
@@ -517,9 +517,9 @@
 (%export 'dolist)
 (defmacro dolist (binding &rest body)
   (let ((list# (gensym "list")))
-    `(do ((,(car binding) nil (car ,list#))
-          (,list# ,(cadr binding) (cdr ,list#)))
-         ((not ,list#) ,(caddr binding))
+    `(do* ((,(car binding) nil (car ,list#))
+           (,list# ,(cadr binding) (cdr ,list#)))
+          ((not ,list#) ,(caddr binding))
        ,@body)))
 
 ;; designators
diff --git a/jacl-tests.lisp b/jacl-tests.lisp
index 80b4d90..d5c5beb 100644
--- a/jacl-tests.lisp
+++ b/jacl-tests.lisp
@@ -146,15 +146,15 @@
 
 (in-module "Iteration")
 
-(deftest "DO"
-  (do ((i 0 (1+ i))
-       (k 5))
-      ((eql i 5)
-       (assert= i 5)
-       (assert= k 0))
+(deftest "DO*"
+  (do* ((i 0 (1+ i))
+        (k 5))
+       ((eql i 5)
+        (assert= i 5)
+        (assert= k 0))
     (setq k (1- k))))
 
-(deftest "DO*")
+(deftest "DO")
 
 (deftest "DOLIST"
   (let ((x 0))