When attempting to load Seaside-2.8, with the image updated to 11192, I got:
UndefinedObject(Object)>>doesNotUnderstand: #do: WriteStream(Stream)>>nextPutAll: WriteStream>>nextPutAll: WriteStream(Stream)>>basicNextPutAll: UTF8TextConverter(TextConverter)>>nextPutAll:toStream: ByteString(String)>>convertToWithConverter: WAKomEncoded39 class>>setUpConversionTables WAKomEncoded39 class>>initialize It actually gave me an emergency evaluator, and failed to save the entire stack trace to PharoDebug.log - maybe due to UTF8 issues. I had to use the send bug report feature to capture the stack trace. I think the problem is that WAKomEncoded39 is setting things up for codepoints 0..255, but the newly optimized UTF8TextConverter has nil entries for codepoints less than 128. -- Yanni VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.1b1 Image: PharoCore1.1ALPHA [Latest update: #11192] --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #do: WriteStream(Stream)>>nextPutAll: WriteStream>>nextPutAll: WriteStream(Stream)>>basicNextPutAll: UTF8TextConverter(TextConverter)>>nextPutAll:toStream: ByteString(String)>>convertToWithConverter: WAKomEncoded39 class>>setUpConversionTables WAKomEncoded39 class>>initialize MCMethodDefinition>>postloadOver: [] in [] in [] in MCPackageLoader>>basicLoad [] in [] in OrderedCollection(SequenceableCollection)>>do:displayingProgress: OrderedCollection(SequenceableCollection)>>withIndexDo: [] in OrderedCollection(SequenceableCollection)>>do:displayingProgress: [] in ProgressInitiationException>>defaultAction BlockClosure>>ensure: ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: MethodContext(ContextPart)>>handleSignal: MethodContext(ContextPart)>>handleSignal: MethodContext(ContextPart)>>handleSignal: MethodContext(ContextPart)>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during: ProgressInitiationException class>>display:at:from:to:during: ByteString(String)>>displayProgressAt:from:to:during: OrderedCollection(SequenceableCollection)>>do:displayingProgress: [] in [] in MCPackageLoader>>basicLoad BlockClosure>>on:do: [] in MCPackageLoader>>basicLoad BlockClosure>>ensure: MCPackageLoader>>basicLoad [] in MCPackageLoader>>loadWithNameLike: [] in MCPackageLoader>>useChangeSetNamed:during: BlockClosure>>ensure: MCPackageLoader>>useChangeSetNamed:during: MCPackageLoader>>useNewChangeSetNamedLike:during: MCPackageLoader>>loadWithNameLike: MCVersionLoader>>loadWithNameLike: MCVersionLoader>>load - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GoferLoad>>execute Gofer>>execute:do: Gofer>>execute: Gofer>>load [] in UndefinedObject>>DoIt [] in BlockClosure>>valueSupplyingAnswers: BlockClosure>>on:do: BlockClosure>>valueSupplyingAnswers: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: Compiler class>>evaluate:for:notifying:logged: Compiler class>>evaluate:for:logged: Compiler class>>evaluate:logged: [] in [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: BlockClosure>>on:do: [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: [] in ProgressInitiationException>>defaultAction BlockClosure>>ensure: ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: MethodContext(ContextPart)>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during: ProgressInitiationException class>>display:at:from:to:during: ByteString(String)>>displayProgressAt:from:to:during: MultiByteFileStream(PositionableStream)>>fileInAnnouncing: MultiByteFileStream(FileStream)>>fileIn MultiByteFileStream>>fileIn FileStream class>>fileIn: SimpleServiceEntry>>performServiceFor: [] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: BlockClosure>>ensure: CursorWithMask(Cursor)>>showWhile: ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: ToggleMenuItemMorph(MenuItemMorph)>>mouseUp: ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp: MouseButtonEvent>>sentTo: ToggleMenuItemMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: ToggleMenuItemMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: MenuMorph(Morph)>>processEvent:using: MenuMorph(Morph)>>processEvent: MenuMorph>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: [] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess [] in BlockClosure>>newProcess _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Thanks!
Indeed there were some work on UTF8Encoder and friends. do you know if the same happened in latest squeak? On Feb 3, 2010, at 10:57 PM, Yanni Chiu wrote: > When attempting to load Seaside-2.8, with the image updated to 11192, I got: > > UndefinedObject(Object)>>doesNotUnderstand: #do: > WriteStream(Stream)>>nextPutAll: > WriteStream>>nextPutAll: > WriteStream(Stream)>>basicNextPutAll: > UTF8TextConverter(TextConverter)>>nextPutAll:toStream: > ByteString(String)>>convertToWithConverter: > WAKomEncoded39 class>>setUpConversionTables > WAKomEncoded39 class>>initialize > > It actually gave me an emergency evaluator, and failed to save the entire stack trace to PharoDebug.log - maybe due to UTF8 issues. I had to use the send bug report feature to capture the stack trace. > > I think the problem is that WAKomEncoded39 is setting things up for codepoints 0..255, but the newly optimized UTF8TextConverter has nil entries for codepoints less than 128. > > -- > Yanni > > VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest update: > #6747] Squeak VM 4.2.1b1 > Image: PharoCore1.1ALPHA [Latest update: #11192] > > --- The full stack --- > UndefinedObject(Object)>>doesNotUnderstand: #do: > WriteStream(Stream)>>nextPutAll: > WriteStream>>nextPutAll: > WriteStream(Stream)>>basicNextPutAll: > UTF8TextConverter(TextConverter)>>nextPutAll:toStream: > ByteString(String)>>convertToWithConverter: > WAKomEncoded39 class>>setUpConversionTables > WAKomEncoded39 class>>initialize > MCMethodDefinition>>postloadOver: > [] in [] in [] in MCPackageLoader>>basicLoad > [] in [] in > OrderedCollection(SequenceableCollection)>>do:displayingProgress: > OrderedCollection(SequenceableCollection)>>withIndexDo: > [] in OrderedCollection(SequenceableCollection)>>do:displayingProgress: > [] in ProgressInitiationException>>defaultAction > BlockClosure>>ensure: > ProgressInitiationException>>defaultAction > UndefinedObject>>handleSignal: > MethodContext(ContextPart)>>handleSignal: > MethodContext(ContextPart)>>handleSignal: > MethodContext(ContextPart)>>handleSignal: > MethodContext(ContextPart)>>handleSignal: > ProgressInitiationException(Exception)>>signal > ProgressInitiationException>>display:at:from:to:during: > ProgressInitiationException class>>display:at:from:to:during: > ByteString(String)>>displayProgressAt:from:to:during: > OrderedCollection(SequenceableCollection)>>do:displayingProgress: > [] in [] in MCPackageLoader>>basicLoad > BlockClosure>>on:do: > [] in MCPackageLoader>>basicLoad > BlockClosure>>ensure: > MCPackageLoader>>basicLoad > [] in MCPackageLoader>>loadWithNameLike: > [] in MCPackageLoader>>useChangeSetNamed:during: > BlockClosure>>ensure: > MCPackageLoader>>useChangeSetNamed:during: > MCPackageLoader>>useNewChangeSetNamedLike:during: > MCPackageLoader>>loadWithNameLike: > MCVersionLoader>>loadWithNameLike: > MCVersionLoader>>load > - - - - - - - - - - - - - - - > - - - - - - - - - - - - - - - - - - > GoferLoad>>execute > Gofer>>execute:do: > Gofer>>execute: > Gofer>>load > [] in UndefinedObject>>DoIt > [] in BlockClosure>>valueSupplyingAnswers: > BlockClosure>>on:do: > BlockClosure>>valueSupplyingAnswers: > UndefinedObject>>DoIt > Compiler>>evaluate:in:to:notifying:ifFail:logged: > Compiler class>>evaluate:for:notifying:logged: > Compiler class>>evaluate:for:logged: > Compiler class>>evaluate:logged: > [] in [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: > BlockClosure>>on:do: > [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: > [] in ProgressInitiationException>>defaultAction > BlockClosure>>ensure: > ProgressInitiationException>>defaultAction > UndefinedObject>>handleSignal: > MethodContext(ContextPart)>>handleSignal: > ProgressInitiationException(Exception)>>signal > ProgressInitiationException>>display:at:from:to:during: > ProgressInitiationException class>>display:at:from:to:during: > ByteString(String)>>displayProgressAt:from:to:during: > MultiByteFileStream(PositionableStream)>>fileInAnnouncing: > MultiByteFileStream(FileStream)>>fileIn > MultiByteFileStream>>fileIn > FileStream class>>fileIn: > SimpleServiceEntry>>performServiceFor: > [] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: > BlockClosure>>ensure: > CursorWithMask(Cursor)>>showWhile: > ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: > ToggleMenuItemMorph(MenuItemMorph)>>mouseUp: > ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp: > MouseButtonEvent>>sentTo: > ToggleMenuItemMorph(Morph)>>handleEvent: > MorphicEventDispatcher>>dispatchDefault:with: > MorphicEventDispatcher>>dispatchEvent:with: > ToggleMenuItemMorph(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchDefault:with: > MorphicEventDispatcher>>dispatchEvent:with: > MenuMorph(Morph)>>processEvent:using: > MenuMorph(Morph)>>processEvent: > MenuMorph>>handleFocusEvent: > [] in HandMorph>>sendFocusEvent:to:clear: > [] in PasteUpMorph>>becomeActiveDuring: > BlockClosure>>on:do: > PasteUpMorph>>becomeActiveDuring: > HandMorph>>sendFocusEvent:to:clear: > HandMorph>>sendEvent:focus:clear: > HandMorph>>sendMouseEvent: > HandMorph>>handleEvent: > HandMorph>>processEvents > [] in WorldState>>doOneCycleNowFor: > Array(SequenceableCollection)>>do: > WorldState>>handsDo: > WorldState>>doOneCycleNowFor: > WorldState>>doOneCycleFor: > PasteUpMorph>>doOneCycle > [] in Project class>>spawnNewProcess > [] in BlockClosure>>newProcess > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Stéphane Ducasse wrote:
> Thanks! > Indeed there were some work on UTF8Encoder and friends. > do you know if the same happened in latest squeak? I've not tried it on a recent Squeak. > On Feb 3, 2010, at 10:57 PM, Yanni Chiu wrote: > >> When attempting to load Seaside-2.8, with the image updated to 11192, I got: >> >> UndefinedObject(Object)>>doesNotUnderstand: #do: >> WriteStream(Stream)>>nextPutAll: >> WriteStream>>nextPutAll: >> WriteStream(Stream)>>basicNextPutAll: >> UTF8TextConverter(TextConverter)>>nextPutAll:toStream: >> ByteString(String)>>convertToWithConverter: >> WAKomEncoded39 class>>setUpConversionTables >> WAKomEncoded39 class>>initialize _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
what is the script you use to load seaisde2.8 so that I can have a look
On Feb 4, 2010, at 8:57 AM, Yanni Chiu wrote: > Stéphane Ducasse wrote: >> Thanks! >> Indeed there were some work on UTF8Encoder and friends. >> do you know if the same happened in latest squeak? > > I've not tried it on a recent Squeak. > > >> On Feb 3, 2010, at 10:57 PM, Yanni Chiu wrote: >> >>> When attempting to load Seaside-2.8, with the image updated to 11192, I got: >>> >>> UndefinedObject(Object)>>doesNotUnderstand: #do: >>> WriteStream(Stream)>>nextPutAll: >>> WriteStream>>nextPutAll: >>> WriteStream(Stream)>>basicNextPutAll: >>> UTF8TextConverter(TextConverter)>>nextPutAll:toStream: >>> ByteString(String)>>convertToWithConverter: >>> WAKomEncoded39 class>>setUpConversionTables >>> WAKomEncoded39 class>>initialize > > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Stéphane Ducasse wrote:
> what is the script you use to load seaisde2.8 so that I can have a look The following build scripts are run via Hudson, on a Ubuntu 8.X server. First, core11.st updates and saves the image, starting from a PharoCore-1.1-11184-UNSTABLE image. Then core11-seaside28.st loads Seaside-2.8. -- Yanni ":::::" "file: /home/yanni/pub/builder/scripts/before.st" ":::::" "Preparations" MCCacheRepository instVarNamed: 'default' put: nil. ! ":::::" "file: /home/yanni/pub/builder/scripts/gofer.st" ":::::" "Update Gofer" [ Gofer gofer load ] on: Error do: [ :err | err retry ]. Gofer upgrade; upgrade. ! "Remove empty categories" Smalltalk organization removeEmptyCategories. ! ":::::" "file: /home/yanni/pub/builder/scripts/update.st" ":::::" "Install latest updates" [Utilities updateFromServer] valueSuppressingAllMessages ! ":::::" "file: /home/yanni/pub/builder/scripts/settings.st" ":::::" "Select Fonts" StrikeFont installDejaVu. Preferences setDefaultFonts: #( (setBalloonHelpFontTo: 'BitmapDejaVu' 9) (setButtonFontTo: 'BitmapDejaVu' 9) (setCodeFontTo: 'BitmapDejaVu' 9) (setHaloLabelFontTo: 'BitmapDejaVu' 9) (setListFontTo: 'BitmapDejaVu' 9) (setMenuFontTo: 'BitmapDejaVu' 9) (setSystemFontTo: 'BitmapDejaVu' 9) (setWindowTitleFontTo: 'BitmapDejaVuBold' 12)). ! "Cleanup Environment" "UIThemeStandardSqueak beCurrent." "Choose a UITheme to avoid a walkback during automated operation" UIThemeWatery beCurrent. World submorphs do: [ :each | (each isKindOf: SketchMorph) ifTrue: [ each delete ] ]. ! "Set decent Preferences" Preferences enable: #scrollBarsNarrow. Preferences enable: #menuColorFromWorld. Preferences disable: #scrollBarsWithoutMenuButton. Preferences disable: #useNewDiffToolsForMC. Preferences disable: #duplicateAllControlAndAltKeys. Preferences disable: #fadedBackgroundWindows. Preferences disable: #windowAnimation. Preferences disable: #noWindowAnimationForClosing. ! ":::::" "file: /home/yanni/pub/builder/scripts/after.st" ":::::" "Clear Author" Author reset. ! "Clear Monticello Caches" MCCacheRepository instVarNamed: 'default' put: nil. MCFileBasedRepository flushAllCaches. MCMethodDefinition shutDown. MCDefinition clearInstances. ! "Cleanup Smalltalk" Smalltalk flushClassNameCache. Smalltalk organization removeEmptyCategories. Smalltalk allClassesAndTraitsDo: [ :each | each organization removeEmptyCategories; sortCategories. each class organization removeEmptyCategories; sortCategories ]. ! "Cleanup System Memory" 3 timesRepeat: [ Smalltalk garbageCollect. Symbol compactSymbolTable ]. ! "Save and Quit" SmalltalkImage current snapshot: true andQuit: true. ! ":::::" "file: /home/yanni/pub/builder/scripts/before.st" ":::::" "Preparations" MCCacheRepository instVarNamed: 'default' put: nil. ! ":::::" "file: /home/yanni/pub/builder/scripts/seaside28.st" ":::::" "Kom" Gofer new squeaksource: 'KomHttpServer'; package: 'DynamicBindings'; package: 'KomServices'; package: 'KomHttpServer'; load. ! "Seaside" [ Gofer new squeaksource: 'Seaside'; package: 'Seaside2.8a1'; load ] valueSupplyingAnswers: { { 'username'. 'admin' }. { 'password'. 'seaside' }. }. ! ":::::" "file: /home/yanni/pub/builder/scripts/after.st" ":::::" "Clear Author" Author reset. ! "Clear Monticello Caches" MCCacheRepository instVarNamed: 'default' put: nil. MCFileBasedRepository flushAllCaches. MCMethodDefinition shutDown. MCDefinition clearInstances. ! "Cleanup Smalltalk" Smalltalk flushClassNameCache. Smalltalk organization removeEmptyCategories. Smalltalk allClassesAndTraitsDo: [ :each | each organization removeEmptyCategories; sortCategories. each class organization removeEmptyCategories; sortCategories ]. ! "Cleanup System Memory" 3 timesRepeat: [ Smalltalk garbageCollect. Symbol compactSymbolTable ]. ! "Save and Quit" SmalltalkImage current snapshot: true andQuit: true. ! _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
"file: /home/yanni/pub/builder/scripts/seaside28.st" Can you try using ConfigurationOfSeaside ? The first thing you have to do is to install the configuration (as always):" Gofer new squeaksource: ''MetacelloRepository''; package: ''ConfigurationOfSeaside''; load. "Then pick the Seaside variant you want to load:" "Seaside 2.8" ConfigurationOfSeaside project latestVersion load: ''Seaside 2.8''. ConfigurationOfSeaside project latestVersion load: ''Seaside 2.8 Examples''. ConfigurationOfSeaside project latestVersion load: ''Magritte''. ConfigurationOfSeaside project latestVersion load: ''Magritte Tests''. ConfigurationOfSeaside project latestVersion load: ''Pier''. ConfigurationOfSeaside project latestVersion load: ''Pier Tests''. ConfigurationOfSeaside project latestVersion load: ''Pier AddOns''. "Seaside 3.0" ConfigurationOfSeaside project latestVersion load: ''Seaside 3.0''. ConfigurationOfSeaside project latestVersion load: ''Seaside 3.0 Tests''. ConfigurationOfSeaside project latestVersion load: ''Magritte2''. ConfigurationOfSeaside project latestVersion load: ''Magritte2 Tests''. ConfigurationOfSeaside project latestVersion load: ''Pier2''. ConfigurationOfSeaside project latestVersion load: ''Pier2 Tests''. ConfigurationOfSeaside project latestVersion load: ''Pier2 AddOns''. ":::::" _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Yanni Chiu
Nicolas nicely answered to the problem
Thanks a lot. Comment 1 by nicolas.cellier.aka.nice, Today (10 hours ago) I tested with this: (TextConverter allSubclasses reject: [:e | e subclasses size > 0]) select: [:e | (e latin1Encodings copyFrom: 129 to: 256) anySatisfy: [:e2 | e2 isNil]] -> a Set(MacRomanTextConverter Latin1TextConverter) Then this: (TextConverter allSubclasses reject: [:e | e subclasses size > 0]) collect: [:e | e ->((129 to: 256) select: [:e2 | (e latin1Encodings at: e2) isNil])] -> MacRomanTextConverter->#(163 164 170 178 182) -> Latin1TextConverter-> (129 to: 256) All problems disappear if I do this: Latin1TextConverter initializeLatin1Encodings. MacRomanTextConverter initializeLatin1Encodings. Don't know why something went wrong with lazy initialization leading to a class instance variables notNil, but not initialized correctly... Maybe the #initializeLatin1Encodings should be called in each text converter class initialize... I will integrate that soon :) Stef On Feb 4, 2010, at 5:43 PM, Yanni Chiu wrote: > Stéphane Ducasse wrote: >> what is the script you use to load seaisde2.8 so that I can have a look > > The following build scripts are run via Hudson, on a Ubuntu 8.X server. First, core11.st updates and saves the image, starting from a PharoCore-1.1-11184-UNSTABLE image. Then core11-seaside28.st loads Seaside-2.8. > > -- > Yanni > ":::::" > "file: /home/yanni/pub/builder/scripts/before.st" > ":::::" > "Preparations" > MCCacheRepository instVarNamed: 'default' put: nil. > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/gofer.st" > ":::::" > "Update Gofer" > [ Gofer gofer load ] > on: Error > do: [ :err | err retry ]. > Gofer upgrade; upgrade. > ! > "Remove empty categories" > Smalltalk organization removeEmptyCategories. > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/update.st" > ":::::" > "Install latest updates" > [Utilities updateFromServer] valueSuppressingAllMessages > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/settings.st" > ":::::" > "Select Fonts" > StrikeFont installDejaVu. > Preferences setDefaultFonts: #( > (setBalloonHelpFontTo: 'BitmapDejaVu' 9) > (setButtonFontTo: 'BitmapDejaVu' 9) > (setCodeFontTo: 'BitmapDejaVu' 9) > (setHaloLabelFontTo: 'BitmapDejaVu' 9) > (setListFontTo: 'BitmapDejaVu' 9) > (setMenuFontTo: 'BitmapDejaVu' 9) > (setSystemFontTo: 'BitmapDejaVu' 9) > (setWindowTitleFontTo: 'BitmapDejaVuBold' 12)). > ! > "Cleanup Environment" > "UIThemeStandardSqueak beCurrent." > "Choose a UITheme to avoid a walkback during automated operation" > UIThemeWatery beCurrent. > World submorphs do: [ :each | > (each isKindOf: SketchMorph) > ifTrue: [ each delete ] ]. > ! > "Set decent Preferences" > Preferences enable: #scrollBarsNarrow. > Preferences enable: #menuColorFromWorld. > Preferences disable: #scrollBarsWithoutMenuButton. > Preferences disable: #useNewDiffToolsForMC. > Preferences disable: #duplicateAllControlAndAltKeys. > Preferences disable: #fadedBackgroundWindows. > Preferences disable: #windowAnimation. > Preferences disable: #noWindowAnimationForClosing. > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/after.st" > ":::::" > "Clear Author" > Author reset. > ! > "Clear Monticello Caches" > MCCacheRepository instVarNamed: 'default' put: nil. > MCFileBasedRepository flushAllCaches. > MCMethodDefinition shutDown. > MCDefinition clearInstances. > ! > "Cleanup Smalltalk" > Smalltalk flushClassNameCache. > Smalltalk organization removeEmptyCategories. > Smalltalk allClassesAndTraitsDo: [ :each | > each organization removeEmptyCategories; sortCategories. > each class organization removeEmptyCategories; sortCategories ]. > ! > "Cleanup System Memory" > 3 timesRepeat: [ > Smalltalk garbageCollect. > Symbol compactSymbolTable ]. > ! > "Save and Quit" > SmalltalkImage current snapshot: true andQuit: true. > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/before.st" > ":::::" > "Preparations" > MCCacheRepository instVarNamed: 'default' put: nil. > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/seaside28.st" > ":::::" > "Kom" > Gofer new > squeaksource: 'KomHttpServer'; > package: 'DynamicBindings'; > package: 'KomServices'; > package: 'KomHttpServer'; > load. > ! > "Seaside" > [ Gofer new > squeaksource: 'Seaside'; > package: 'Seaside2.8a1'; > load ] > valueSupplyingAnswers: { > { 'username'. 'admin' }. > { 'password'. 'seaside' }. > }. > ! > ":::::" > "file: /home/yanni/pub/builder/scripts/after.st" > ":::::" > "Clear Author" > Author reset. > ! > "Clear Monticello Caches" > MCCacheRepository instVarNamed: 'default' put: nil. > MCFileBasedRepository flushAllCaches. > MCMethodDefinition shutDown. > MCDefinition clearInstances. > ! > "Cleanup Smalltalk" > Smalltalk flushClassNameCache. > Smalltalk organization removeEmptyCategories. > Smalltalk allClassesAndTraitsDo: [ :each | > each organization removeEmptyCategories; sortCategories. > each class organization removeEmptyCategories; sortCategories ]. > ! > "Cleanup System Memory" > 3 timesRepeat: [ > Smalltalk garbageCollect. > Symbol compactSymbolTable ]. > ! > "Save and Quit" > SmalltalkImage current snapshot: true andQuit: true. > ! > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On 04.02.2010 21:11, Stéphane Ducasse wrote:
> Nicolas nicely answered to the problem > Thanks a lot. > > > Comment 1 by nicolas.cellier.aka.nice, Today (10 hours ago) > I tested with this: > > (TextConverter allSubclasses reject: [:e | e subclasses size> 0]) > select: [:e | (e latin1Encodings copyFrom: 129 to: 256) anySatisfy: [:e2 | e2 isNil]] > -> a Set(MacRomanTextConverter Latin1TextConverter) > > Then this: > > (TextConverter allSubclasses reject: [:e | e subclasses size> 0]) collect: [:e | e > ->((129 to: 256) select: [:e2 | (e latin1Encodings at: e2) isNil])] > > -> MacRomanTextConverter->#(163 164 170 178 182) > -> Latin1TextConverter-> (129 to: 256) > > All problems disappear if I do this: > Latin1TextConverter initializeLatin1Encodings. > MacRomanTextConverter initializeLatin1Encodings. > > Don't know why something went wrong with lazy initialization leading to a class > instance variables notNil, but not initialized correctly... > Maybe the #initializeLatin1Encodings should be called in each text converter class > initialize... > > I will integrate that soon :) > > Stef > Classes were recompiled when I changed the method name from initializeLatin1MapAndEncodings to initializeLatin1Encodings, and removed the latin1Map (Now called nonAsciiMap, residing in ByteString. If there's a better suggestion of where to put it, please speak up). Not sure how the reinitialization could have failed though, especially seeing how calling them again works :/ Cheers, Henry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
This makes me thinking that relying on class initialization is not that robust
may be lazy accessor (but this is boring to have to pay that price all the time). Lazy class var accessors are good when you have dependencies between classVar. So if somebody has some good idea to have robust and fast.... Stef On Feb 4, 2010, at 9:34 PM, Henrik Sperre Johansen wrote: > On 04.02.2010 21:11, Stéphane Ducasse wrote: >> Nicolas nicely answered to the problem >> Thanks a lot. >> >> >> Comment 1 by nicolas.cellier.aka.nice, Today (10 hours ago) >> I tested with this: >> >> (TextConverter allSubclasses reject: [:e | e subclasses size> 0]) >> select: [:e | (e latin1Encodings copyFrom: 129 to: 256) anySatisfy: [:e2 | e2 isNil]] >> -> a Set(MacRomanTextConverter Latin1TextConverter) >> >> Then this: >> >> (TextConverter allSubclasses reject: [:e | e subclasses size> 0]) collect: [:e | e >> ->((129 to: 256) select: [:e2 | (e latin1Encodings at: e2) isNil])] >> >> -> MacRomanTextConverter->#(163 164 170 178 182) >> -> Latin1TextConverter-> (129 to: 256) >> >> All problems disappear if I do this: >> Latin1TextConverter initializeLatin1Encodings. >> MacRomanTextConverter initializeLatin1Encodings. >> >> Don't know why something went wrong with lazy initialization leading to a class >> instance variables notNil, but not initialized correctly... >> Maybe the #initializeLatin1Encodings should be called in each text converter class >> initialize... >> >> I will integrate that soon :) >> >> Stef >> > That is strange... > Classes were recompiled when I changed the method name from > initializeLatin1MapAndEncodings to initializeLatin1Encodings, and > removed the latin1Map (Now called nonAsciiMap, residing in ByteString. > If there's a better suggestion of where to put it, please speak up). > Not sure how the reinitialization could have failed though, especially > seeing how calling them again works :/ > > Cheers, > Henry > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Mariano Martinez Peck
Mariano Martinez Peck wrote:
> > Can you try using ConfigurationOfSeaside ? I hope to, at some point. It wasn't available when I started my build task, and I've already spent more time on it than I thought it would have taken. -- Yanni _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |