X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefboot.lisp;h=4f5ff75d61b3ca86003a7ce93057689356458ec6;hb=5d0643d3b70aade43037e8b7cdf39b7e12f5d3fd;hp=6a38a9692731f0989a83499bb7a82b348c8a69b0;hpb=ec735ab75335c1744b39190314142a7e6f1ecdb3;p=sbcl.git diff --git a/src/code/defboot.lisp b/src/code/defboot.lisp index 6a38a96..4f5ff75 100644 --- a/src/code/defboot.lisp +++ b/src/code/defboot.lisp @@ -213,10 +213,7 @@ #+nil (setf (%fun-name def) name) (when doc - ;; FIXME: This should use shared SETF-name-parsing logic. - (if (and (consp name) (eq (first name) 'setf)) - (setf (fdocumentation (second name) 'setf) doc) - (setf (fdocumentation (the symbol name) 'function) doc))) + (setf (fdocumentation name 'function) doc)) name) ;;;; DEFVAR and DEFPARAMETER @@ -231,7 +228,7 @@ (declaim (special ,var)) ,@(when valp `((unless (boundp ',var) - (setq ,var ,val)))) + (set ',var ,val)))) ,@(when docp `((setf (fdocumentation ',var 'variable) ',doc ))) ',var)) @@ -245,7 +242,7 @@ string for the parameter." `(progn (declaim (special ,var)) - (setq ,var ,val) + (set ',var ,val) ,@(when docp `((setf (fdocumentation ',var 'variable) ',doc))) ',var)) @@ -356,3 +353,30 @@ &body body) (declare (ignore declarations macros symbol-macros body)) `#',whole) + +;;; this eliminates a whole bundle of unknown function STYLE-WARNINGs +;;; when cross-compiling. It's not critical for behaviour, but is +;;; aesthetically pleasing, except inasmuch as there's this list of +;;; magic functions here. -- CSR, 2003-04-01 +#+sb-xc-host +(sb!xc:proclaim '(ftype (function * *) + ;; functions appearing in fundamental defining + ;; macro expansions: + %compiler-deftype + %defun + %defsetf + sb!c:%compiler-defun + sb!c::%define-symbol-macro + sb!c::%defconstant + sb!c::%define-compiler-macro + sb!c::%defmacro + sb!kernel::%compiler-defstruct + sb!kernel::%compiler-define-condition + sb!kernel::%defstruct + sb!kernel::%define-condition + ;; miscellaneous functions commonly appearing + ;; as a result of macro expansions or compiler + ;; transformations: + sb!int:find-undeleted-package-or-lose ; IN-PACKAGE + sb!kernel::arg-count-error ; PARSE-DEFMACRO + ))