[squeak-dev] The Trunk: System-ul.932.mcz

Eliot Miranda eliot.miranda at gmail.com
Tue Mar 14 01:18:30 UTC 2017


On Mon, Mar 13, 2017 at 6:01 PM, Levente Uzonyi <leves at caesar.elte.hu>
wrote:

> Done. It would be nice to know which change caused the problem.
>

Will try and take a look.  Right now v v busy with callbacks, and Clément
is here in SF for his annual visit for us to work on Sista.  So time is of
the essence :-)


> Levente
>
> On Mon, 13 Mar 2017, Eliot Miranda wrote:
>
>
>>
>> On Mon, Mar 13, 2017 at 5:59 PM, Levente Uzonyi <leves at caesar.elte.hu>
>> wrote:
>>       Did it help?
>>
>>
>> Post 17033:
>> 4575 run, 4304 passes, 108 expected failures, 30 failures, 133 errors, 0
>> unexpected passes
>> Post 17033 plus inbox Files-ul.168
>> 4549 run, 4405 passes, 105 expected failures, 27 failures, 12 errors, 0
>> unexpected passes
>>
>> Looks like you should move  Files-ul.168 to trunk asap.
>>
>>
>>       Levente
>>
>>       On Mon, 13 Mar 2017, Eliot Miranda wrote:
>>
>>
>>
>>             On Mon, Mar 13, 2017 at 5:30 PM, Levente Uzonyi <
>> leves at caesar.elte.hu> wrote:
>>                   I have updated Files-ul.168 to the Inbox with those
>> methods reverted
>>                   along with a third one.
>>
>>
>>             Thanks man!
>>
>>
>>
>>                   Levente
>>
>>                   On Tue, 14 Mar 2017, Levente Uzonyi wrote:
>>
>>                         Hi Eliot,
>>
>>                         all of those new errors seem to be related to
>> files, so I presume they are related to the changes of the Files package:
>>
>>                         "
>>                         FileDirectory changes:
>>
>>                         - implemented #directoryContentsFor:do: in all
>> subclasses of FileDirectory, where #directoryContentsFor: was implemented
>>                         - introduced #entriesDo: based on the method above
>>                         - rewrote methods sending #entries to use
>> #entriesDo: instead
>>                         - simplified DirectoryEntryDirectory >>
>> #asFileDirectory
>>                         - introduced #hasEntries
>>                         - #directoryEntryForName: signals
>> InvalidDirectoryError as suggested by a comment from 2007
>>                         - other minor optimizations
>>                         "
>>
>>                         I suspect that either the DirectoryEntryDirectory
>> >> #asFileDirectory or FileDirectory >> #directoryEntryForName: is
>> responsible for the errors, but it should be easy to
>>             find the cause
>>                         by debugging any of those new errors.
>>
>>                         Levente
>>
>>                         On Mon, 13 Mar 2017, Eliot Miranda wrote:
>>
>>                               Hi Levente,
>>
>>                               On Mon, Mar 13, 2017 at 4:44 PM, Levente
>> Uzonyi <leves at caesar.elte.hu> wrote:
>>                                     Hi Eliot,
>>
>>                                     I ran the tests 3 times and haven't
>> seen any new test failures or errors.
>>                                     However there are some other changes
>> in the pack unrelated to SortedCollection, which I couldn't test on
>> platforms other than Linux, but may behave differently
>>             on
>>                               other platforms (e.g. changes in
>>                                     Files).
>>
>>
>>                               First of all let me apologise; my stats
>> were wrong.  I see
>>                                   4527 run, 4383 passes, 106 expected
>> failures, 26 failures, 12 errors, 0 unexpected passes
>>                               before whack-a-mole and
>>                                   4575 run, 4308 passes, 108 expected
>> failures, 26 failures, 133 errors, 0 unexpected passes
>>                               after.  And this is on Mac OS X using the
>> 64-bit VM and image.  Here's the pre-whack-a-mole full report
>>
>>
>>
>>                                     Can you send me the list of failures
>> and errors you see?
>>
>>
>>                               Pre whack-a-mole
>>                               failures: {AllocationTest>>#testOutOfMemorySignal
>> . ClassVarScopeTest>>#testDefinedClassMethodInGrandchild .
>> ClassVarScopeTest>>#testDefinedInstanceMethodInChild .
>>                               ClassVarScopeTest>>#testDefinedInstanceMethodInGrandchild
>> . ClassVarScopeTest>>#testInheritedClassMethodInGrandchild .
>>                               ClassVarScopeTest>>#testInheritedInstanceMethodInGrandchild
>> .
>>                               DateAndTimeLeapTest>>#testAsSeconds .
>> DecompilerTests>>#testDecompilerInClassesENtoEZ .
>> DecompilerTests>>#testDecompilerInClassesPAtoPM .
>>                               IslandVMTweaksTestCase>>#testForgivingPrims
>> .
>>                               MorphicUIManagerTest>>#testShowAllBinParts
>> . MultiByteFileStreamTest>>#testLineEndConversion .
>> PackageDependencyTest>>#testEtoys . PackageDependencyTest>>#testMorphic
>>             .
>>                               PackageDependencyTest>>#testSound .
>>                               PackageDependencyTest>>#testSystem .
>> ReleaseTest>>#testClassesSystemCategory . ReleaseTest>>#testMethodsWithUnboundGlobals
>> . ReleaseTest>>#testNoObsoleteClasses .
>>                               ReleaseTest>>#testUndeclared .
>>                               SocketTest>>#testSocketReuse .
>> SocketTest>>#testUDP . UnixProcessAccessorTestCase>>#testRedirectStdOutTo
>> . UnixProcessTestCase>>#testCatAFile .
>>                               UnixProcessTestCase>>#testRunCommand .
>>                               WebClientServerTest>>#testList
>> enOnInterface}
>>
>>                               errors: {BitmapStreamTests>>#testMatrixTransform2x3WithImageSegment
>> . BitmapStreamTests>>#testShortIntegerArrayWithImageSegment .
>>                               BitmapStreamTests>>#testShortPointArrayWithImageSegment
>> .
>>                               BitmapStreamTests>>#testShortRunArrayWithImageSegment
>> . BitmapStreamTests>>#testWordArrayWithImageSegment .
>> DecompilerTests>>#testDecompilerInClassesSAtoSM .
>>                               LangEnvBugs>>#testIsFontAvailable .
>>                               LangEnvBugs>>#testIsFontAvailable .
>> LocaleTest>>#testIsFontAvailable . SqueakSSLTest>>#testSSLSockets .
>> SqueakSSLTest>>#testSocketAccept .
>>                               SqueakSSLTest>>#testSocketConnect}
>>
>>                               Post whack-a-mole
>>                               failures: {AllocationTest>>#testOutOfMemorySignal
>> . ClassVarScopeTest>>#testDefinedInstanceMethodInChild .
>> ClassVarScopeTest>>#testDefinedInstanceMethodInGrandchild .
>>                               ClassVarScopeTest>>#testInheritedClassMethodInGrandchild
>> . ClassVarScopeTest>>#testInheritedInstanceMethodInGrandchild .
>> DateAndTimeLeapTest>>#testAsSeconds .
>>                               DecompilerTests>>#testDecompilerInClassesENtoEZ
>> .
>>                               DecompilerTests>>#testDecompilerInClassesPAtoPM
>> . DecompilerTests>>#testDecompilerInClassesTAtoTM .
>> MorphicUIManagerTest>>#testShowAllBinParts .
>>                               MultiByteFileStreamTest>>#testLineEndConversion
>> .
>>                               PackageDependencyTest>>#testEtoys .
>> PackageDependencyTest>>#testMorphic . PackageDependencyTest>>#testSUnitGUI
>> . PackageDependencyTest>>#testSound .
>>                               PackageDependencyTest>>#testSystem .
>>                               PackageDependencyTest>>#testTools .
>> ReleaseTest>>#testClassesSystemCategory . ReleaseTest>>#testMethodsWithUnboundGlobals
>> . ReleaseTest>>#testNoObsoleteClasses .
>>                               ReleaseTest>>#testSuperSubclassReferences .
>>                               ReleaseTest>>#testUndeclared .
>> SocketTest>>#testSocketReuse . SocketTest>>#testUDP .
>> UnixProcessTestCase>>#testCatAFile . WebClientServerTest>>#testList
>> enOnInterface}
>>
>>                               errors: {BitmapStreamTests>>#t
>> estMatrixTransform2x3WithImageSegment . BitmapStreamTests>>#testShortIntegerArrayWithImageSegment
>> .
>>                               BitmapStreamTests>>#testShortPointArrayWithImageSegment
>> .
>>                               BitmapStreamTests>>#testShortRunArrayWithImageSegment
>> . BitmapStreamTests>>#testWordArrayWithImageSegment .
>> BrowserTest>>#testFileOutMessageCategories .
>>                               DecompilerTests>>#testDecompilerInClassesSAtoSM
>> .
>>                               FileDirectoryTest>>#testAttemptExistenceCheckWhenFile
>> . FileDirectoryTest>>#testDirectoryExists .
>> FileDirectoryTest>>#testDirectoryExistsWhenLikeNamedFileExists .
>>                               FileDirectoryTest>>#testNonExi
>> stentDirectory
>>                               . FileDirectoryTest>>#testOldFileOrNoneNamed
>> . FileListTest>>#testServicesForFileEnding .
>> FileStreamTest>>#testCachingNextChunkPut .
>>                               FileStreamTest>>#testCachingNextChunkPut .
>>                               FileStreamTest>>#testDetectFileDo .
>> FileStreamTest>>#testFileTruncation . FileStreamTest>>#testFileTruncation
>> . FileStreamTest>>#testNextChunkOutOfBounds .
>>                               FileStreamTest>>#testNextChunkOutOfBounds .
>>                               FileStreamTest>>#testNextLine .
>> FileStreamTest>>#testPositionPastEndIsAtEnd .
>> FileStreamTest>>#testReadIntoStartingAtCount .
>> LangEnvBugs>>#testIsFontAvailable .
>>                               LangEnvBugs>>#testIsFontAvailable .
>>                               LocaleTest>>#testIsFontAvailable .
>> MCDictionaryRepositoryTest>>#testAddAndLoad .
>> MCDictionaryRepositoryTest>>#testIncludesName .
>>                               MCDictionaryRepositoryTest>>#testStoreAndLoad
>> .
>>                               MCDirectoryRepositoryTest>>#testAddAndLoad
>> . MCDirectoryRepositoryTest>>#testIncludesName .
>> MCDirectoryRepositoryTest>>#testStoreAndLoad .
>>                               MCMczInstallerTest>>#testInstallFromFile .
>>                               MCMczInstallerTest>>#testInstallFromFile .
>> MCMczInstallerTest>>#testInstallFromStream .
>> MCWorkingCopyTest>>#testAncestorMerge . MCWorkingCopyTest>>#testBackport
>> .
>>                               MCWorkingCopyTest>>#testDoubleRepeatedMerge
>> .
>>                               MCWorkingCopyTest>>#testMergeIntoImageWithNoChanges
>> . MCWorkingCopyTest>>#testMergeIntoUnmodifiedImage .
>> MCWorkingCopyTest>>#testOptimizedLoad .
>>                               MCWorkingCopyTest>>#testRedundantMerge .
>>                               MCWorkingCopyTest>>#testRepeatedMerge .
>> MCWorkingCopyTest>>#testSelectiveBackport .
>> MCWorkingCopyTest>>#testSimpleMerge . MCWorkingCopyTest>>#testSnapshotAndLoad
>> .
>>                               MultiByteFileStreamTest>>#test
>> AsciiBackChunk
>>                               . MultiByteFileStreamTest>>#testBinaryUpTo
>> . MultiByteFileStreamTest>>#testLineEnding .
>> MultiByteFileStreamTest>>#testLineEndingChunk .
>>                               MultiByteFileStreamTest>>#testLineEndingWithWideStrings
>> .
>>                               MultiByteFileStreamTest>>#testNextLine .
>> MultiByteFileStreamTest>>#testNextPutAllStartingAt .
>> MultiByteFileStreamTest>>#testNonAsciiBackChunk .
>>                               PNGReadWriterTest>>#test16Bit .
>>                               PNGReadWriterTest>>#test16BitDisplay .
>> PNGReadWriterTest>>#test16BitReversed . PNGReadWriterTest>>#test1Bit .
>> PNGReadWriterTest>>#test1BitDisplay .
>>                               PNGReadWriterTest>>#test1BitReversed .
>>                               PNGReadWriterTest>>#test2Bit .
>> PNGReadWriterTest>>#test2BitDisplay . PNGReadWriterTest>>#test2BitReversed
>> . PNGReadWriterTest>>#test32Bit .
>>                               PNGReadWriterTest>>#test32BitDisplay .
>>                               PNGReadWriterTest>>#test32BitReversed .
>> PNGReadWriterTest>>#test4Bit . PNGReadWriterTest>>#test4BitDisplay .
>> PNGReadWriterTest>>#test4BitReversed .
>>                               PNGReadWriterTest>>#test8Bit .
>>                               PNGReadWriterTest>>#test8BitDisplay .
>> PNGReadWriterTest>>#test8BitReversed . PNGReadWriterTest>>#testAlphaCoding
>> . PNGReadWriterTest>>#testBlack16 .
>>                               PNGReadWriterTest>>#testBlack32 .
>>                               PNGReadWriterTest>>#testBlack8 .
>> PNGReadWriterTest>>#testBlue16 . PNGReadWriterTest>>#testBlue32 .
>> PNGReadWriterTest>>#testBlue8 . PNGReadWriterTest>>#testGreen16 .
>>                               PNGReadWriterTest>>#testGreen32 .
>>                               PNGReadWriterTest>>#testGreen8 .
>> PNGReadWriterTest>>#testRed16 . PNGReadWriterTest>>#testRed32 .
>> PNGReadWriterTest>>#testRed8 . SqueakSSLTest>>#testSSLSockets .
>>                               SqueakSSLTest>>#testSocketAccept .
>>                               SqueakSSLTest>>#testSocketConnect .
>> SystemChangeFileTest>>#testCategoryAdded . SystemChangeFileTest>>#testCategoryAdded
>> .
>>             SystemChangeFileTest>>#testCategoryAddedBefore .
>>                               SystemChangeFileTest>>#testCategoryAddedBefore
>> . SystemChangeFileTest>>#testCategoryRemoved .
>> SystemChangeFileTest>>#testCategoryRemoved .
>>                               SystemChangeFileTest>>#testCategoryRenamed
>> .
>>                               SystemChangeFileTest>>#testCategoryRenamed
>> . SystemChangeFileTest>>#testClassAdded . SystemChangeFileTest>>#testClassAdded
>> . SystemChangeFileTest>>#testClassCommented
>>             .
>>                               SystemChangeFileTest>>#testClassCommented
>> . SystemChangeFileTest>>#testClassModified .
>> SystemChangeFileTest>>#testClassModified .
>>                               SystemChangeFileTest>>#testClassRecategorized
>> .
>>                               SystemChangeFileTest>>#testClassRecategorized
>> . SystemChangeFileTest>>#testClassRemoved .
>> SystemChangeFileTest>>#testClassRemoved .
>>             SystemChangeFileTest>>#testClassRenamed
>>                               .
>>                               SystemChangeFileTest>>#testClassRenamed .
>> SystemChangeFileTest>>#testExpressionDoIt .
>> SystemChangeFileTest>>#testExpressionDoIt .
>>             SystemChangeFileTest>>#testMethodAdded .
>>                               SystemChangeFileTest>>#testMethodAdded .
>> SystemChangeFileTest>>#testMethodModified .
>> SystemChangeFileTest>>#testMethodModified .
>>                               SystemChangeFileTest>>#testMethodRecategorized
>> .
>>                               SystemChangeFileTest>>#testMethodRecategorized
>> . SystemChangeFileTest>>#testMethodRemoved .
>> SystemChangeFileTest>>#testMethodRemoved .
>>                               SystemChangeFileTest>>#testProtocolAdded .
>>                               SystemChangeFileTest>>#testProtocolAdded .
>> SystemChangeFileTest>>#testProtocolDefault .
>> SystemChangeFileTest>>#testProtocolDefault .
>>                               SystemChangeFileTest>>#testProtocolRemoved
>> .
>>                               SystemChangeFileTest>>#testProtocolRemoved
>> . SystemChangeFileTest>>#testProtocolRenamed .
>> SystemChangeFileTest>>#testProtocolRenamed .
>>                               TraitFileOutTest>>#testCondenseChanges .
>>                               TraitFileOutTest>>#testFileOutCategory .
>> TraitFileOutTest>>#testFileOutTrait . UnixProcessAccessorTestCase>>#testDupTo
>> .
>>             UnixProcessAccessorTestCase>>#testRedirectStdOutTo
>>                               .
>>                               UnixProcessTestCase>>#testCatFromFileToFiles
>> . UnixProcessTestCase>>#testRunCommand}
>>
>>                               And all those duplications confuse me.  And
>> the sources seem to have been killed by running the tests.
>>
>>                               HTH
>>
>>
>>
>>
>>                                     Levente
>>
>>                                     On Mon, 13 Mar 2017, Eliot Miranda
>> wrote:
>>
>>                                           Hi Levente,
>>                                               the SortedCollection
>> whack-a-mole [ :-) :-) ] update appears to have caused a significant uptick
>> in Squeak trunk test suite errors, from about 26 to
>>             over
>>                               80.  Are you aware of
>>                                           this?  Are you addressing
>>                                           the errors?
>>
>>                                           I was a little bit
>> inconvenienced by this because I was testing Slang changes to the VM and
>> mistook these errors as evidence of bugs in my Slang changes.
>>                               That's life and I'm happy to
>>                                           accept the situation.
>>                                           But I would like to see the
>> errors come back down to around 26 or less :-)
>>
>>                                           Cheers
>>                                           Eliot
>>
>>                                           On Mon, Mar 13, 2017 at 8:00
>> AM, <commits at source.squeak.org> wrote:
>>                                                 Levente Uzonyi uploaded a
>> new version of System to project The Trunk:
>>
>> http://source.squeak.org/trunk/System-ul.932.mcz
>>
>>                                                 ====================
>> Summary ====================
>>
>>                                                 Name: System-ul.932
>>                                                 Author: ul
>>                                                 Time: 13 March 2017,
>> 3:10:17.453603 pm
>>                                                 UUID:
>> 7a305614-9a4b-47f8-a68f-79fcf6f90a80
>>                                                 Ancestors: System-eem.931
>>
>>                                                 - SortedCollection
>> Whack-a-mole
>>                                                 - introduced
>> #classVarNames and #classInstVarNames in PseudoClass, because they had
>> senders
>>                                                 - removed
>> #startTimerInterruptWatcher from messages to keep lists
>>
>>                                                 =============== Diff
>> against System-eem.931 ===============
>>
>>                                                 Item was changed:
>>                                                   ----- Method: ChangeSet
>> class>>traitsOrder: (in category 'fileIn/Out') -----
>>                                                   traitsOrder: aCollection
>>                                                         "Answer an
>> OrderedCollection. The traits
>>                                                         are ordered so
>> they can be filed in."
>>
>>                                                 +       ^aCollection
>> sorted: [:t1 :t2 |
>>                                                 -       |  traits |
>>                                                 -       traits :=
>> aCollection asSortedCollection: [:t1 :t2 |
>>                                                                 (t1
>> isBaseTrait and: [t1 classTrait == t2]) or: [
>>
>> (t2 traitComposition allTraits includes: t1) or: [
>>                                                 +
>>        (t1 traitComposition allTraits includes: t2) not]]]!
>>                                                 -
>>        (t1 traitComposition allTraits includes: t2) not]]].
>>                                                 -       ^traits asArray!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> ChangeSet>>changedMessageList (in category 'method changes') -----
>>                                                   changedMessageList
>>                                                         "Used by a
>> message set browser to access the list view information."
>>
>>                                                         | messageList |
>>                                                         messageList :=
>> OrderedCollection new.
>>                                                         changeRecords
>> associationsDo: [:clAssoc | | classNameInParts classNameInFull |
>>
>> classNameInFull := clAssoc key asString.
>>
>> classNameInParts := classNameInFull findTokens: ' '.
>>
>>                                                                 (clAssoc
>> value allChangeTypes includes: #comment) ifTrue:
>>
>> [messageList add:
>>
>>       (MethodReference new
>>
>>               setClassSymbol: classNameInParts first asSymbol
>>
>>               classIsMeta: false
>>
>>               methodSymbol: #Comment
>>
>>               stringVersion: classNameInFull, ' Comment')].
>>
>>                                                                 clAssoc
>> value methodChangeTypes associationsDo: [:mAssoc |
>>
>> (#(remove addedThenRemoved) includes: mAssoc value) ifFalse:
>>
>>       [messageList add:
>>
>>               (MethodReference new
>>
>>                       setClassSymbol: classNameInParts first asSymbol
>>
>>                       classIsMeta: classNameInParts size > 1
>>
>>                       methodSymbol: mAssoc key
>>
>>                       stringVersion: classNameInFull, ' ' , mAssoc key)]]].
>>                                                 +       ^ messageList
>> sort!
>>                                                 -       ^ messageList
>> asSortedArray!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> ChangeSet>>checkForUncommentedClasses (in category 'fileIn/Out') -----
>>
>> checkForUncommentedClasses
>>                                                         "Check to see if
>> any classes involved in this change set do not have class comments.  Open
>> up a browser showing all such classes."
>>
>>                                                         | aList |
>>                                                         aList := self
>> changedClasses
>>                                                                 select:
>>
>> [:aClass | aClass theNonMetaClass organization classComment isEmptyOrNil]
>>
>> thenCollect:
>>
>> [:aClass  | aClass theNonMetaClass name].
>>
>>                                                         aList size > 0
>>                                                                 ifFalse:
>>
>> [^ self inform: 'All classes involved in this change set have class
>> comments']
>>                                                                 ifTrue:
>>                                                 +
>>  [ToolSet openClassListBrowser: aList asSet sorted title: 'Classes in
>> Change Set ', self name, ': classes that lack class
>>                               comments']!
>>                                                 -
>>  [ToolSet openClassListBrowser: aList asSet asSortedArray title: 'Classes
>> in Change Set ', self name, ': classes that lack
>>             class
>>                               comments']!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> ChangeSet>>fileOutOn: (in category 'fileIn/Out') -----
>>                                                   fileOutOn: stream
>>                                                         "Write out all
>> the changes the receiver knows about"
>>
>>                                                         | classList
>> traits classes traitList list |
>>                                                         (self isEmpty
>> and: [stream isKindOf: FileStream])
>>                                                                 ifTrue:
>> [self inform: 'Warning: no changes to file out'].
>>
>>                                                         traits := self
>> changedClasses reject: [:each | each isBehavior].
>>                                                         classes := self
>> changedClasses select: [:each | each isBehavior].
>>                                                         traitList := self
>> class traitsOrder: traits asOrderedCollection.
>>                                                         classList := self
>> class superclassOrder: classes asOrderedCollection.
>>                                                         list :=
>> OrderedCollection new
>>                                                                 addAll:
>> traitList;
>>                                                                 addAll:
>> classList;
>>                                                                 yourself.
>>
>>                                                         "First put out
>> rename, max classDef and comment changes."
>>                                                         list do: [:aClass
>> | self fileOutClassDefinition: aClass on: stream].
>>
>>                                                         "Then put out all
>> the method changes"
>>                                                         list do: [:aClass
>> | self fileOutChangesFor: aClass on: stream].
>>
>>                                                         "Finally put out
>> removals, final class defs and reorganization if any"
>>                                                         list reverseDo:
>> [:aClass | self fileOutPSFor: aClass on: stream].
>>
>>                                                 +       self classRemoves
>> sort do:
>>                                                 -       self classRemoves
>> asSortedCollection do:
>>
>> [:aClassName | stream nextChunkPut: 'Smalltalk removeClassNamed: #',
>> aClassName; cr].!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> InternalTranslator>>fileOutOn:keys:withBOM: (in category
>> 'fileIn/fileOut') -----
>>                                                   fileOutOn: aStream
>> keys: keys withBOM: bomFlag
>>                                                         "self current
>> fileOutOn: Transcript. Transcript endEntry"
>>                                                         self
>> fileOutHeaderOn: aStream withBOM: bomFlag.
>>                                                         (keys
>>                                                 +               ifNil:
>> [generics keys sort])
>>                                                 -               ifNil:
>> [generics keys asSortedCollection])
>>                                                                 do: [:key
>> | self
>>
>>       nextChunkPut: (generics associationAt: key)
>>
>>       on: aStream].
>>                                                         keys
>>                                                                 ifNil:
>> [self untranslated
>>
>>       do: [:each | self nextChunkPut: each -> '' on: aStream]].
>>                                                         aStream nextPut:
>> $!!;
>>                                                                  cr!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> MczInstaller>>install (in category 'installation') -----
>>                                                   install
>>                                                 +
>>                                                 -       | sources |
>>                                                         zip := ZipArchive
>> new.
>>                                                         zip readFrom:
>> stream.
>>                                                         self
>> checkDependencies ifFalse: [^false].
>>                                                         self
>> recordVersionInfo.
>>                                                 +       (zip
>> membersMatching: 'snapshot/*')
>>                                                 +               sort: [:a
>> :b | a fileName < b fileName];
>>                                                 +               do: [:src
>> | self installMember: src].!
>>                                                 -       sources := (zip
>> membersMatching: 'snapshot/*')
>>                                                 -
>>        asSortedCollection: [:a :b | a fileName < b fileName].
>>                                                 -       sources do: [:src
>> | self installMember: src].!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> Preferences class>>giveHelpWithPreferences (in category 'support') -----
>>                                                   giveHelpWithPreferences
>>                                                         "Open up a
>> workspace with explanatory info in it about Preferences"
>>
>>                                                         | aString |
>>                                                         aString := String
>> streamContents: [:aStream |
>>                                                                 aStream
>> nextPutAll:
>>
>>                                                   'Many aspects of the
>> system are governed by the settings of various "Preferences".
>>
>>                                                   Click on any of brown
>> tabs at the top of the panel to see all the preferences in that category.
>>                                                   Or type in to the box
>> above the Search button, then hit Search, and all Preferences matching
>> whatever you typed in will appear in the "search
>>             results"
>>                               category.  A preference
>>                                           is considered to
>>                                                 match your search if
>> either its name matches the characters *or* if anything in the balloon help
>> provided for the preferences matches the search
>>             text.
>>
>>                                                   To find out more about
>> any particular Preference, hold the mouse over it for a moment and balloon
>> help will appear.  Also, a complete list of all
>>             the
>>                               Preferences, with
>>                                           documentation for each, is
>>                                                 included below.
>>
>>                                                   Preferences whose names
>> are in shown in bold in the Preferences Panel are designated as being
>> allowed to vary from project to project; those whose
>>             name
>>                               are not in bold are
>>                                           "global", which is to
>>                                                 say, they apply equally
>> whatever project you are in.
>>
>>                                                   Click on the name of
>> any preference to get a menu which allows you to *change* whether the
>> preference should vary from project to project or
>>             should be
>>                               global, and also allows
>>                                           you to browse all
>>                                                 the senders of the
>> preference, and to discover all the categories under which the preference
>> has been classified, and to be handed a button that you
>>             can
>>                               drop wherever you please
>>                                           that will control
>>                                                 the preference.
>>
>>                                                   If you like all your
>> current Preferences settings, you may wish to hit the "Save Current
>> Settings as my Personal Preferences" button.  Once you
>>             have
>>                               done that, you can at any
>>                                           point in the future
>>                                                 hit "Restore my Personal
>> Preferences" and all your saved settings will get restored immediately.
>>
>>                                                   Also, you can use
>> "themes" to set multiple preferences all at once; click on the "change
>> theme..." button in the Squeak flap or in the Preferences
>>                               panel, or seek out the themes
>>                                           item in the
>>                                                 Appearance menu.'
>> translated.
>>
>>                                                         aStream cr; cr;
>> nextPutAll: '-----------------------------------------------------------
>> ------';
>>                                                                 cr; cr;
>> nextPutAll:  'Alphabetical listing of all Preferences' translated; cr; cr.
>>                                                 +    (Preferences
>> allPreferences sort: [:a :b | a name < b name]) do:
>>                                                 -    (Preferences
>> allPreferences asSortedCollection: [:a :b | a name < b name]) do:
>>                                                         [:pref | |
>> aHelpString |
>>                                                                 aStream
>> nextPutAll: pref name; cr.
>>
>> aHelpString := pref helpString translated.
>>
>> (aHelpString beginsWith: pref name) ifTrue:
>>
>> [aHelpString := aHelpString copyFrom: (pref name size ) to: aHelpString
>> size].
>>
>> aHelpString := (aHelpString copyReplaceAll: String cr with: ' ')
>> copyWithout: Character tab.
>>                                                                 aStream
>> nextPutAll: aHelpString capitalized.
>>
>> (aHelpString isEmpty or: [aHelpString last == $.]) ifFalse: [aStream
>> nextPut: $.].
>>                                                           aStream cr;
>> cr]].
>>
>>                                                         UIManager default
>> edit: aString label: 'About Preferences' translated
>>
>>                                                   "Preferences
>> giveHelpWithPreferences"!
>>
>>                                                 Item was changed:
>>                                                   ----- Method: Project
>> class>>allNames (in category 'utilities') -----
>>                                                   allNames
>>                                                 +
>>                                                 +       ^(self
>> allProjects collect: [:p | p name]) sort: [:n1 :n2 | n1
>> caseInsensitiveLessOrEqual: n2]!
>>                                                 -       ^ (self
>> allProjects collect: [:p | p name]) asSortedCollection: [:n1 :n2 | n1
>> asLowercase < n2 asLowercase]!
>>
>>                                                 Item was changed:
>>                                                   ----- Method: Project
>> class>>allNamesAndProjects (in category 'utilities') -----
>>                                                   allNamesAndProjects
>>                                                 +
>>                                                 +       ^(self allProjects
>>                                                 +               sorted: [
>> :p1 :p2 | p1 name caseInsensitiveLessOrEqual: p2 name ])
>>                                                 +               replace:
>> [ :aProject | Array with: aProject name with: aProject ]!
>>                                                 -       ^ (self
>> allProjects asSortedCollection: [:p1 :p2 | p1 name asLowercase < p2 name
>> asLowercase]) collect:
>>                                                 -
>>  [:aProject | Array with: aProject name with: aProject]!
>>
>>                                                 Item was changed:
>>                                                   ----- Method: Project
>> class>>sweep: (in category 'squeaklet on server') -----
>>                                                   sweep: aServerDirectory
>>                                                         | repository list
>> parts ind entry projectName versions |
>>                                                         "On the server,
>> move all but the three most recent versions of each Squeaklet to a folder
>> called 'older'"
>>                                                         "Project sweep:
>> ((ServerDirectory serverNamed: 'DaniOnJumbo') clone
>>
>>       directory: '/vol0/people/dani/Squeaklets/2.7')"
>>
>>                                                         "Ensure the
>> 'older' directory"
>>                                                         (aServerDirectory
>> includesKey: 'older')
>>                                                                 ifFalse:
>> [aServerDirectory createDirectory: 'older'].
>>                                                         repository :=
>> aServerDirectory clone directory: aServerDirectory directory, '/older'.
>>
>>                                                         "Collect each
>> name, and decide on versions"
>>                                                         list :=
>> aServerDirectory fileNames.
>>                                                         list isString
>> ifTrue: [^ self inform: 'server is unavailable' translated].
>>                                                 +       list sort.
>>                                                 -       list := list
>> asSortedCollection asOrderedCollection.
>>                                                         parts := list
>> collect: [:en | Project parseProjectFileName: en].
>>                                                         parts := parts
>> select: [:en | en third = 'pr'].
>>                                                         ind := 1.
>>                                                         [entry := list
>> at: ind.
>>
>> projectName := entry first asLowercase.
>>                                                                 versions
>> := OrderedCollection new.  versions add: entry.
>>                                                                 [(ind :=
>> ind + 1) > list size
>>
>> ifFalse: [(parts at: ind) first asLowercase = projectName
>>
>>       ifTrue: [versions add: (parts at: ind).  true]
>>
>>       ifFalse: [false]]
>>
>> ifTrue: [false]] whileTrue.
>>
>> aServerDirectory moveYoungest: 3 in: versions to: repository.
>>                                                                 ind >
>> list size] whileFalse.
>>                                                   !
>>
>>                                                 Item was added:
>>                                                 + ----- Method:
>> PseudoClass>>classInstVarNames (in category 'accessing') -----
>>                                                 + classInstVarNames
>>                                                 +
>>                                                 +       self realClass
>> ifNotNil: [ :realClass | ^realClass instVarNames ].
>>                                                 +       ^#()!
>>
>>                                                 Item was added:
>>                                                 + ----- Method:
>> PseudoClass>>classVarNames (in category 'accessing') -----
>>                                                 + classVarNames
>>                                                 +
>>                                                 +       self realClass
>> ifNotNil: [ :realClass | ^realClass classVarNames ].
>>                                                 +       ^#()!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> SmalltalkImage>>presumedSentMessages (in category 'shrinking') -----
>>                                                   presumedSentMessages
>>  | sent |
>>                                                   "Smalltalk
>> presumedSentMessages"
>>
>>                                                         "The following
>> should be preserved for doIts, etc"
>>                                                         sent :=
>> IdentitySet new.
>>
>> #(compactSymbolTable rebuildAllProjects
>>
>> browseAllSelect:  lastRemoval
>>
>> scrollBarValue: vScrollBarValue: scrollBarMenuButtonPressed:
>>
>> withSelectionFrom:  to: removeClassNamed:
>>                                                                 dragon:
>> hilberts: mandala: web test3 factorial tinyBenchmarks benchFib
>>                                                                 newDepth:
>> restoreAfter: zapAllMethods obsoleteClasses
>>
>> removeAllUnSentMessages abandonSources removeUnreferencedKeys
>>
>> reclaimDependents zapOrganization condenseChanges browseObsoleteReferences
>>
>> subclass:instanceVariableNames:classVariableNames:poolDictio
>> naries:category:
>>
>> methodsFor:stamp: methodsFor:stamp:prior: instanceVariableNames:
>>                                                 +
>>  unusedClasses) do:
>>                                                 -
>>  startTimerInterruptWatcher unusedClasses) do:
>>                                                                 [:sel |
>> sent add: sel].
>>                                                         "The following
>> may be sent by perform: in dispatchOnChar..."
>>                                                         Smalltalk at:
>> #ParagraphEditor ifPresent: [:paragraphEditor |
>>
>> (paragraphEditor classPool at: #CmdActions) asSet do:
>>
>> [:sel | sent add: sel].
>>
>> (paragraphEditor classPool at: #ShiftCmdActions) asSet do:
>>
>> [:sel | sent add: sel]].
>>                                                         ^ sent!
>>
>>                                                 Item was changed:
>>                                                   ----- Method:
>> SmalltalkImage>>removeAllUnSentMessages (in category 'shrinking') -----
>>                                                   removeAllUnSentMessages
>>                                                         "Smalltalk
>> removeAllUnSentMessages"
>>                                                         "[Smalltalk
>> unusedClasses do: [:c | (Smalltalk at: c) removeFromSystem].
>>                                                         Smalltalk
>> removeAllUnSentMessages > 0] whileTrue."
>>                                                         "Remove all
>> implementations of unsent messages."
>>                                                         | sels n |
>>                                                         sels := self
>> systemNavigation allUnSentMessages.
>>                                                         "The following
>> should be preserved for doIts, etc"
>>                                                         "needed even
>> after #majorShrink is pulled"
>>                                                 +
>>  #(#compactSymbolTable #rebuildAllProjects #browseAllSelect:  #lastRemoval
>> #scrollBarValue: vScrollBarValue: #scrollBarMenuButtonPressed:
>>                               #withSelectionFrom: #to:
>>                                           #removeClassNamed:
>>                                                 #dragon: #hilberts:
>> #mandala: #web #test3 #factorial #tinyBenchmarks #benchFib #newDepth:
>> #restoreAfter: #zapAllMethods #obsoleteClasses
>>                               #removeAllUnSentMessages #abandonSources
>>                                                 #removeUnreferencedKeys
>> #reclaimDependents #zapOrganization #condenseChanges
>> #browseObsoleteReferences
>>                                           #subclass:instanceVariableName
>> s:classVariableNames:poolDictionaries:category:
>>                                                 #methodsFor:stamp:
>> #methodsFor:stamp:prior: #instanceVariableNames: #unusedClasses )
>>                                                 -
>>  #(#compactSymbolTable #rebuildAllProjects #browseAllSelect:  #lastRemoval
>> #scrollBarValue: vScrollBarValue: #scrollBarMenuButtonPressed:
>>                               #withSelectionFrom: #to:
>>                                           #removeClassNamed:
>>                                                 #dragon: #hilberts:
>> #mandala: #web #test3 #factorial #tinyBenchmarks #benchFib #newDepth:
>> #restoreAfter: #zapAllMethods #obsoleteClasses
>>                               #removeAllUnSentMessages #abandonSources
>>                                                 #removeUnreferencedKeys
>> #reclaimDependents #zapOrganization #condenseChanges
>> #browseObsoleteReferences
>>                                           #subclass:instanceVariableName
>> s:classVariableNames:poolDictionaries:category:
>
>
>
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170313/3349afe6/attachment-0001.html>


More information about the Squeak-dev mailing list