[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Added a class to MrEd.
Helpful folks on the mailing list,
I recently added a new primitive class, simple%, to MrEd. It doesn't do very
much.
It is equivalent to the following
(define simple%
(class object% (num)
(sequence (super-init))
(public
[get-num (lambda () num)])))
except that it has been implemented using the C interface.
I intend to implement a prototype OpenGL canvas, that should work with MrEd,
shortly.
Anyway, simple% is my "hello world" version of a new MrEd class. I
successfully, added it
to the MrEd project and compiled it. Along with several other things, I
figured out that
I needed to add "simple%" to the propgate.ss file and do a makewrap.bat.
I started MrEd and tried it out and my simple% class works as expected, but
with one
quirk.
When I start I get a small MrEd error window with the following:
"
compound-unit/sig: 2nd linkage (mred signature) for hierlist is
missing a value name `simple%', required by hierlist unit's
2nd import (mred^ signature)
"
I suppose that somewhere there is a compound-unit/sig expression that isn't
happy
with the fact that MrEd now implements a new primitve class called simple%.
I suppose
further that the compound-unit/sig must have something to do with this
hierlist thingy.
So I go to \plt\collects\hierlist and find hierlistr.ss which contains this
business:
(unit/sig hierlist^
(import mzlib:function^
mred^)
...implementation of hierlist
So it appears that hierlist is a unit who's second import must satisfy mred^
I root around in the collects tree a little more and under
D:\PLT\collects\drscheme\tools\project-manager
I find the file unit.ss containing this business:
(compound-unit/sig
(import [mred : mred^]
[core : mzlib:core^]
[fw : framework^]
[pc : mzlib:print-convert^]
[drscheme : drscheme:export^]
[zodiac : zodiac:system^])
(link
[hierlist : hierlist^ ((require-library "hierlistr.ss" "hierlist") (core
function) mred)]
[main : () ((require-library "main.ss" "drscheme" "tools"
"project-manager")
mred
core
pc
fw
drscheme
zodiac
hierlist)])
(export))
So this duvalaki, takes several units and combines them together yielding
still another unit, which unit doesn't
export anything. This last unit can be invoked.
So is this the compound-unit/sig that isn't pleased with my addition of
simple%?
What's it complaining about? after all, the new signature file
(plt/collects/mred/sig.ss) for mred that makewrap.bat
spit out for me has simple% in it.
So is there another version of the mred signature data kicking around which
needs to be kept in sync with
the new version I created? I'm guessing now, but does this have anything to
do with .zo files?
Thanks.