(defun walk-keyword-argument (form parent env)
(destructuring-bind (name &optional default-value supplied-p-parameter)
(ensure-list form)
(let ((name (if (consp name)
(second name)
name))
(keyword (if (consp name)
(first name)
nil)))
(with-form-object (arg keyword-function-argument-form
:parent parent
:source form
:name name
:keyword-name keyword
:supplied-p-parameter supplied-p-parameter)
(setf (default-value arg) (walk-form default-value arg env))))))Source Context