Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • gerd's avatar
    1e88e890
    * pcl/boot.lisp (parse-defmethod): Rewritten for clarity. Signal · 1e88e890
    gerd authored
    	an error for most cases of null qualifiers.
    
    
    	Improve DESCRIBE on generic functions.
    
    	* pcl/env.lisp (method-specialized-lambda-list): New function.
    	(describe-object): Use it, and use generic-function-lambda-list.
    
    	* pcl/methods.lisp (generic-function-pretty-arglist)
    	(method-pretty-arglist): Remove.
    
    	* pcl/generic-functions.lisp (generic-function-pretty-arglist)
    	(method-pretty-arglist): Remove.
    
    
    	AMOP compliance fixes: Reintroduce class METAOBJECT, make
    	GENERIC-FUNCTION a subclass of STANDARD-OBJECT, remove STD-OBJECT.
    	This basically reverts a change of dtc from 1998.
    
    	* code/describe.lisp (describe-instance): Check for
    	standard-object, not pcl::std-object.
    
    	* pcl/pkg.lisp ("PCL", "CLOS-MOP"): Export more stuff.
    
    	* pcl/generic-functions.lisp: Remove some of the useless comments.
    
    	* pcl/slots.lisp (slot-value-using-class, setf slot-value-using-class)
    	(slot-boundp-using-class, slot-makunbound-using-class): Specialize
    	on standard-object.
    
    	* pcl/slots-boot.lisp (get-optimized-std-accessor-method-function):
    	Remove an std-class-p case.
    
    	* pcl/methods.lisp (update-std-or-str-methods): Use
    	standard-object instead of std-object.
    	(mec-all-classes-internal): Use *the-class-standard-object*
    	instead of *the-class-std-object*.
    	(class-test): Don't consider *the-class-std-object*.
    
    	* pcl/low.lisp (pcl-instance-p) [deftransform]: Use
    	standard-object instead of std-object.
    
    	* pcl/init.lisp (update-instance-for-different-class)
    	(update-instance-for-redefined-class): Specialize on
    	standard-object instead of std-object.
    
    	* pcl/dfun.lisp (accessor-values-internal, make-accessor-table)
    	(make-accessor-table): Use *the-class-standard-object* instead of
    	*the-class-std-object*.
    
    	* pcl/defs.lisp (toplevel): Don't declare *the-class-std-object*
    	special.
    	(standard-object): Single superclass slot-object.
    	(metaobject): New class.
    	(std-object): Class removed.
    	(specializer): Superclass metaobject.
    	(definition-source-mixin, plist-mixin): Superclass
    	standard-object, no metaclass.
    	(documentation-mixin, dependent-update-mixin): No metaclass.
    	(slot-definition, method, generic-function, method-combination):
    	Superclass metaobject.
    
    	* pcl/cache.lisp (raise-metatype): Don't consider std-class.
    
    	* pcl/braid.lisp (bootstrap-meta-braid): Don't braid std-class.
    	(bootstrap-initialize-class): Don't consider std-class.
    1e88e890
    History
    * pcl/boot.lisp (parse-defmethod): Rewritten for clarity. Signal
    gerd authored
    	an error for most cases of null qualifiers.
    
    
    	Improve DESCRIBE on generic functions.
    
    	* pcl/env.lisp (method-specialized-lambda-list): New function.
    	(describe-object): Use it, and use generic-function-lambda-list.
    
    	* pcl/methods.lisp (generic-function-pretty-arglist)
    	(method-pretty-arglist): Remove.
    
    	* pcl/generic-functions.lisp (generic-function-pretty-arglist)
    	(method-pretty-arglist): Remove.
    
    
    	AMOP compliance fixes: Reintroduce class METAOBJECT, make
    	GENERIC-FUNCTION a subclass of STANDARD-OBJECT, remove STD-OBJECT.
    	This basically reverts a change of dtc from 1998.
    
    	* code/describe.lisp (describe-instance): Check for
    	standard-object, not pcl::std-object.
    
    	* pcl/pkg.lisp ("PCL", "CLOS-MOP"): Export more stuff.
    
    	* pcl/generic-functions.lisp: Remove some of the useless comments.
    
    	* pcl/slots.lisp (slot-value-using-class, setf slot-value-using-class)
    	(slot-boundp-using-class, slot-makunbound-using-class): Specialize
    	on standard-object.
    
    	* pcl/slots-boot.lisp (get-optimized-std-accessor-method-function):
    	Remove an std-class-p case.
    
    	* pcl/methods.lisp (update-std-or-str-methods): Use
    	standard-object instead of std-object.
    	(mec-all-classes-internal): Use *the-class-standard-object*
    	instead of *the-class-std-object*.
    	(class-test): Don't consider *the-class-std-object*.
    
    	* pcl/low.lisp (pcl-instance-p) [deftransform]: Use
    	standard-object instead of std-object.
    
    	* pcl/init.lisp (update-instance-for-different-class)
    	(update-instance-for-redefined-class): Specialize on
    	standard-object instead of std-object.
    
    	* pcl/dfun.lisp (accessor-values-internal, make-accessor-table)
    	(make-accessor-table): Use *the-class-standard-object* instead of
    	*the-class-std-object*.
    
    	* pcl/defs.lisp (toplevel): Don't declare *the-class-std-object*
    	special.
    	(standard-object): Single superclass slot-object.
    	(metaobject): New class.
    	(std-object): Class removed.
    	(specializer): Superclass metaobject.
    	(definition-source-mixin, plist-mixin): Superclass
    	standard-object, no metaclass.
    	(documentation-mixin, dependent-update-mixin): No metaclass.
    	(slot-definition, method, generic-function, method-combination):
    	Superclass metaobject.
    
    	* pcl/cache.lisp (raise-metatype): Don't consider std-class.
    
    	* pcl/braid.lisp (bootstrap-meta-braid): Don't braid std-class.
    	(bootstrap-initialize-class): Don't consider std-class.