The Inbox: Morphic-hjh.1349.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Morphic-hjh.1349.mcz

commits-2
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!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-hjh.1349.mcz

Hannes Hirzel
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!
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-hjh.1349.mcz

Hannes Hirzel
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!
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-hjh.1349.mcz

David T. Lewis
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!
> >>
> >>
> >>
> >
>