Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
1144015f
by Raymond Toy at 2021-01-10T04:33:03+00:00
-
5b5082c6
by Raymond Toy at 2021-01-10T04:33:04+00:00
1 changed file:
Changes:
... | ... | @@ -995,7 +995,10 @@ collected result will be returned as the value of the LOOP." |
995 | 995 |
(if crocks
|
996 | 996 |
(let ((*ignores* ()))
|
997 | 997 |
(declare (special *ignores*))
|
998 |
- `((destructuring-bind ,(subst-gensyms-for-nil (car crocks))
|
|
998 |
+ ;; Destructuring in loop doesn't require that the values be
|
|
999 |
+ ;; available. The missing elements are filled with NIL. So,
|
|
1000 |
+ ;; make everything &optional
|
|
1001 |
+ `((destructuring-bind (&optional ,@(subst-gensyms-for-nil (car crocks)))
|
|
999 | 1002 |
,(cadr crocks)
|
1000 | 1003 |
(declare (ignore ,@*ignores*))
|
1001 | 1004 |
,@(loop-build-destructuring-bindings (cddr crocks) forms))))
|