#66: Support for DEFINE-METHOD-COMBINATION (long form) ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: CLOS | Version: Keywords: | ------------------------+--------------------------------------------------- ABCL does not support D-M-C.
It should. Patches welcome.
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: mevenson Type: defect | Status: assigned Priority: major | Milestone: 0.19 Component: CLOS | Version: Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by mevenson):
* owner: somebody => mevenson * status: new => assigned * milestone: => 0.19
Comment:
[http://armedbear.org/ XCL] which has extended and modified ABCL's CLOS has implemented the long form of DEFINE-METHOD-COMBINATION in XCL-0.0.0.290.
Backporting shouldn't be that much of a problem (once I understand what is going on).
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: mevenson Type: defect | Status: assigned Priority: major | Milestone: 0.19 Component: CLOS | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
Another suggestion - by Tobias Rittweiler - is to copy the code from SACLA:
" SACLA seems to contain an implementation of the long form of D-M-C:
http://homepage1.nifty.com/bmonkey/lisp/sacla/html/lisp/clos.lisp.html
It's released under a BSD license, so just copying it into ABCL is viable, but the code may also just be used for inspiration. "
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: mevenson Type: defect | Status: assigned Priority: major | Milestone: 0.20 Component: CLOS | Version: Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* milestone: 0.19 => 0.20
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: mevenson Type: defect | Status: assigned Priority: blocker | Milestone: 0.20 Component: CLOS | Version: Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by mevenson):
* priority: major => blocker
Comment:
From my analysis of both codebases it seems like XCL did indeed copy the code from SACLA, so this is the preferred integration strategy.
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: defect | Status: assigned Priority: blocker | Milestone: 0.20 Component: CLOS | Version: Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by mevenson):
* owner: mevenson => unassigned
Comment:
I am not actively working on this, so marking this as available in case someone else wants to charge ahead.
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: defect | Status: assigned Priority: blocker | Milestone: 0.21 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by mevenson):
* version: => 1.0 * milestone: 0.20 => 0.21
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: defect | Status: assigned Priority: blocker | Milestone: 0.22 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by mevenson):
* milestone: 0.21 => 0.22
Comment:
A checkpoint of work that may be of interest to those who have more time than I currently do.
The attached patch takes a stab at integrating the work in Sacla/XCL into ABCL but does not work.
Arguments for long D-M-C seem to be correct and a new structure is in place, but calling this does not work as we now need an implementation of CALL-METHOD which should be a locally defined macro in the context of the method call.
Further analysis and help on how this would work is welcome
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: defect | Status: assigned Priority: blocker | Milestone: 0.22 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by mevenson):
A further checkpoint that actually passes the long form of method combination in the ANSI test suite which is still a bit unbelievable.
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: defect | Status: assigned Priority: blocker | Milestone: 0.23 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* milestone: 0.22 => 0.23
Comment:
With Mark's pre-work, this should be doable in the next month.
#66: Support for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: task | Status: assigned Priority: critical | Milestone: 0.23 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* priority: blocker => critical * type: defect => task
Comment:
Current status:
Mark's patch is in trunk.
We need tests... Adjusting subject line accordingly (from: Support for DEFINE-METHOD-COMBINATION (long form))
#66: Tests for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: task | Status: assigned Priority: critical | Milestone: 0.23 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+-------------------------------------------------- Description changed by ehuelsmann:
Old description:
ABCL does not support D-M-C.
It should. Patches welcome.
New description:
The issue used to be lack of support for D-M-C, now, it's about porting SBCL's tests (and required fixes) to ABCL; SBCL doesn't use RT - that's the main issue.
--
#66: Tests for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: task | Status: assigned Priority: critical | Milestone: 0.23 Component: CLOS | Version: 1.0 Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by mevenson):
As for being more descriptive about the non-functional parts of my patch, I think CALL-NEXT-METHOD does not currently do anything useful somehow failing to be expanded to the macro definition.
#66: Tests for DEFINE-METHOD-COMBINATION (long form) ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: task | Status: assigned Priority: critical | Milestone: unscheduled Component: CLOS | Version: 1.0 Keywords: | ------------------------+--------------------------------------------------- Changes (by mevenson):
* milestone: 0.23 => unscheduled
#66: Tests for DEFINE-METHOD-COMBINATION (long form) ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: task | Status: assigned Priority: critical | Milestone: 1.0 Component: CLOS | Version: 1.0 Keywords: | ------------------------+--------------------------------------------------- Changes (by mevenson):
* milestone: unscheduled => 1.0
#66: Tests for DEFINE-METHOD-COMBINATION (long form) -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: unassigned Type: task | Status: closed Priority: critical | Milestone: 1.0 Component: CLOS | Version: 1.0 Resolution: fixed | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* status: assigned => closed * resolution: => fixed
Comment:
Fixed with r13593 (and earlier).
armedbear-ticket@common-lisp.net