* 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.
Showing
- code/describe.lisp 2 additions, 2 deletionscode/describe.lisp
- pcl/boot.lisp 14 additions, 11 deletionspcl/boot.lisp
- pcl/braid.lisp 4 additions, 8 deletionspcl/braid.lisp
- pcl/cache.lisp 1 addition, 3 deletionspcl/cache.lisp
- pcl/defs.lisp 15 additions, 24 deletionspcl/defs.lisp
- pcl/dfun.lisp 5 additions, 4 deletionspcl/dfun.lisp
- pcl/env.lisp 11 additions, 4 deletionspcl/env.lisp
- pcl/generic-functions.lisp 1 addition, 17 deletionspcl/generic-functions.lisp
- pcl/init.lisp 9 additions, 9 deletionspcl/init.lisp
- pcl/low.lisp 10 additions, 11 deletionspcl/low.lisp
- pcl/methods.lisp 2 additions, 67 deletionspcl/methods.lisp
- pcl/pkg.lisp 6 additions, 3 deletionspcl/pkg.lisp
- pcl/slots-boot.lisp 1 addition, 7 deletionspcl/slots-boot.lisp
- pcl/slots.lisp 5 additions, 5 deletionspcl/slots.lisp
Loading
Please register or sign in to comment