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! |
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, [hidden email] <[hidden email]> 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! > > > |
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 <[hidden email]> 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, [hidden email] > <[hidden email]> 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! >> >> >> > |
Done
On Fri, Oct 13, 2017 at 10:52:14PM +0200, H. Hirzel wrote: > 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 <[hidden email]> 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, [hidden email] > > <[hidden email]> 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! > >> > >> > >> > > > |
Free forum by Nabble | Edit this page |