477 |
(a a a a a)) |
(a a a a a)) |
478 |
|
|
479 |
|
|
480 |
|
;;; Tests of evaluation order |
481 |
|
|
482 |
|
(deftest fill.order.1 |
483 |
|
(let ((i 0) x y (a (copy-seq #(a a a a)))) |
484 |
|
(values |
485 |
|
(fill (progn (setf x (incf i)) a) |
486 |
|
(progn (setf y (incf i)) 'z)) |
487 |
|
i x y)) |
488 |
|
#(z z z z) 2 1 2) |
489 |
|
|
490 |
|
(deftest fill.order.2 |
491 |
|
(let ((i 0) x y z w (a (copy-seq #(a a a a)))) |
492 |
|
(values |
493 |
|
(fill (progn (setf x (incf i)) a) |
494 |
|
(progn (setf y (incf i)) 'z) |
495 |
|
:start (progn (setf z (incf i)) 1) |
496 |
|
:end (progn (setf w (incf i)) 3)) |
497 |
|
i x y z w)) |
498 |
|
#(a z z a) 4 1 2 3 4) |
499 |
|
|
500 |
|
(deftest fill.order.3 |
501 |
|
(let ((i 0) x y z w (a (copy-seq #(a a a a)))) |
502 |
|
(values |
503 |
|
(fill (progn (setf x (incf i)) a) |
504 |
|
(progn (setf y (incf i)) 'z) |
505 |
|
:end (progn (setf z (incf i)) 3) |
506 |
|
:start (progn (setf w (incf i)) 1)) |
507 |
|
i x y z w)) |
508 |
|
#(a z z a) 4 1 2 3 4) |
509 |
|
|
510 |
|
(deftest fill.order.4 |
511 |
|
(let ((i 0) x y z p q r s w (a (copy-seq #(a a a a)))) |
512 |
|
(values |
513 |
|
(fill (progn (setf x (incf i)) a) |
514 |
|
(progn (setf y (incf i)) 'z) |
515 |
|
:end (progn (setf z (incf i)) 3) |
516 |
|
:end (progn (setf p (incf i)) 1) |
517 |
|
:end (progn (setf q (incf i)) 1) |
518 |
|
:end (progn (setf r (incf i)) 1) |
519 |
|
:start (progn (setf s (incf i)) 1) |
520 |
|
:start (progn (setf w (incf i)) 0)) |
521 |
|
i x y z p q r s w)) |
522 |
|
#(a z z a) 8 1 2 3 4 5 6 7 8) |