Removing obsolete classes from 3.6gamma

Doug Way dway at riskmetrics.com
Sat Sep 20 22:40:52 UTC 2003


(turns out I have some internet access on this weekend trip after all...)

I have a script that I'm using to cleanup the current gamma image a bit before posting it as the official gamma candidate image.  I've attached the tentative script at the end of this email... let me know if I've missed anything crucial or if something shouldn't be in there.  (Probably I should replace SystemDictionary>>makeExternalRelease with this at some point.)

Anyway, one prohlem that comes up in the current 3.6g-5420 image from the ftp site is that "Smalltalk obsoleteClasses" is non-empty.  Three instances of obsolete classes come up if I inspect this.  Here they are:

an OrderedCollection(AnObsoleteSMTPSocket AnObsoleteInternetConfiguration AnObsoleteKeyedMessageSet)

("ClassBuilder reallyObsoleteClasses" returns the same list.)

How should I get rid of these?  I thought I would be able to "chase pointers" in the inspector to find out where these are referenced, but the PointerFinder comes up empty.  Or should I not bother getting rid of these for now?

(Also, Undeclared is not empty in 3.6gamma, but I know how to fix that.  There are two methods which refer directly to Scamper and MCFile.  The methods are in SMLoader and SARInstaller, but I could probably fix them directly in the image since I've already informed the package owners that they need to be fixed in the next package versions...)

Everything else in the script seems to work fine...

- Doug



----------------------------------------------------------
"Gamma cleanup script"
 (self confirm: Smalltalk version , '
Is this the correct version designation?
If not, choose no, and fix it.') ifFalse: [^ self].
 "Remove changesets that begin with a number here..."
 ChangeSorter removeChangeSetsNamedSuchThat:
  [:cs | cs first isDigit].
 ChangeSet current clear.
 ChangeSet current name: 'Unnamed1'.
 Smalltalk garbageCollect.
 (Object classPool at: #DependentsFields) size > 1 ifTrue:
  [self error:'Still have dependents'].
 Browser initialize.
 Undeclared removeUnreferencedKeys.
 Undeclared isEmpty ifFalse:
  [self error: 'Please clean out Undeclared'].
 Preferences initialize.
 StandardScriptingSystem initialize.
 ScriptingSystem deletePrivateGraphics.
 Smalltalk garbageCollect.
 Smalltalk obsoleteClasses isEmpty ifFalse:
  [self error: 'Obsolete classes still exist'].
 Symbol rehash.
 self halt: 'Ready to condense changes'.
 Smalltalk condenseChanges.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030920/56be301c/attachment.htm


More information about the Squeak-dev mailing list