help-smalltalk
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]