#38: CLOS :metaclass support ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: component1 | Version: Keywords: | ------------------------+--------------------------------------------------- Blake McBride reports:
Running the code:
(defclass meta-class1 (standard-class) (cv1 cv2 cv3) (:metaclass standard-class))
(defclass class1 (standard-object) (iv1 iv2 iv3) (:metaclass meta-class1))
The second object returns:
#<STANDARD-CLASS CLASS1 {F673CC}>
It should be:
#<META-CLASS1 CLASS1 {F673CC}>
Not only is it reporting the wrong class of class1 but it doesn't work either. I suppose ABCL doesn't support the :metaclass option. It just ignores it. The problem is that without that option ABCL's CLOS is severely limited. Any plans to fix this?
Thanks.
Blake McBride
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* owner: somebody => ehuelsmann * status: new => accepted * milestone: => 0.20
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12527]) Make all class accessor functions generic functions instead of normal ones, to support METACLASS. Additionally, make it possible to store general objects in Layout.lispClass. Because classes may be of a different Java type than StandardClass, fall back to the generic functions to access the required fields from Java.
See #38.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+-------------------------------------------------- Description changed by ehuelsmann:
Old description:
Blake McBride reports:
Running the code:
(defclass meta-class1 (standard-class) (cv1 cv2 cv3) (:metaclass standard-class)) (defclass class1 (standard-object) (iv1 iv2 iv3) (:metaclass meta-class1))
The second object returns:
#<STANDARD-CLASS CLASS1 {F673CC}>
It should be:
#<META-CLASS1 CLASS1 {F673CC}>
Not only is it reporting the wrong class of class1 but it doesn't work either. I suppose ABCL doesn't support the :metaclass option. It just ignores it. The problem is that without that option ABCL's CLOS is severely limited. Any plans to fix this?
Thanks.
Blake McBride
New description:
Blake McBride reports:
Running the code:
{{{ (defclass meta-class1 (standard-class) (cv1 cv2 cv3) (:metaclass standard-class))
(defclass class1 (standard-object) (iv1 iv2 iv3) (:metaclass meta-class1)) }}}
The second object returns:
#<STANDARD-CLASS CLASS1 {F673CC}>
It should be:
#<META-CLASS1 CLASS1 {F673CC}>
Not only is it reporting the wrong class of class1 but it doesn't work either. I suppose ABCL doesn't support the :metaclass option. It just ignores it. The problem is that without that option ABCL's CLOS is severely limited. Any plans to fix this?
Thanks.
Blake McBride
--
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12529]) Re #38: CLASSP can't be checked with instanceof alone any longer.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12530]) Re #38: Make method creation and dispatch possible for classes with non-standard-class metaclasses.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12534]) Make sure non-standard (meta) classes aren't cast to LispClass as they are StandardObject-s.
Re #38.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12576]) Re #38: Merge the METACLASS branch to trunk.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12577]) Re #38: Delete merged metaclass branch.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: accepted Priority: major | Milestone: 0.20 Component: other | Version: Resolution: | Keywords: -------------------------+--------------------------------------------------
Comment(by ehuelsmann):
(In [12582]) Re #38: Make Cells compile with our metaclass support by making a documentation initarg.
#38: CLOS :metaclass support -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: defect | Status: closed Priority: major | Milestone: 0.20 Component: other | Version: Resolution: fixed | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* status: accepted => closed * resolution: => fixed
Comment:
(In [12658]) Close #38: Add some metaclass tests - to be expanded upon fixing encountered issues.
armedbear-ticket@common-lisp.net