;; then use CLASS-DIRECT-SLOTS. -- CSR, 2002-06-07
(eval defclass-form)
(let* ((include (or (and direct-superclasses
- (fix-super (car direct-superclasses)))
+ (find-class (car direct-superclasses) nil))
(and (not (eq name 'structure-object))
*the-class-structure-object*)))
(defstruct-form (make-structure-class-defstruct-form
(maplist (lambda (sublist)
(let ((option-name (first (pop sublist))))
(when (member option-name sublist :key #'first)
- (error "Multiple ~S options in DEFCLASS ~S."
- option-name class-name))))
+ (error 'simple-program-error
+ :format-control "Multiple ~S options in DEFCLASS ~S."
+ :format-arguments (list option-name class-name)))))
options)
(let (metaclass
default-initargs
(:metaclass
(let ((maybe-metaclass (second option)))
(unless (and maybe-metaclass (legal-class-name-p maybe-metaclass))
- (error "~@<The value of the :metaclass option (~S) ~
+ (error 'simple-program-error
+ :format-control "~@<The value of the :metaclass option (~S) ~
is not a legal class name.~:@>"
- maybe-metaclass))
+ :format-arguments (list maybe-metaclass)))
(setf metaclass maybe-metaclass)))
(:default-initargs
(let (initargs arg-names)
(!bootstrap-get-slot 'class class 'name))
(defun early-class-precedence-list (class)
- (!bootstrap-get-slot 'pcl-class class 'class-precedence-list))
+ (!bootstrap-get-slot 'pcl-class class '%class-precedence-list))
(defun early-class-name-of (instance)
(early-class-name (class-of instance)))