0.pre8.100:
[sbcl.git] / src / code / defboot.lisp
index 6a38a96..4f5ff75 100644 (file)
   #+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)
 \f
 ;;;; DEFVAR and DEFPARAMETER
      (declaim (special ,var))
      ,@(when valp
         `((unless (boundp ',var)
-            (setq ,var ,val))))
+            (set ',var ,val))))
      ,@(when docp
         `((setf (fdocumentation ',var 'variable) ',doc )))
      ',var))
   string for the parameter."
   `(progn
      (declaim (special ,var))
-     (setq ,var ,val)
+     (set ',var ,val)
      ,@(when docp
         `((setf (fdocumentation ',var 'variable) ',doc)))
      ',var))
                                        &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
+                       ))