Commit 52169903 authored by Pascal Costanza's avatar Pascal Costanza
Browse files

Added support for SBCL 0.9.7.

darcs-hash:d3d97662bf9052129efdf34c4af8cb75d437eb27
parent f222bbd0
......@@ -180,10 +180,4 @@
:anonymous-classes (fixed)
:class-initialization-calls-reader-method-class (fixed)
:class-initialization-calls-writer-method-class (fixed)
:dependent-protocol-for-generic-functions (fixed)
:documentation-passed-to-effective-slot-definition-class (redef finalize-inheritance)
:effective-slot-definition-initialized-with-documentation (redef finalize-inheritance)
:method-initialized-with-function (no)
:reinitialize-instance-calls-compute-discriminating-function (fixed)
:setf-class-name-calls-reinitialize-instance (no)
:setf-generic-function-name-calls-reinitialize-instance (no)
......@@ -104,16 +104,12 @@ In OpenMCL, generic functions work completely differently than specified. The sp
- The slot order requested by a primary method for COMPUTE-SLOTS is not honoured by this MOP. Not fixed.
- EQL-SPECIALIZER is not exported. Fixed.
SBCL, 0.9.6
SBCL, 0.9.7
- Accessor methods are not initialized with :function, :lambda-list, :slot-definition and :specializers. Fixed.
- Classes cannot be anonymous. Fixed.
- Class initialization doesn't call READER-METHOD-CLASS and WRITER-METHOD-CLASS for accessor methods. Fixed.
- The dependent protocol for generic functions doesn't work fully. Fixed.
- Effective slot definitions are not initialized with :documentation, and EFFECTIVE-SLOT-DEFINITION-CLASS also doesn't receive that initarg. Not fixed.
- Methods are not initialized with :function. Not fixed.
- REINITIALIZE-INSTANCE doesn't determine a new discriminating function. Fixed.
- (SETF CLASS-NAME) and (SETF GENERIC-FUNCTION-NAME) do not use REINITIALIZE-INSTANCE for changing the names. Not fixed.
Summary:
......@@ -126,7 +122,7 @@ Summary:
- Specialize the methods for the dependent protocol on the class or generic function metaobject class. The example in AMOP doesn't do this but that is fragile code.
- Don't rely on methods being initialized with the specified initargs from inside the MOP.
- CLisp doesn't change a FORWARD-REFERENCED-CLASS via CHANGE-CLASS. Apart from that, FORWARD-REFERENCED-CLASS works reliably across all MOPs.
- Effective slot definitions and EFFECTIVE-SLOT-DEFINITION-CLASS don't receive :documentation in CMUCL and SBCL, and no :allocation (!) in LispWorks.
- Effective slot definitions and EFFECTIVE-SLOT-DEFINITION-CLASS don't receive :documentation in CMUCL, and no :allocation (!) in LispWorks.
- If you specialize DIRECT-SLOT-DEFINITION-CLASS, use FIX-SLOT-INITARGS in portable code.
- If you want to use :ALLOCATION types other than :CLASS or :INSTANCE, you cannot use Allegro Common Lisp, CLisp, LispWorks or MCL. Only CMUCL, OpenMCL and SBCL support this.
- In Allegro, CMUCL and LispWorks, STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are not compatible.
......
......@@ -124,6 +124,7 @@
; standard-generic-function can be created, and taking away that option from user
; code doesn't make a lot of sense in our context.
#-sbcl
(cl:defmethod reinitialize-instance :after
((gf standard-generic-function) &rest initargs)
(declare (dynamic-extent initargs))
......@@ -133,13 +134,13 @@
(map-dependents
gf (lambda (dep) (apply #'update-dependent gf dep initargs))))
#-cmu
#-(or cmu sbcl)
(cl:defmethod add-method :after
((gf standard-generic-function) method)
(map-dependents
gf (lambda (dep) (update-dependent gf dep 'add-method method))))
#-cmu
#-(or cmu sbcl)
(cl:defmethod remove-method :after
((gf standard-generic-function) method)
(map-dependents
......
......@@ -23,8 +23,9 @@ v0.2
- Switched to an MIT/BSD-style license.
v0.3
- Now supports OpenMCL 1.0, LispWorks 4.4.6, SBCL 0.9.6, CMUCL 19C, Allegro 8.0b.
- Now supports OpenMCL 1.0, LispWorks 4.4.6, SBCL 0.9.7, CMUCL 19C, Allegro 8.0b.
- STANDARD-CLASS and FUNCALLABLE-STANDARD-CLASS are now compatible in SBCL. This required some changes in the PCL support.
- Dropped the reports for LispWorks 4.3.
- Allegro 6.2 is not supported anymore. The existing conditionalization are still available, though, and will be retained as long as they don't stand in the way of anything else.
- Allegro 6.2 is not supported anymore. The existing conditionalizations are still available, though, and will be retained as long as they don't stand in the way of anything else.
- The incorrect specialization of slot-boundp-using-class and slot-makunbound-using-class on symbols instead of slot definition metaobjects in Allegro is fixed.
- SBCL 0.9.7 has improved a lot wrt MOP compatibility. This required some changes in the PCL support.
......@@ -6,4 +6,4 @@ LispWorks 4.4.5, 4.4.6 Personal Edition
LispWorks 4.4.5, 4.4.6 Professional Edition
Macintosh Common Lisp 5.1
OpenMCL 1.0
SBCL 0.9.6
SBCL 0.9.7
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment