Forked from
cmucl / cmucl
Source project has a limited visibility.
-
gerd authored
* src/pcl/slots.lisp (slot-value-using-class) (setf slot-boundp-using-class) <condition-class>: New methods. * src/pcl/std-class.lisp (initialize-internal-slot-functions): Use slot-name->class-table. (shared-initialize): Call update-pv-table-cache-info. (compute-slots) <around condition-class>: New method. * src/pcl/slots-boot.lisp (ensure-accessor): Use slot-name->class-table. (get-optimized-std-accessor-method-function) (get-optimized-std-slot-value-using-class-method-function): Handle condition classes. * src/pcl/methods.lisp (*condition-slot-value-using-class-method*) (*condition-setf-slot-value-using-class-method*) (*condition-slot-boundp-using-class-method*): New vars. (condition-svuc-method, set-condition-svuc-method): New functions. (update-std-or-str-methods): Handle conditions. * src/pcl/generic-functions.lisp (condition-class-p): New gf. * src/pcl/dfun.lisp (make-accessor-table): Use slot-name->class-table. * src/pcl/defs.lisp (*the-condition-class*): New var. (slot-name->class-table): New function. (condition): New class. (*early-class-predicates*): Add condition-class-p. * src/pcl/braid.lisp (bootstrap-meta-braid) (bootstrap-initialize-class): Add condition-class stuff. (bootstrap-make-slot-definitions): Simplified. (bootstrap-make-slot-definition): Use slot-name->class-table.
gerd authored* src/pcl/slots.lisp (slot-value-using-class) (setf slot-boundp-using-class) <condition-class>: New methods. * src/pcl/std-class.lisp (initialize-internal-slot-functions): Use slot-name->class-table. (shared-initialize): Call update-pv-table-cache-info. (compute-slots) <around condition-class>: New method. * src/pcl/slots-boot.lisp (ensure-accessor): Use slot-name->class-table. (get-optimized-std-accessor-method-function) (get-optimized-std-slot-value-using-class-method-function): Handle condition classes. * src/pcl/methods.lisp (*condition-slot-value-using-class-method*) (*condition-setf-slot-value-using-class-method*) (*condition-slot-boundp-using-class-method*): New vars. (condition-svuc-method, set-condition-svuc-method): New functions. (update-std-or-str-methods): Handle conditions. * src/pcl/generic-functions.lisp (condition-class-p): New gf. * src/pcl/dfun.lisp (make-accessor-table): Use slot-name->class-table. * src/pcl/defs.lisp (*the-condition-class*): New var. (slot-name->class-table): New function. (condition): New class. (*early-class-predicates*): Add condition-class-p. * src/pcl/braid.lisp (bootstrap-meta-braid) (bootstrap-initialize-class): Add condition-class stuff. (bootstrap-make-slot-definitions): Simplified. (bootstrap-make-slot-definition): Use slot-name->class-table.