Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • gerd's avatar
    76272c4e
    Add a deftransform for extracting slot vectors. This can be done · 76272c4e
    gerd authored
    	because redefinitions from funcallable instances to instances
    	aren't required to work, and cannot be made to work.
    
    	* src/pcl/low.lisp (fsc-instance-wrapper, fsc-instance-slots)
    	(fsc-instance-hash): Moved here from fin.lisp.
    	(pcl::pcl-instance-p) <deftransform>: Use info-standard-class-p
    	and info-funcallable-standard-class-p.
    	(pcl::slot-vector-or-nil) <deftransform>: New.
    	(slot-vector-or-nil): New function.
    
    	* src/pcl/info.lisp (info-std-class-p): Removed.
    	(info-standard-class-p, info-funcallable-standard-class-p):
    	New functions.
    
    	* src/pcl/fin.lisp (fsc-instance-wrapper, fsc-instance-slots)
    	(fsc-instance-hash): Moved to low.lisp.
    
    	* src/pcl/vector.lisp (pv-binding1): Use slot-vector-or-nil
    	instead of get-slots-or-nil.
    76272c4e
    History
    Add a deftransform for extracting slot vectors. This can be done
    gerd authored
    	because redefinitions from funcallable instances to instances
    	aren't required to work, and cannot be made to work.
    
    	* src/pcl/low.lisp (fsc-instance-wrapper, fsc-instance-slots)
    	(fsc-instance-hash): Moved here from fin.lisp.
    	(pcl::pcl-instance-p) <deftransform>: Use info-standard-class-p
    	and info-funcallable-standard-class-p.
    	(pcl::slot-vector-or-nil) <deftransform>: New.
    	(slot-vector-or-nil): New function.
    
    	* src/pcl/info.lisp (info-std-class-p): Removed.
    	(info-standard-class-p, info-funcallable-standard-class-p):
    	New functions.
    
    	* src/pcl/fin.lisp (fsc-instance-wrapper, fsc-instance-slots)
    	(fsc-instance-hash): Moved to low.lisp.
    
    	* src/pcl/vector.lisp (pv-binding1): Use slot-vector-or-nil
    	instead of get-slots-or-nil.