121 |
(push #'(lambda () i) x)))) |
(push #'(lambda () i) x)))) |
122 |
(5 5 5 5 5)) |
(5 5 5 5 5)) |
123 |
|
|
124 |
|
;;; Scope of free declarations |
125 |
|
|
126 |
|
(deftest do.16 |
127 |
|
(block done |
128 |
|
(let ((x :bad)) |
129 |
|
(declare (special x)) |
130 |
|
(let ((x :good)) |
131 |
|
(do ((i (return-from done x) 0)) |
132 |
|
(t nil) |
133 |
|
(declare (special x)))))) |
134 |
|
:good) |
135 |
|
|
136 |
|
(deftest do.17 |
137 |
|
(block done |
138 |
|
(let ((x :good)) |
139 |
|
(declare (special x)) |
140 |
|
(let ((x :bad)) |
141 |
|
(do ((i 0 (return-from done x))) |
142 |
|
(nil nil) |
143 |
|
(declare (special x)))))) |
144 |
|
:good) |
145 |
|
|
146 |
|
(deftest do.18 |
147 |
|
(block done |
148 |
|
(let ((x :good)) |
149 |
|
(declare (special x)) |
150 |
|
(let ((x :bad)) |
151 |
|
(do ((i 0 0)) |
152 |
|
((return-from done x) nil) |
153 |
|
(declare (special x)))))) |
154 |
|
:good) |
155 |
|
|
156 |
|
(deftest do.19 |
157 |
|
(let ((x :good)) |
158 |
|
(declare (special x)) |
159 |
|
(let ((x :bad)) |
160 |
|
(do () (t x) |
161 |
|
(declare (special x))))) |
162 |
|
:good) |
163 |
|
|
164 |
(def-macro-test do.error.1 |
(def-macro-test do.error.1 |
165 |
(do ((i 0 (1+ i))) ((= i 5) 'a))) |
(do ((i 0 (1+ i))) ((= i 5) 'a))) |