[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-smalltalk] Autoload error in 2.0d
From: |
MSA or SJF |
Subject: |
Re: [Help-smalltalk] Autoload error in 2.0d |
Date: |
Fri, 15 Nov 2002 06:27:54 -0800 (PST) |
I've done some further investigation on this:
(I'm writing on a different machine to the one
Smalltalk is running on, so I can't paste in the
actual code snippets. Please bear with me)
If you remove the lines in AutoloadClass loadedClass
that actually throw the Autoload error, then you get a
nice call stack on standard output, rather than an
endless loop, and you can actually see what's going
on:
When you click on Integer, it calls
Integer(Class)>>#fileOutDeclarationOn: . That gets as
far as calling sharedPools, which is calling
SystemDictionary(Dictionary)>>#associationsDo: . The
actual code snippet is:
self environment associationsDo: [ each |
(sharedPools includes: each value)
ifTrue: [s add: each key]
]
I'm thinking that the call to each value is going to
invoke the Autoload mechanism when it gets as far as
#Queen. What do you think?
Actually quite tricky to fix, it seems to me - can we
suppress the Autoload temporarily?
Incidentally, I had a go at altering AutoloadClass
loadedClass so that you retain the error message, but
everything I tried still gave the loop error, so I
think it's better without - after all, returning nil
is what you would get if you had no Autoload
mechanism, so you haven't really lost anything.
Mike
__________________________________________________
Do you Yahoo!?
Yahoo! Web Hosting - Let the expert host your site
http://webhosting.yahoo.com