159 |
x) |
x) |
160 |
3) |
3) |
161 |
|
|
162 |
|
;;; Test that the subplaces of a VALUES place can be |
163 |
|
;;; complex, and that the various places' subforms are |
164 |
|
;;; evaluated in the correct (left-to-right) order. |
165 |
|
|
166 |
|
(deftest setf-values.4 |
167 |
|
(let ((x (list 'a 'b))) |
168 |
|
(setf (values (car x) (cadr x)) (values 1 2)) |
169 |
|
x) |
170 |
|
(1 2)) |
171 |
|
|
172 |
|
(deftest setf-values.5 |
173 |
|
(let ((a (vector nil nil)) |
174 |
|
(i 0) |
175 |
|
x y z) |
176 |
|
(setf (values (aref a (progn (setf x (incf i)) 0)) |
177 |
|
(aref a (progn (setf y (incf i)) 1))) |
178 |
|
(progn |
179 |
|
(setf z (incf i)) |
180 |
|
(values 'foo 'bar))) |
181 |
|
(values a i x y z)) |
182 |
|
#(foo bar) 3 1 2 3) |
183 |
|
|
184 |
;;; Section 5.1.2.4 |
;;; Section 5.1.2.4 |
185 |
(deftest setf-the.1 |
(deftest setf-the.1 |
186 |
(let ((x 1)) |
(let ((x 1)) |
188 |
x) |
x) |
189 |
2) |
2) |
190 |
|
|
191 |
|
(deftest setf-the.2 |
192 |
|
(let ((x (list 'a))) |
193 |
|
(values |
194 |
|
(setf (the symbol (car x)) 'b) |
195 |
|
x)) |
196 |
|
b (b)) |
197 |
|
|
198 |
;;; Section 5.1.2.5 |
;;; Section 5.1.2.5 |
199 |
(deftest setf-apply.1 |
(deftest setf-apply.1 |
200 |
(let ((x (vector 0 1 2 3 4 5))) |
(let ((x (vector 0 1 2 3 4 5))) |