Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • gerd's avatar
    f47f1175
    More SLOT-VALUE etc. on conditions. · f47f1175
    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.
    f47f1175
    History
    More SLOT-VALUE etc. on conditions.
    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.