diff --git a/src/clos/boot.lsp b/src/clos/boot.lsp index c074eb0f7..2f2c35f87 100644 --- a/src/clos/boot.lsp +++ b/src/clos/boot.lsp @@ -20,7 +20,7 @@ (let ((class (si:allocate-raw-instance nil metaclass 12))) (unless metaclass (si:instance-class-set class class)) - (setf (class-name class) name + (setf (class-id class) name (class-direct-superclasses class) nil (class-direct-subclasses class) nil (class-slots class) nil @@ -142,4 +142,10 @@ (defmethod slot-exists-p ((instance t) slot-name) nil) +(defmethod class-name ((class class)) + (class-id class)) + +(defmethod (setf class-name) (new-value (class class)) + (setf (class-id class) new-value)) + ;;; ---------------------------------------------------------------------- diff --git a/src/clos/fixup.lsp b/src/clos/fixup.lsp index 1d8f430ac..6af8b99e0 100644 --- a/src/clos/fixup.lsp +++ b/src/clos/fixup.lsp @@ -16,7 +16,7 @@ (let* ((method-name (car method-info)) (gfun (fdefinition method-name)) (standard-method-class (find-class 'standard-method))) - (when (eq 'T (class-name (si:instance-class gfun))) + (when (eq 'T (class-id (si:instance-class gfun))) ;; complete the generic function object (si:instance-class-set gfun (find-class 'STANDARD-GENERIC-FUNCTION)) (si::instance-sig-set gfun) diff --git a/src/clos/kernel.lsp b/src/clos/kernel.lsp index bfc922225..a76bc7df3 100644 --- a/src/clos/kernel.lsp +++ b/src/clos/kernel.lsp @@ -46,7 +46,7 @@ (eval-when (compile eval) (defparameter +class-slots+ - '((name :initarg :name :initform nil :accessor class-name) + '((name :initarg :name :initform nil :accessor class-id) (direct-superclasses :initarg :direct-superclasses :accessor class-direct-superclasses) (direct-subclasses :initform nil :accessor class-direct-subclasses) diff --git a/src/cmp/sysfun.lsp b/src/cmp/sysfun.lsp index 819e85b56..0b001f9e5 100644 --- a/src/cmp/sysfun.lsp +++ b/src/cmp/sysfun.lsp @@ -1091,7 +1091,7 @@ type_of(#0)==t_bitvector")) #+clos (clos::ensure-class clos::install-method clos::standard-instance-set - clos::class-name + clos::class-id clos::class-direct-superclasses clos::class-direct-subclasses clos::class-slots