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))))
 |