X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fdefstruct.lisp;h=8a0eb70cd0c73b347abdde6dcee2951b6f39262a;hb=148e3820ad314a9b59d0133c1d60eaac4af9118b;hp=de543687f0c6a6515af459b7ace498eb6c8cab9d;hpb=a23903deaf6348cc088eb0f992a99cdba0a37d66;p=sbcl.git diff --git a/src/code/defstruct.lisp b/src/code/defstruct.lisp index de54368..8a0eb70 100644 --- a/src/code/defstruct.lisp +++ b/src/code/defstruct.lisp @@ -485,7 +485,7 @@ (name (dd-name dd))) (case (first option) (:conc-name - (destructuring-bind (conc-name) args + (destructuring-bind (&optional conc-name) args (setf (dd-conc-name dd) (if (symbolp conc-name) conc-name @@ -1289,6 +1289,7 @@ ;;; Create a default (non-BOA) keyword constructor. (defun create-keyword-constructor (defstruct creator) + (declare (type function creator)) (collect ((arglist (list '&key)) (types) (vals)) @@ -1305,6 +1306,7 @@ ;;; Given a structure and a BOA constructor spec, call CREATOR with ;;; the appropriate args to make a constructor. (defun create-boa-constructor (defstruct boa creator) + (declare (type function creator)) (multiple-value-bind (req opt restp rest keyp keys allowp auxp aux) (parse-lambda-list (second boa)) (collect ((arglist)