0.6.11.24:
[sbcl.git] / src / code / macros.lisp
index 8fb9125..d4731bb 100644 (file)
@@ -28,7 +28,7 @@
   #!+sb-doc
   "Signals an error if the value of test-form is nil. Continuing from this
    error using the CONTINUE restart will allow the user to alter the value of
-   some locations known to SETF, starting over with test-form. Returns nil."
+   some locations known to SETF, starting over with test-form. Returns NIL."
   `(do () (,test-form)
      (assert-error ',test-form ',places ,datum ,@arguments)
      ,@(mapcar #'(lambda (place)
 
 (defmacro-mundanely defconstant (name value &optional documentation)
   #!+sb-doc
-  "For defining global constants. The DEFCONSTANT says that the value
-  is constant and may be compiled into code. If the variable already has
+  "For defining global constants. DEFCONSTANT says that the value is
+  constant and may be compiled into code. If the variable already has
   a value, and this is not EQL to the init, the code is not portable
   (undefined behavior). The third argument is an optional documentation
   string for the variable."
   `(eval-when (:compile-toplevel :load-toplevel :execute)
      (sb!c::%defconstant ',name ,value ',documentation)))
 
-;;; (to avoid "undefined function" warnings when cross-compiling)
-(sb!xc:proclaim '(ftype function sb!c::%defconstant))
-
 ;;; the guts of DEFCONSTANT
 (defun sb!c::%defconstant (name value doc)
-  (/show "doing %DEFCONSTANT" name value doc)
   (unless (symbolp name)
     (error "constant name not a symbol: ~S" name))
   (about-to-modify name)
   (let ((kind (info :variable :kind name)))
     (case kind
       (:constant
-       ;; Note 1: This behavior (discouraging any non-EQL
-       ;; modification) is unpopular, but it is specified by ANSI
-       ;; (i.e. ANSI says a non-EQL change has undefined
-       ;; consequences). If people really want bindings which are
-       ;; constant in some sense other than EQL, I suggest either just
-       ;; using DEFVAR (which is usually appropriate, despite the
-       ;; un-mnemonic name), or defining something like
-       ;; SB-INT:DEFCONSTANT-EQX (which is occasionally more
-       ;; appropriate). -- WHN 2000-11-03
+       ;; Note: This behavior (discouraging any non-EQL modification)
+       ;; is unpopular, but it is specified by ANSI (i.e. ANSI says a
+       ;; non-EQL change has undefined consequences). If people really
+       ;; want bindings which are constant in some sense other than
+       ;; EQL, I suggest either just using DEFVAR (which is usually
+       ;; appropriate, despite the un-mnemonic name), or defining
+       ;; something like SB-INT:DEFCONSTANT-EQX (which is occasionally
+       ;; more appropriate). -- WHN 2000-11-03
        (unless (eql value
                    (info :variable :constant-value name))
         (cerror "Go ahead and change the value."
 (defun sb!c::%define-compiler-macro (name definition lambda-list doc)
   ;; FIXME: Why does this have to be an interpreted function? Shouldn't
   ;; it get compiled?
-  (assert (sb!eval:interpreted-function-p definition))
+  (aver (sb!eval:interpreted-function-p definition))
   (setf (sb!eval:interpreted-function-name definition)
        (format nil "DEFINE-COMPILER-MACRO ~S" name))
   (setf (sb!eval:interpreted-function-arglist definition) lambda-list)
         (cond
          ,@(nreverse clauses)
          ,@(if errorp
-               `((t (error 'sb!conditions::case-failure
+               `((t (error 'case-failure
                            :name ',name
                            :datum ,keyform-value
                            :expected-type ',expected-type