[squeak-dev] The Inbox: Morphic-hjh.1349.mcz
H. Hirzel
hannes.hirzel at gmail.com
Fri Oct 13 20:52:14 UTC 2017
According to Bert F. this change and the load test [1]
seems to be the only necessary thing to do to tell the SmartRefStream
to replace
MultiNewParagraph -> NewParagraph
Regarding the instance variables of MultiNewParagraph and NewParagraph
SmartRefStream takes care of the rest.
[1] test done in the thread 'MorphicProject subclass: #EtoysProject'
Drop project
https://freudenbergs.de/bert/squeakjs/Etoys/Home.007.pr
onto desktop
Could somebody please commit this?
On 10/9/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> Details see thread 'The Trunk: EToys-nice.292.mcz'
>
> In particular the mail by Tobias Pape
>
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2017-October/195597.html
>
>
> The 'funny' name #multiNewParagraphttfclpomsswfp
>
> originates from
>
> sel := sel, oldVer.
>
>
> See
>
> SmartRefStream>>mapClass:
>
> mapClass: incoming
> "See if the old class named nm exists. If so, return it. If not,
> map it to a new class, and save the mapping in renamed. "
>
> | cls oldVer sel nm |
>
> self flag: #bobconv.
>
>
> nm := renamed at: incoming ifAbsent: [incoming]. "allow pre-mapping
> around collisions"
> (nm endsWith: ' class')
> ifFalse: [cls := Smalltalk at: nm ifAbsent: [nil].
> cls ifNotNil: [^ cls]] "Known class. It will know how to
> translate the instance."
> ifTrue: [cls := Smalltalk at: nm substrings first asSymbol ifAbsent:
> [nil].
> cls ifNotNil: [^ cls class]]. "Known class. It will know how to
> translate the instance."
> oldVer := self versionSymbol: (structures at: nm).
> sel := nm asString.
> sel at: 1 put: (sel at: 1) asLowercase.
> sel := sel, oldVer. "i.e. #rectangleoc4"
> Symbol hasInterned: sel ifTrue: [:symb |
> (self class canUnderstand: sel asSymbol) ifTrue: [
> reshaped ifNil: [reshaped := Dictionary new].
> cls := self perform: sel asSymbol]]. "This class will take
> responsibility"
> cls ifNil: [cls := self writeClassRenameMethod: sel was: nm
> fromInstVars: (structures at: nm).
> cls isString ifTrue: [cls := nil]].
> cls ifNotNil: [renamed at: nm put: cls name].
> ^ cls
>
>
> On Mon, 9 Oct 2017 19:46:19 0000, commits at source.squeak.org
> <commits at source.squeak.org> wrote:
>> A new version of Morphic was added to project The Inbox:
>> http://source.squeak.org/inbox/Morphic-hjh.1349.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Morphic-hjh.1349
>> Author: hjh
>> Time: 9 October 2017, 9:45:19.910726 pm
>> UUID: 15492c5f-dfb8-43f5-b6c9-7b91b963907c
>> Ancestors: Morphic-tpr.1348
>>
>> Fix in SmartRefStream
>>
>> MultiNewParagraph
>>
>> instances have to be converted to
>>
>> NewParagraph
>>
>> instances.
>>
>> Example: Load Etoys project file
>>
>> http://etoys.laptop.org/src/Content/ExampleEtoys/CarAndPen.014.pr
>>
>> =============== Diff against Morphic-tpr.1348 ===============
>>
>> Item was added:
>> + ----- Method: SmartRefStream>>multiNewParagraphttfclpomsswfpp0 (in
>> category '*Morphic-conversion') -----
>> + multiNewParagraphttfclpomsswfpp0
>> +
>> + ^ NewParagraph!
>>
>>
>>
>
More information about the Squeak-dev
mailing list
|