[Pharo-project] [update 2.0] #20145

Pavel Krivanek pavel.krivanek at gmail.com
Thu Jun 21 06:14:15 EDT 2012


On Thu, Jun 21, 2012 at 11:56 AM, Mariano Martinez Peck
<marianopeck at gmail.com> wrote:
>
>
> On Thu, Jun 21, 2012 at 11:35 AM, Guillermo Polito
> <guillermopolito at gmail.com> wrote:
>>
>> PAvel, the kernel does not need any of the three actually.  Why you need
>> text in the kernel?
>>
>
> Because of TextContants. The users are:
>
> Smalltalk allClasses select: [:each | each poolDictionaryNames includes:
> 'TextConstants' ]  ->  an OrderedCollection(CharacterBlock CharacterScanner
> CompositionScanner EncryptedMultiDisplayScanner FontSet LogicalFontManager
> MetacelloScriptLoader MultiCharacterBlockScanner MultiCharacterScanner
> MultiDisplayScanner ParseNode ScriptLoader StandardFonts StrikeFont
> StrikeFontSet TTCFont TTCFontDescription TTCFontSet TTFontDescription
> TTFontReader Text TextAlignment TextLine TextStyle UpdatingStringMorph)
>
> so we thought the problem is Compiler. But we don't want that package in the
> kernel either ;)
> So...I removed 'Compiler' and 'Text' from #kernelPackageNames.
> The problem is now that during the shrinking we are removing Compiler, but
> we need it after ;)

I would move out TextConstants from this package (maybe to to a
separate one) and moreover split this pool to two. DefaultFontFamily
and so on should not be needed for Compiler :-)

>
> PharoKernel shrinking report
> Error:
> MessageNotUnderstood: CompiledMethod>>parserClass
> 341 2 BlockClosure>>cull:
> 3 BlockClosure>>cull:cull:
> 4 5 BlockClosure>>cull:
> 6 7 BlockClosure>>ensure:
> 8 MethodContext(ContextPart)>>handleSignal:
> 9 MessageNotUnderstood(Exception)>>signal
> 10 CompiledMethod(Object)>>doesNotUnderstand: #parserClass
> 11 CompiledMethod>>getSourceReplacingSelectorWith:
> 12 ClassDescription class(Behavior)>>addTraitSelector:withMethod:
> 13 14 OrderedCollection>>do:
> 15 ClassDescription class(Behavior)>>updateMethodDictionarySelector:
> 16 17 Array(SequenceableCollection)>>do:
> 18 ClassDescription class(Behavior)>>noteChangedSelectors:
> 19 ClassDescription class(Behavior)>>removeSelector:
> 20 ClassDescription class(ClassDescription)>>removeSelector:
> 21 22 Array(SequenceableCollection)>>do:
> 23 ClassDescription class(ClassDescription)>>removeCategory:
> 24 25 OrderedCollection>>do:
> 26 27 Set>>do:
> 28 SystemNavigation>>removeAllButPackages:
> 29 30 BlockClosure>>on:do:
> 31 BlockClosure>>ifError:
> 32 SmalltalkImage>>privShrinkingProcess
> 33 34
>
>
> So I think SystemNavigation default removeAllButPackages: self
> kernelPackageNames.
> should not remove Compiler and we should do it at the end of the process?
>
> Pavel?
>

Can some Traits guru explain me why we need Compiler for removing of
methods? :-)

-- Pavel

>>
>> On Thu, Jun 21, 2012 at 8:38 AM, Pavel Krivanek <pavel.krivanek at gmail.com>
>> wrote:
>>>
>>> This update significantly breaks the PharoKernel generation because
>>> classes in categories Text-Edition and Text-Scanning categories cannot
>>> be in this image.
>>>
>>> Please reject and rollback this update. We need to split the package
>>> into three (Text-Core, Text-Edition, Text-Scanning) and check
>>> extension methods ownership. We need working PharoKernel for work on
>>> related jobs.
>>>
>>> Cheers,
>>> -- Pavel
>>>
>>> On Wed, Jun 20, 2012 at 6:21 PM, Esteban Lorenzano <estebanlm at gmail.com>
>>> wrote:
>>> > 20145
>>> > -----
>>> >
>>> > Issue 5945:     Nice packaging for Text stuff
>>> >        http://code.google.com/p/pharo/issues/detail?can=2&q=5945
>>> >
>>>
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>




More information about the Pharo-dev mailing list