In Boolean there is now an empty category "*eToys-*morphic".
Either it could be removed - or a failure while packaging (dont know how Monticello behaves with two *). Any comments? Shouldnt we run a script on trunk to remove empty categories to clean up a little bit? Thx T. -- NEU: Mit GMX DSL über 1000,- ¿ sparen! http://portal.gmx.net/de/go/dsl02 |
Torsten Bergmann wrote:
> In Boolean there is now an empty category "*eToys-*morphic". > Either it could be removed - or a failure while packaging > (dont know how Monticello behaves with two *). > > Any comments? > > Shouldnt we run a script on trunk to remove empty > categories to clean up a little bit? Absolutely. Does anyone know where all of these empty *Etoys and *MorphicExtras categories come from? Cheers, - Andreas |
In reply to this post by Torsten Bergmann
On 2/9/10 11:58 AM, "Torsten Bergmann" <[hidden email]> wrote: > Shouldnt we run a script on trunk to remove empty > categories to clean up a little bit? Trying to see if the cleanup I have was in Squeak3.11-8931-alpha.image originate the attached walkback The error was with the .cs via drag and drop and selecting code browser Using message names tool I see no cleanup in image, so I copy paste here. Come from original code of Ramon Leon and IMHO should be used before any image go to ftp !SmalltalkImage methodsFor: 'image cleanup' stamp: 'edc 12/13/2009 08:34'! cleanup "SmalltalkImage current cleanup" | tasks | Transcript open. tasks := OrderedCollection new add: [Smalltalk removeEmptyMessageCategories]; add: [Workspace allSubInstancesDo: [:each | each setBindings: Dictionary new]]; add: [Undeclared removeUnreferencedKeys]; add: [Categorizer sortAllCategories]; add: [Symbol compactSymbolTable]; add: [#(#TheWorldMenu #FileServices #AppRegistry #Preferences #FileList ) do: [:cl | (Smalltalk at: cl) removeObsolete]]; add: [Flaps freshFlapsStart]; add: [MCFileBasedRepository flushAllCaches]; add: [HandMorph releaseCachedState; initForEvents. self fixObsoleteReferences]; add: [Smalltalk forgetDoIts. DataStream initialize. Behavior flushObsoleteSubclasses. "The pointer to currentMethod is not realy needed (anybody care to fix this) and often holds on to obsolete bindings" MethodChangeRecord allInstancesDo: [:each | each noteNewMethod: nil]. Smalltalk garbageCollectMost]; yourself. Utilities informUserDuring: [:bar | tasks do: [:block | bar value: block printString. [block value] on: Error do: [:error | Transcript show: error; cr]]]. SystemNavigation default obsoleteClasses isEmpty ifTrue: [SmalltalkImage current saveSession] ifFalse: [SystemNavigation default obsoleteClasses do: [:each | self halt. [PointerFinder on: each] on: Error do: [:error | Transcript show: error; cr]]]! ! Edgar SqueakDebug.log (4K) Download Attachment |
Thanks, Edgar! That's a really useful script.
Cheers, - Andreas Edgar J. De Cleene wrote: > > > On 2/9/10 11:58 AM, "Torsten Bergmann" <[hidden email]> wrote: > >> Shouldnt we run a script on trunk to remove empty >> categories to clean up a little bit? > > Trying to see if the cleanup I have was in Squeak3.11-8931-alpha.image > originate the attached walkback > > The error was with the .cs via drag and drop and selecting code browser > Using message names tool I see no cleanup in image, so I copy paste here. > Come from original code of Ramon Leon and IMHO should be used before any > image go to ftp > > !SmalltalkImage methodsFor: 'image cleanup' stamp: 'edc 12/13/2009 08:34'! > cleanup > "SmalltalkImage current cleanup" > | tasks | > Transcript open. > tasks := OrderedCollection new > add: [Smalltalk removeEmptyMessageCategories]; > > add: [Workspace > allSubInstancesDo: [:each | each setBindings: > Dictionary new]]; > > add: [Undeclared removeUnreferencedKeys]; > > add: [Categorizer sortAllCategories]; > > add: [Symbol compactSymbolTable]; > > add: [#(#TheWorldMenu #FileServices #AppRegistry > #Preferences #FileList ) > do: [:cl | (Smalltalk at: cl) removeObsolete]]; > > add: [Flaps freshFlapsStart]; > > add: [MCFileBasedRepository flushAllCaches]; > > add: [HandMorph releaseCachedState; initForEvents. > self fixObsoleteReferences]; > > add: [Smalltalk forgetDoIts. > DataStream initialize. > Behavior flushObsoleteSubclasses. > "The pointer to currentMethod is not realy needed > (anybody care to fix this) and often holds on to > obsolete bindings" > MethodChangeRecord > allInstancesDo: [:each | each noteNewMethod: nil]. > Smalltalk garbageCollectMost]; > yourself. > Utilities > informUserDuring: [:bar | tasks > do: [:block | > bar value: block printString. > [block value] > on: Error > do: [:error | Transcript show: error; > cr]]]. > SystemNavigation default obsoleteClasses isEmpty > ifTrue: [SmalltalkImage current saveSession] > ifFalse: [SystemNavigation default obsoleteClasses > do: [:each | > self halt. > [PointerFinder on: each] > on: Error > do: [:error | Transcript show: error; > cr]]]! ! > > Edgar > > > > ------------------------------------------------------------------------ > > |
On 2/9/10 6:30 PM, "Andreas Raab" <[hidden email]> wrote: > Thanks, Edgar! That's a really useful script. > > Cheers, > - Andreas I think I send before, but maybe not... Any idea why drag and drop a .cs into the image raise the error? Edgar |
In reply to this post by Edgar J. De Cleene
On Tue, Feb 9, 2010 at 11:20 AM, Edgar J. De Cleene <[hidden email]> wrote:
Pedantry: [block value] on: Error do: [:error | Transcript show: error; cr]]]. is equivalent to block on: Error do: [:error | Transcript show: error; cr]]]. |
In reply to this post by Andreas.Raab
> Thanks, Edgar! That's a really useful script. > > Cheers, > - Andreas This might help http://bugs.squeak.org/view.php?id=7244 Keith |
In reply to this post by Eliot Miranda-2
Eliot Miranda wrote:
> Pedantry: > [block value] > on: Error > do: [:error | Transcript show: error; > cr]]]. > > is equivalent to > > block > on: Error > do: [:error | Transcript show: error; > cr]]]. Since we're being pedantic, we should also make the point that the above is only equivalent if the "block" argument truly is an instance of BlockClosure. If you have reason to expect that it might be useful to support something else (MessageSend etc) then it's not equivalent at all. If in doubt, use the first form. Cheers, - Andreas |
Free forum by Nabble | Edit this page |