standard. (lp#1203585, thanks to Jan Moringen)
* bug fix: silence a note from RESTART-CASE under high-SPEED optimization
settings. (lp#1023721)
+ * bug fix: getting the order of arguments to
+ SB-MOP:SET-FUNCALLABLE-INSTANCE-FUNCTION wrong produces a sensible error
+ rather than a failed AVER. (reported by Paul Nathan)
changes in sbcl-1.1.11 relative to sbcl-1.1.10:
* enhancement: support building the manual under texinfo version 5.
(import 'sb-kernel:funcallable-instance-p)
(defun set-funcallable-instance-function (fin new-value)
- (declare (type function new-value))
- (aver (funcallable-instance-p fin))
+ (declare (type function new-value)
+ ;; KLUDGE: it might be nice to restrict
+ ;; SB-MOP:SET-FUNCALLABLE-INSTANCE-FUNCTION to operate only
+ ;; on generalized instances of
+ ;; SB-MOP:FUNCALLABLE-STANDARD-OBJECT; at present, even
+ ;; PCL's internal use of SET-FUNCALLABLE-INSTANCE-FUNCTION
+ ;; doesn't obey this restriction.
+ (type funcallable-instance fin))
(setf (funcallable-instance-fun fin) new-value))
;;; FIXME: these macros should just go away. It's not clear whether
((instance :initform 2)
(class :allocation :class :initform :ok))))
(slot-value o 'instance))))))
+
+(defgeneric definitely-a-funcallable-instance (x))
+(with-test (:name (set-funcallable-instance-function :typechecking))
+ (assert (raises-error? (set-funcallable-instance-function
+ (lambda (y) nil)
+ #'definitely-a-funcallable-instance)
+ type-error)))
\f
;;;; success