diff --git a/ansi-tests/loop1.lsp b/ansi-tests/loop1.lsp index f68c7ec00a0fed5caefafa4fc44f8d55f53df9a1..8b40115b8b1653d2dfb8e52e0b5bd43acd5ad76d 100644 --- a/ansi-tests/loop1.lsp +++ b/ansi-tests/loop1.lsp @@ -254,3 +254,43 @@ (deftest loop.1.49 (loop for i from 1 to 5 for c upfrom #c(0 1) by 2 collect c) (#c(0 1) #c(2 1) #c(4 1) #c(6 1) #c(8 1))) + +;;; The variable in the loop for-as-arithmetic clause +;;; can be a d-var-spec, so 'NIL' should mean don't bind anything + +(deftest loop.1.50 + (let ((i 0)) + (loop for nil from 10 to 15 collect (incf i))) + (1 2 3 4 5 6)) + +(deftest loop.1.51 + (let ((i 0)) + (loop for nil from 10 below 15 collect (incf i))) + (1 2 3 4 5)) + +(deftest loop.1.52 + (loop for nil from 10 to 0 collect 'a) + nil) + +(deftest loop.1.53 + (let ((i 0)) + (loop for nil from 0 to 10 by 2 collect (incf i))) + (1 2 3 4 5 6)) + +(deftest loop.1.54 + (let ((i 0)) + (loop for nil from 1 to 4 + for nil from 1 to 10 collect (incf i))) + (1 2 3 4)) + +(deftest loop.1.55 + (let ((i 0)) + (loop for nil from 5 downto 0 collect (incf i))) + (1 2 3 4 5 6)) + +(deftest loop.1.56 + (let ((i 0)) + (loop for nil from 5 above 0 collect (incf i))) + (1 2 3 4 5)) + +