[UPDATES] 57 for Squeak3.7alpha

Doug Way dway at mailcan.com
Tue Mar 2 16:03:11 UTC 2004


Hm, I posted this Sunday and the list seems to be back up now, but I 
don't see it, so here it is again...


-------- Original Message --------
Subject: 	[UPDATES] 57 for Squeak3.7alpha
Date: 	Sun, 29 Feb 2004 20:07:21 -0500
From: 	dway at mailcan.com
To: 	<squeak-dev at lists.squeakfoundation.org>, <dway at mailcan.com>



The latest batch of updates... whew.  (This one seemed to take longer
than usual for various reasons, probably 5-6 hours.)  Lots of goodies
here, including the SM2 update, PNG writing, snapshot cleanup, Genie
removal, etc.

We're still shooting for moving to beta this Friday, March 5th.  I'll
send out a separate email making more of an announcement about that.

- Doug


------------------------------

5708SM1Removal-gk -- Göran Krampe -- 12 February 2004
This update removes old SM1 from the image and stores the
installedPackagesDictionary in a global for subsequent retrieval in the
next update that installs SM2."
"Begin by toasting the old SMLoader if present in image.
We also close any open loaders."
(Smalltalk hasClassNamed: #SMLoader) ifTrue: [
	(Smalltalk at: #SMLoader) allInstances
		do: [:e | e myDependents: #(). e delete].
	SystemOrganization removeSystemCategory: 'SM-Loader'].
"Remember installed packages if we have them and toast old SM."
(Smalltalk hasClassNamed: #SMSqueakMap) ifTrue: [
	Smalltalk at: #SM1InstalledPackagesDictionary
		put: (Smalltalk at: #SMSqueakMap) default installedPackagesDictionary.
	"This is a brutal hack, need to figure out why it is needed..."
	(Smalltalk at: #SMSqueakMap) setName: #SMSqueakMap.
	SystemOrganization removeSystemCategory: 'SM-domain']

5709SM2Install-gk -- Göran Krampe -- 12 February 2004
This changeset installs SM2 into the image if it has not been installed
already, by contacting the SM2 server at map1.squeakfoundation.org and
asking it for the URLs to the packages to download and install.
It first installs VersionNumber and MCInstaller if needed."
| repDir server stream installedMC installedVN map |
(Smalltalk hasClassNamed: #SMPackage) ifFalse: [
installedVN _ false.
"Install first versions of VersionNumber for SM2 if it is missing, we
can't rely on using old SM because it is now removed."
(Smalltalk hasClassNamed: #VersionNumber) ifFalse: [
	ChangeSorter newChangesFromStream:
	
((('http://map1.squeakfoundation.org/sm/package/35e02e3a-48e2-4843-94ee-
e86d651aeafe/autoversion/1/downloadurl')
		asUrl retrieveContents content) asUrl retrieveContents content
unzipped
		readStream)	
	named: (ChangeSet uniqueNameLike: 'VersionNumber').
	installedVN _ true].
"Load the new SM base, using available Monticello or MCInstaller, and
installing MCInstaller otherwise"
stream _ HTTPClient httpGet:
	('http://map1.squeakfoundation.org/sm/package/c4c13ea3-e376-42c7-8d9e-d
c23b09f9f29/autoversion/6/downloadurl'
		asUrl retrieveContents content).
installedMC _ false.
(Smalltalk hasClassNamed: #MCMczReader)
	ifTrue: [(MCMczReader versionFromStream: stream) load "Using
Monticello"]
	ifFalse: [
		"No Monticello installed, will use MCInstaller and install it first if
needed"
		(Smalltalk hasClassNamed: #MczInstaller) ifFalse: [
			ChangeSorter
				newChangesFromStream:
				
((('http://map1.squeakfoundation.org/sm/package/af9d090d-2896-4a4e-82d0-
c61cf2fdf40e/autoversion/2/downloadurl')
				asUrl retrieveContents content) asUrl retrieveContents content
unzipped
				readStream)
			named: (ChangeSet uniqueNameLike: 'MCInstaller').
			installedMC _ true].
		MczInstaller installStream: stream].
"This clears the default map, but keeps info on installed packages if
there where any"
(Smalltalk hasClassNamed: #SMPackage) ifTrue: [
map _ (Smalltalk at: #SMSqueakMap) default.
map installedPackagesDictionary:
	(Smalltalk at: #SM1InstalledPackagesDictionary ifAbsent: [nil]).
Smalltalk removeKey: #SM1InstalledPackagesDictionary ifAbsent: [nil].
"Remove old SM Package Loader, if present"
map clearInstalledPackageWithId: '047a3b12-7e52-4c5d-be8b-d06635fc4f1c'.
"Remove old SqueakMap Base, if present"
map clearInstalledPackageWithId: 'fffa45d3-2459-4b7d-b594-9cfae17c864d'.
"Remove old SqueakMap loadscript, if present"
map clearInstalledPackageWithId: '4f0b9db6-8add-43aa-8d6b-53e6a0ea8442'.
"Add that we now have versions of SqueakMap2 base, VersionNumber and
MCInstaller installed"
map noteInstalledPackageWithId: 'c4c13ea3-e376-42c7-8d9e-dc23b09f9f29'
autoVersion: '6'.
installedVN ifTrue: [map noteInstalledPackageWithId:
'35e02e3a-48e2-4843-94ee-e86d651aeafe' autoVersion: '1'].
installedMC ifTrue: [map noteInstalledPackageWithId:
'af9d090d-2896-4a4e-82d0-c61cf2fdf40e' autoVersion: '2'].
"Make sure map is updated"
map loadUpdates]
ifFalse: [self error: 'Installation of "SqueakMap base" failed'].
"Install new SMLoader using SM2 itself."
map installPackageWithId: '941c0108-4039-4071-9863-a8d7d2b3d4a3'
autoVersion: '2']

5710snapshotSavingCleanups -- tim at sumeru.stanford.edu -- 15 February
2004
Some important cleanups in the saving of snapshots and initialising of
FileDirectory. 
Makes it possible to save the snapshots in a different directory than
the original snapshot file came from (ie you can start up
/var/squeak/squeak.image and save ~joesixpack/joesworking.image).
This version built for post-update 5707, compensating for the effects of
recent KCP changes in the area of image saving and some changes in the
5707 updates"

5711AttrStreamFix-gk -- Göran Krampe -- 12 February 2004
After having looked at Boris Gaertner's fix for Scamper I agree with the
override AttributeTextStream class>>new. No need to make any other
changes to that class at this time. Just added a comment etc."

5712pathPartsFixes-tpr -- tim at sumeru.stanford.edu -- 9 February 2004
Some mild improvements to users of FileDirectory>pathParts.
Revised per Frank Shearer's discovery of stupidity in respect to
ServerDirectory>pathParts"

5713FileOutCategory-jf -- Julian Fitzell -- 7 February 2004
#fileOutCategory:asHtml: would try to create files without first
validating the file names.  This was a problem if you had a system
category with a / in it for example.  Fix this by adding a call to
#asFileName on the file name string."

5714UTF8String-JO -- Jonas Öhrn -- 16 September 2002
Two small methods added to String for conversion between ISO-8859-1 and
UTF-8.

5715CopyObjectMethod-tpr -- tim at sumeru.stanford.edu -- 14 February 2004
Revised Object>copyFrom: to use numbered optional prim 168 to copy
objects"

5716GifReadWriterDecode-klc -- Ken Causey -- 26 January 2004
It seems that someone started some changes to handle comment blocks in
GIF files but never finshed it.  The code was completely unused and
buggy (the block terminator was not being processed) and there was no
way to tell what the goal of it was, so I removed it.  This fixes a
problem with reading GIF files with comments."

5717TextPropertiesMorph-fc -- Frank Caggiano -- 12 February 2004
			Ned Konz added revert for extent as well.
 TextMorph 'text color...' interface 'cancel' button doesn't work
Not just a problem with the cancel button. The TextMorph created inside
the TextPropertiesMorph (activeTextMorph) and the TextMorph being edited
(myTarget) were sharing the same attributes. Certain changes (color,
text style)  to the activeTextMorph were immeditely set in myTagret.
This could be seen by forcing myTagret to redraw itself even while the
textPropertiesMorph was still up (for example clicking the wrap button
or covering and uncovering the target text morph).
There still might be an issue with the wrap button.  I'm not really sure
how it is suppose to work."

5718MessageListDragFix-nk -- Ned Konz -- 15 February 2004
Fixes message dragging from MessageLists.

5719GIFReadingFixes-nk -- Ned Konz -- 15 February 2004
A few small fixes and enhancements for the GIF readers.
* Add an 'offset' instVar to get rid of Undeclared refs.
* Open  either an ImageMorph or AnimatedImageMorph as appropriate from a
FileList.
* Allow opening GIFs from remote servers in the FileList.
 "

5720UrlTestFixes-gk -- Göran Krampe -- 12 February 2004
A bunch of extra tests for FileUrl given the FileUrlRewrite."

5721indentClipText-bf -- Bert Freudenberg -- 9 February 2004
When copying the text of an indented list via the red halo menu, the
individual items where not indented, making the result illegible.
Fixed."

5722FixObsoleteChronlgy-nk -- Ned Konz -- 15 February 2004
The Chronology changes weren't done correctly, so there are a number of
bindings that refer to the old ZTime, etc. classes.
This CS fixes those.
| baddies |
baddies _ ClassBuilder reallyObsoleteClasses asArray select: [ :ea | ea
name first = $Z ].
baddies do: [ :bad | | newName |
	newName _ bad name allButFirst asSymbol.
	Smalltalk at: newName ifPresent: [ :newClass |
		ClassBuilder new recompile: false from: bad to: newClass mutate: false
]
	].
Behavior flushObsoleteSubclasses.

5723ChangedWith-nk -- Ned Konz -- 17 February 2004
This adds #changed:with: and #update:with: to Object, as discussed on 2
and 3 December 2003.
This is also VisualWorks compatible, for those packages that are ported
from VW.

5724tests-reorganize-md -- Marcus Denker -- 16 February 2004
The unit-test from the Tests package have been added to the image.
This changeset now renames all Tests-* categories to be *-Tests.
Rational: 
When breaking stuff out (e.g. make a MC package Network-Url)
then we sure want the tests be part of that, not continue to be
part of the image. 
Some Tests* categories remain, e.g. Tests-KCP and Tests-Bugz.

5725timeSecondsPrintOn-brp -- Brent Pinkney -- 16 February 2004
Time printString should only show second precision."

5726SCN-compileInobtrsv-avi -- Avi Bryant -- 17 February 2004
Just a simple fix that adds an overlooked send to #uniqueInstance when
referencing SystemChangeNotification in
ClassDescription>>compileInobtrusively:classified:."

5727SmaCC-RuntimeSM-md -- Marcus Denker -- 16 February 2004
upate the SmaCC Runtime from SM"

5728fixPreferencesCat-md -- Marcus Denker -- 15 February 2004
Three methods in Preferences were categorized to be *Refactory. This
changeset
moves them to their correct catefory"

5729TestInteger-bg -- Boris Gaertner -- 2 February 2004
Peter Wiliam Lount found a problem when he constructed integers from
four bytes and Bert Freudenberg published a fix. This test case checks
the correct construction of value around SmallInteger maxVal."

5730DecorateDebuggerBtns-nk -- Ned Konz -- 18 February 2004
Makes the debugger's inheritance button colored like in the Browsers.

5731acceptCodeFix-bg -- Boris Gaertner -- 3 February 2004
KLC - I removed the commented out send in
Browser>>selectOriginalCategoryForCurrentMethod otherwise identical.
this change set fixes a bug that was reported on the list at Feb 03,
2004 by arj . A day later arj reported two additional ways to
demonstrate undesired behavior of the brower. "

5732AccunyEdit-nk -- Ned Konz -- 19 February 2004
Edits the smallest two Accuny fonts to distinguish between the
lower-case L and the number 1 glyphs.
(commented out the demonstration display of the before & after glyphs.
-dew)
"((TextMorph new contentsAsIs: ((Text fromString: 'l1l1l1l1l1 Before')
addAttribute: (TextFontReference toFont: (TextStyle named: 'Accuny')
defaultFont);
addAttribute: TextFontChange font1 from: 1 to: 2;
addAttribute: TextFontChange font2 from: 3 to: 4;
addAttribute: TextFontChange font3 from: 5 to: 6;
addAttribute: TextFontChange font4 from: 7 to: 8;
addAttribute: (TextFontChange fontNumber: 5) from: 9 to: 10;
yourself))  imageForm magnifyBy: 4) asMorph
position: ActiveHand position; openInWorld."

5733FileUrlRewrite-gk -- Göran Krampe -- 12 February 2004
Note: This changeset may have side effects, we simply need to test drive
it (Filelist with FTP etc).
A problem that cropped up with Scamper was a fix Markus made in update
5414. Markus made FileUrl>>pathForFile and #pathForDirectory to prepend
the pathName delimiter if the FileUrl is absolute.
The refinement is to avoid prepending if the file url has a path that
starts with a DOS style drive letter, since such paths are absolute per
definition.
This triggered a BIG make-over of FileUrl, where it was made much more
proper by using 'file://' as the prefix instead of 'file:'. According to
the RFCs a file URL can not have relative file paths, the isAbsolute etc
still works but the result sending toText (which I didn't bother to
change even though it has a strange name) will be proper and does not
reflect isAbsolute.
I have taken care of adding 'smarts' on how FileUrl creates itself given
a non valid String representation - it tries to be quite helpful. This
is partly based on what Mozilla does in this regard.
Now it is IMHO much improved, seems to work, has a bunch of new tests
(posted separately), and Scamper works fine from filelist on DOS drives.

5734DebuggerHighlightFix-nk -- Ned Konz -- 20 February 2004
This fixes the misalignment between the displayed text in the Debugger
and the highlighted PC range, when you have the browseWithPrettyPrint
Preference enabled.

5735FixServerDirectories-nk -- Ned Konz -- 12 December 2003
Change Set 5605CleanupUpdateServers-dew did not clean up the
ServerDirectory servers dictionary properly.
This quickie will remove the bad servers.
| badOnes |
badOnes _ Dictionary new.
ServerDirectory servers keysAndValuesDo: [ :k :v |
	(v isKindOf: ServerDirectory) ifFalse: [ badOnes at: k put: v ] ].
badOnes keysDo: [ :k | ServerDirectory servers removeKey: k ].

5736nilTrueFalseLiteralArr-avi -- Avi Bryant -- 16 February 2004
Modifies Scanner>>scanLitVec to be ANSI-compliant and treat #(nil true
false) as a collection of an UndefinedObject and two Booleans, rather
than as three Symbols.  Includes a test case (which also ensures that
#(#nil #true #false) and #(#'nil' #'true' #'false') still contain
symbols)."

5737hour12fix-avi -- Avi Bryant -- 21 February 2004
#hour12 in Time and DateAndTime was using a strange algorithm that gave
incorrect results - for example, (Time fromString: '3:00 pm') hour12
gave 4 instead of 3.  This fixes the problem.

5738SeparateCommentPane-nk -- Ned Konz -- 15 February 2004
This adds (for Morphic only, currently) a separate class comment pane
instead of the combined class comment and class definition introduced in
5681browseWithComments-ls 
The 15 Feb. version avoids the search through the dependents, and avoids
re-creating the comment pane morph.
(merged Browser>>messageCategoryListIndex: with 5731acceptCodeFix-bg.
-dew)

5739TextEmpahsis-fc -- Ned Konz -- 15 February 2004
Every time we change the Preferences class, we hold onto the old
versions in individual preferences.
This CS repairs existing Preferences to point to the current Preferences
class.
| obsoletePrefs |
Smalltalk garbageCollect.
obsoletePrefs _
Preference allSubInstances select: [ :ea | | ci |
	ci _ (ea instVarNamed: 'changeInformee').
	ci isBehavior and: [ ci isObsolete ] ].
obsoletePrefs do: [ :pref |
	| ci |
	ci _ (pref instVarNamed: 'changeInformee').
	pref instVarNamed: 'changeInformee' put: (Smalltalk at: ci name
ifAbsent: []) ].
Behavior flushObsoleteSubclasses.

5740StartDragFix-nk -- Ned Konz -- 17 February 2004
Ghanges the start-drag logic to send the mouse-down event, instead of
the event that is detected as the start of drag.
This avoids the 10 pixel offset that can sometimes lead to incorrect
behavior when dragging from PluggableListMorphs.

5741IntervalNewFromTests -- stephane ducasse -- 21 February 2004
another test for interval creation"

5742SyntaxMorphAddNoiseStr-fbs

5743MorphFileInFix-bf -- Bert Freudenberg -- 13 February 2004
Loading a morph from file opened the file in read/write mode, resulting
in the inability to load a read-only morph file. Fixed."

5744FileContentsBrowser2-nk -- Ned Konz -- 18 February 2004
Changes isMetaClass to isMeta in PseudoClass and PseudoMetaclass to
avoid problems with browsing code files that include classes that aren't
already defined.

5745PosStream-upToEnd -- Boris Gaertner -- 19 February 2004
When reading past the end of a stream, our implementations of  #next
answer the value nil, which is certainly questionable. The method
PositionableStream>>upToEnd checks for  nil  to detect the end of a
stream which is certainly wrong. It has to use   atEnd. "

5746FixObsoletePrefs-nk -- Ned Konz -- 15 February 2004
Every time we change the Preferences class, we hold onto the old
versions in individual preferences.
This CS repairs existing Preferences to point to the current Preferences
class.
| obsoletePrefs |
Smalltalk garbageCollect.
obsoletePrefs _
Preference allSubInstances select: [ :ea | | ci |
	ci _ (ea instVarNamed: 'changeInformee').
	ci isBehavior and: [ ci isObsolete ] ].
obsoletePrefs do: [ :pref |
	| ci |
	ci _ (pref instVarNamed: 'changeInformee').
	pref instVarNamed: 'changeInformee' put: (Smalltalk at: ci name
ifAbsent: []) ].
Behavior flushObsoleteSubclasses.

5747SoundSystemCleanup-gk -- Adam Spitz, Göran Krampe -- 23 February
2004
This is the first changeset intended for the update stream that comes
out of Adam's monster work Cleanup.sar. I am working through it
alphabetically.
This update is comprised of Adam's first two changesets:
- AAAMultipleSoundSystems.3.cs
- DSASoundCleanup.1.cs
...rewritten quite a lot:
- Renamed SoundSystem to SoundService
- Renamed BadSoundSystem to DummySoundSystem.
- Renamed GoodSoundSystem to BaseSoundSystem.
- Move DummySoundSystem and AbstractSoundSystem to System-Support
- Kept references to the recently introduced Beeper as is, Beeper is now
integrated on top of SoundService.
- Tweaked Beeper with simplifications and more comments etc.
- Moved  general checks of Preferences soundsEnabled into
Dummy/BaseSoundSystem, seems smart!
- Added a playSoundNamedOrBeep: method
- Added a base class AbstractSoundSystem
- Added class comments for all new classes.
- Threw in the DSASoundCleanup into this changeset since it also has to
do with sound, preamble below.
- Plus probably a bunch more little things.
Lets get this one in because cleaning code rot isn't fun. :)
/Göran
Here follows original preambles:
Preamble from AAAMultipleSoundSystems::
There are lots of places in the image that play sounds but shouldn't
really depend on the sound system; if sound support isn't present, they
should still be able to do their jobs (just a little more quietly :).
This changeset adds a class called SoundSystem, so that we can say
things like:
SoundSystem default playSoundNamed: 'croak'.
Preamble from AAAMultipleSoundSystems::
The DigitalSignatureAlgorithm class uses the sound system for some sort
of randomness-generating thingy. This changeset is a half-assed attempt
to remove this dependency, so that we can eventually create images
without sound support.

5748TTCfontNameWPointSize-nk -- Ned Konz -- 12 February 2004
Fix for missing method.

5749setClassSelPackagePane-avi -- Avi Bryant -- 21 February 2004
Browser>>setClass:selector: now uses #selectCategoryForClass: so that it
works properly from the PackagePaneBrowser as well.
This fixes the bug with out of bounds errors when defining new classes
in the PackagePaneBrowser that was caused by update 5487."

5750EventRecPlayback-los -- Lothar Schenk -- 26 February 2004
Image: 3.7a
Clicking on a tape in a Filelist that was recorded with the
EventRecorderMorph (e.g. EventRecorder.tape) and then choosing the 'open
for playback' button results in a walkback: 'MessageNotUnderstood:
EventRecorderMorph>>rewind'.
The reason is this call in EventRecorderMorph class>>openTapeFromFile:
openTapeFromFile: fullName
	(EventRecorderMorph new readTape: fullName) rewind openInWorld
EventRecorderMorph has no 'rewind' method or anything resembling it.
Leaving out the call to 'rewind' seems to work fine (also plausible,
considering that the tape has just been read in from the file).
The attached change set contains a corresponding patch.
Regards, Lothar

5751CategoryDefaultName-dgd -- Diego Gomez Deck
<DiegoGomezDeck at ConsultAr.com> -- 25 February 2004
better default for category name (the selector is used instead of
#none). useful for etoys translation using Babel.

5752MPEGeToyVocab-dgd -- Diego Gomez Deck <DiegoGomezDeck at ConsultAr.com>
-- 16 February 2004
Export the current funcionality in MPEGMorph to eToys environment.  The
motivation is to improve the 'Active Essay' features of squeak from
eToys level.
Now you can play, stop and rewind; read/modify the volume and the
position; change the repeat option and ask is the move/sound is running.
See an example of use at:
http://swiki.agro.uba.ar/small_land/uploads/1/video_from_etoys.jpeg

5753SkipListClassComment-klc

5754BrowseComprsdCodeFiles-nk -- Ned Konz -- 17 February 2004
Adds the ability to open a FileContentsBrowser on the contents of a
compressed stream, both from the FileList and from the BFAV.

5755beginsEndsWith-bp -- Bernhard Pieber -- 21 February 2004
Implements beginsWith: and endsWith: for all
SequenceableCollections, not only for Strings."

5756testBeginsEndsWith-fbs

5757MorphicTextEditorRegistry -- Adam Spitz -- 11 February 2004
Creates a kind of AppRegistry called MorphicTextEditor. Installs
PluggableTextMorph as the default one. (The SVI package, for example,
could register itself as another kind of MorphicTextEditor. This would
allow programs to be SVI-compliant simply by writing 'MorphicTextEditor
default' instead of 'PluggableTextMorph'.)"

5758PNGReadWriterV7 -- Andreas Raab & Ned Konz -- 10 February 2004
Provide PNGReadWriter with the ability to write files. In addition, fix
some issues with transparency in PNGs which was not handled correctly.
v2: Vastly improved version. Includes a test suite which ensures that we
can use PNG consistently to save and load Squeak forms.
v3: 2/12/2004
- Fixed CRC storage
- Added CRC validation for reading
- Provide logging for test images
- Attempt to fix byte-sex problem
v4: Some fixes for the PNG reading and writing:
* don't crash Squeak when performing tests (fixed in Zlib writer).
* generate Adler32 checksum in compressed image chunks so other programs
can read Squeak's PNG files.
* verify Adler32 checksum in compressed image chunks to detect
corruption.
* modify test suite so that if you have the PngSuite.zip installed we
also check for detection of corrupted files.
v5:
* Fixed big endian color problems (thanks to Avi)
* Added more tests
v6: 
* Fixed final swizzle problems for big endian machines
v7 (NK):
* Fixed gzip CRC generation.

5759KCP185SpaceUsedFix -- stephane ducasse -- 1 February 2004
clema spaceUsed implementation so that 
we can know it on Behavior instances too and avoid the hardcoded
isKindO: Metaclass so that other extensions can use it too."

5760KCP190MoveUIInteraction -- stephane ducasse -- 1 February 2004
move the methods
letUserReclassify: and categoryFromUserWithPrompt: aPrompt from
ClassDescription to CodeHolder the only client of this method.
This way we can have a better layered system...let us hope slowly.

5761KCP195MoveUpZapAll -- stephane ducasse -- 1 February 2004
Behavior is not an abstract class. So redefine and move zapAllMethods
from ClassDescription to Behavior.
(removed testZapMethods for now because there is no BehaviorTest class.
-dew)"

5762chronology-tests1 -- Brent Pinkney and Tom Koenig -- 16 February
2004
These are the Chronology Tests, done by Brent Pinkney and Tom Koenig.
The changeset adds some good utility methods to ClassTestCase for
ensuring
full test coverage.
md: this is a fileout of 
Chronology-b-Tests-SqueakAndSmalltalk80Compatibility
Chronology-h-Tests-NewGeneration
Chronology-k-Tests-Cleanup
Tom did more tests, these will follow in an additional changeset"

5763GenieRenameFor37-nk -- Ned Konz -- 20 February 2004
This CS adds all the genie- method categories to the Genie package so we
can apply Monticello changes.
This preamble does the basic category renaming needed.
The rest of the CS changes a few other methods, primarily ones that
shouldn't be in Genie.
20 Feb: removed inspector.
| pi bad |
SystemOrganization renameCategory: 'Tests-Genie-Engine' toBe:
'Genie-Tests'.
pi _ PackageInfo named: 'Genie'.
bad _ OrderedCollection new.
(ClassDescription allSubInstances reject: [ :ea | ea isObsolete ]) do: [
:cls | | org |
	org _ cls organization.
	org categories do: [ :cat |
	(pi includesClass: cls) ifFalse: [
	 ( cat asLowercase beginsWith: 'genie') ifTrue: [
		(org listAtCategoryNamed: cat) do: [ :sel |
			org classify: sel under: ('*', cat).
			ChangeSet current adoptSelector: sel forClass: cls.
			bad add: (cls -> sel) ].
		org removeEmptyCategories ]]
	ifTrue: [
	 ( cat asLowercase beginsWith: '*genie-') ifTrue: [ | newName |
		newName _ cat copyFrom: 8 to: cat size.
		newName isEmpty ifTrue: [ newName _ cat copyFrom: 2 to: cat size ].
		(org listAtCategoryNamed: cat) do: [ :sel |
			org classify: sel under: newName.
			ChangeSet current adoptSelector: sel forClass: cls.
			bad add: (cls -> sel) ].
		org removeEmptyCategories  ].
	].
]].
"(bad explore) dependents first setLabel: 'moved methods'"

5764GenieRemoval-nk -- Ned Konz -- 14 February 2004
Removes Genie so that it can be loaded later as a package.
Tested with 3.7a-5707.
HandMorph allSubInstancesDo: [ :ea | ea disableGenie ].
Morph allSubInstancesDo: [ :ea | ea gestureDictionaryOrName: nil ].
FileList unregisterFileReader: CRRecognizer.




<This automated message brought to you by the UpdateIncorporationTool.>
<See the UpdateIncorporationTool package on SqueakMap for details.>





More information about the Squeak-dev mailing list