Added &OPTIONAL to DESTRUCTURING-BIND. Currently it's just ignored (next step woudl...
[clinton/parenscript.git] / src / lib / ps-macro-lib.lisp
index 78af135..56b88dc 100644 (file)
                     (atom (second bindings)))
                (bind-rest (second bindings))
                (error "~a is invalid in destructuring list." bindings)))
+          ((eq (car bindings) '&optional)
+           (destructuring-wrap arr n (cdr bindings) body :setf? setf?))
           (t (let ((var (car bindings))
                    (inner-body (destructuring-wrap arr (1+ n) (cdr bindings) body :setf? setf?)))
                (cond ((null var) inner-body)