CLIM mail archive
[Prev][Next][Index][Thread]
Re: clos object wierdness ..
Essentially, I'm doing the following:
(defclass a () ())
(defclass b () ())
(defclass c () ())
(defclass d (a b c) ())
(define-presentation-type d (foo))
As far as I understood this is not a correct p-type definition
in CLIM. presentation type d MUST :inherit-from (a b c), as the
presentation-type hierarchy must always "parallel" the clos class-
hierarchy.
Then I have a macro which includes creating a
subclass of d - something like
(defmacro define-sub-d ( ... )
`(progn
(defclass ,name (d) ())
...
))
In MCL (in NO OTHER LISP/CLIM) I get a compiler
warning about "incompatible supertypes" between
"d" and "presentation-type d". Then, when I run
the macro (but not when I just do a simple defclass)
the direct supertypes of "d" get slammed with "standard-object"
(somewhere in the process) so that a call to define-sub-d
results in an "incompatible supertypes" error.
I also had this effect that a wrong p-type definition "slammed"
the clos class definition to have a superclass of "standard-object"
in lucid lisp (clim 1.1, I haven't checked it in 2.0).
I was quite angry when I discovered this effect because the clim error-message
I got when clim complained about the wrong ptype definition said nothing
about modifying my class hierarchy. (Nor is it documented anywhere...)
So it took some time to discover this effect...
I know this is vague, but I'm having a VERY hard time
isolating the behavior, and I'm wondering if anyone else
has seen anything like this. This is a system I've fully
ported to Allegro, compiled (but haven't tried to run yet)
under Lucid, and (of course) it was developed on a Symbolics
where it hums. So only MCL is giving me this grief.
Any hints about where to look would be appreciated. I'm
still working on isolating a case ...
Regards - Stefan B.
;;; - Stefan Bernemann (berni@iml.fhg.de)
Main Index |
Thread Index