git » jacl.git » commit 378938c

DO cleanup & juicier test

author Alan Dipert
2021-07-24 06:06:53 UTC
committer Alan Dipert
2021-07-24 06:06:53 UTC
parent 082854ad61043b148ed7d03ae1f2407998c8705d

DO cleanup & juicier test

boot.lisp +2 -18
jacl-tests.lisp +6 -4

diff --git a/boot.lisp b/boot.lisp
index f1bb5b0..323720c 100644
--- a/boot.lisp
+++ b/boot.lisp
@@ -476,21 +476,6 @@
       "NIL"
       (\. symbol |name|)))
 
-(defun %parse-step-forms (step-forms)
-  (%js "Cons.fromArray(~{})"
-       (%js "List.toArray(~{}).flatMap(~{})"
-            step-forms
-            (lambda (step-form idx arr)
-              (if (car step-form)
-                  (list (car step-form)
-                        (cadr step-form)
-                        (or (caddr step-form)
-                            (car step-form)))
-                  (list))))))
-
-;; (\. (%js "console") (|log| (%js "prstr(~{})" (%parse-step-forms '((x 1) (y 1 (1+ y)))))))
-;; (\. (%js "console") (|log| #'car))
-
 (defun %mapcar (function list)
   (%js "Cons.fromArray(~{})"
        (%js "List.toArray(~{}).map(x => ~{}(x))"
@@ -510,16 +495,15 @@
          (end-test-form             (car end-test-and-result-forms))
          (result-forms              (cdr end-test-and-result-forms))
          (body                      (cdr more))
-         (parsed-step-forms         (%parse-step-forms step-forms))
          (begin#                    (gensym "begin"))
          (bindings                  (%mapcar (lambda (step-form)
                                                (list (car step-form) (cadr step-form)))
-                                             parsed-step-forms))
+                                             step-forms))
          (assignments               (%remove nil
                                              (%mapcar (lambda (step-form)
                                                         (when (caddr step-form)
                                                           `(setq ,(car step-form) ,(caddr step-form))))
-                                                      parsed-step-forms)))
+                                                      step-forms)))
          (end#                      (gensym "end")))
     `(block nil
        (let ,bindings
diff --git a/jacl-tests.lisp b/jacl-tests.lisp
index 056e3c4..764cdb9 100644
--- a/jacl-tests.lisp
+++ b/jacl-tests.lisp
@@ -144,13 +144,15 @@
   (assert= (function +) (function +) "FUNCTION")
   (assert= (function +) (symbol-function '+) "SYMBOL-FUNCTION"))
 
-
 (in-module "Iteration")
 
 (deftest "DO"
-  (do ((i 0 (1+ i)))
-      ((eql i 5) (assert= i 5))
-    (return i)))
+  (do ((i 0 (1+ i))
+       (k 5))
+      ((eql i 5)
+       (assert= i 5)
+       (assert= k 0))
+    (setq k (1- k))))
 
 (start-tests)