Skip to content
Snippets Groups Projects
Commit 1e88e890 authored by gerd's avatar gerd
Browse files

* pcl/boot.lisp (parse-defmethod): Rewritten for clarity. Signal

	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.
parent 15beb107
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment