(see usage of CONTINUATION-ASSERTED-TYPE in USE-RESULT-CONSTRAINTS)
+234:
+ clocc-ansi-test :EXCEPSIT-LEGACY-1277 fails in sbcl-0.7.10.33
+
+ In sbcl-0.7.10.33 (but not ca. 0.7.10.29),
+ (defclass foo54 () ())
+ (reinitialize-instance (make-instance 'foo54) :dummy 0)
+ does not signal an error. ANSI's definition of REINITIALIZE-INSTANCE
+ says
+ The system-supplied primary method for REINITIALIZE-INSTANCE signals
+ an error if an initarg is supplied that is not declared as valid.
+ and defines what that means in
+ 7.1.2 Declaring the Validity of Initialization Arguments
+ In effect, even though the signature shown for the REINITIALIZE-INSTANCE
+ gf in its ANSI definition page is &ALLOW-OTHER-KEYS, and that might
+ make it look as though anything goes, the gf+methods ensemble is required
+ to have more complicated &KEY-checking behavior than that.
+
DEFUNCT CATEGORIES OF BUGS
IR1-#:
These labels were used for bugs related to the old IR1 interpreter.
:format-control "invalid function name: ~S"
:format-arguments (list name))))
-;;; Given a function name, return the name for the BLOCK which
-;;; encloses its body (e.g. in DEFUN, DEFINE-COMPILER-MACRO, or FLET).
+;;; Given a function name, return the symbol embedded in it.
+;;;
+;;; The ordinary use for this operator (and the motivation for the
+;;; name of this operator) is to convert from a function name to the
+;;; name of the BLOCK which encloses its body.
+;;;
+;;; Occasionally the operator is useful elsewhere, where the operator
+;;; name is less mnemonic. (Maybe it should be changed?)
(declaim (ftype (function ((or symbol cons)) symbol) fun-name-block-name))
(defun fun-name-block-name (fun-name)
(cond ((symbolp fun-name)
(global-var
(case (global-var-kind leaf)
(:global-function (let ((name (leaf-source-name leaf)))
- (when (consp name)
- (aver (eq (first name) 'setf))
- (setq name (second name)))
- (eq (symbol-package name)
- *cl-package*))))))))
+ (eq (symbol-package (fun-name-block-name name))
+ *cl-package*))))))))
;;; If we have a non-set LET var with a single use, then (if possible)
;;; replace the variable reference's CONT with the arg continuation.
:EXCEPSIT-LEGACY-1201
:EXCEPSIT-LEGACY-1269
:EXCEPSIT-LEGACY-1273
+ :EXCEPSIT-LEGACY-1277
:EXCEPSIT-LEGACY-1327
:EXCEPSIT-LEGACY-1357
:EXCEPSIT-LEGACY-1369