[squeak-dev] Dynamic essay project MorphLayoutArticle on Bob's SuperSwiki?

karl ramberg karlramberg at gmail.com
Thu May 3 19:12:21 UTC 2018


I have added the stuff I had in the change set.
I downloaded the latest VM
  squeak.cog.spur_win64x64_201805030152.zip
<https://bintray.com/opensmalltalk/vm/download_file?file_path=squeak.cog.spur_win64x64_201805030152.zip>

I still get a drawing error with the opened project when loaded.
It's like resolution is screwed and screen is displayed in 4 quadrants.
See attached screen shot.
I'm on windows.

Best,
Karl

On Thu, May 3, 2018 at 4:48 AM, Eliot Miranda <eliot.miranda at gmail.com>
wrote:

> Hi Karl,
>
> On Mon, Apr 30, 2018 at 11:17 AM, karl ramberg <karlramberg at gmail.com>
> wrote:
>
>> This change set make the project ALMOST load in a 32 bit 6.0 Squeak image.
>> But there are some conversion issues I have not figured out.
>>
>> NOTE: Image will probably crash. USE WITH CARE
>>
>
> Using all of your change set except ObjectScanner>>#scanFrom:, and the
> changes I committed to trunk today I was able to load
> MorphLayoutArticle.019.pr into a 64-bit Spur image (thanks Bert!!).  The
> image locks up due to a drawing error in GeeMailMorph(ScrollPane)>>innerBounds
> where UndefinedObject doesn't understand #-.  So things are close.  May I
> suggest that you add RenamedSourceClassReader in System-Object Storage, and
> move the other segment-specific scanning methods (ClassCategoryReader>>#
> scanFromNoCompile:[forSegment:]) too?
>
> This is cool :-)
>
>
> BTW, there was a compiler bug with the native image segment loading code
> in 64-bit Spur.  This is fixed if you grab the last 64-bit Spur VMs from
> Travis.
>
>
>>
>> Best,
>> Karl
>>
>> On Mon, Apr 30, 2018 at 3:37 PM, H. Hirzel <hannes.hirzel at gmail.com>
>> wrote:
>>
>>> Unfortunately the dynamic essay MorphLayoutArticle.019.pr did not load
>>> in a fairly recent Squeak 6.0a trunk image.
>>>
>>> an OrderedCollection(ImageSegment(Object)>>doesNotUnderstand:
>>> #scanFrom: ObjectScanner>>scanFrom: [] in [] in
>>> MultiByteBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:
>>> BlockClosure>>on:do: [] in
>>> MultiByteBinaryOrTextStream(PositionableStream)>>fileInAnnouncing: []
>>> in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>on:do: [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>ensure:
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>> ProgressInitiationException>>defaultResumeValue
>>> ProgressInitiationException(Exception)>>resume
>>> ProgressInitiationException>>defaultAction
>>> UndefinedObject>>handleSignal: Context>>handleSignal:
>>> Context>>handleSignal: Context>>handleSignal:
>>> ProgressInitiationException(Exception)>>signal
>>> ProgressInitiationException>>display:at:from:to:during:
>>> ProgressInitiationException class>>display:at:from:to:during:
>>> ByteString(String)>>displayProgressAt:from:to:during:
>>> ByteString(String)>>displayProgressFrom:to:during:
>>> MultiByteBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:
>>> MultiByteBinaryOrTextStream(PositionableStream)>>fileIn
>>> MultiByteBinaryOrTextStream>>fileInProject
>>> MultiByteBinaryOrTextStream>>fileInObjectAndCodeForProject [] in [] in
>>> ProjectLoading class>>fileInName:archive:morphOrList:
>>> BlockClosure>>on:do: [] in ProjectLoading
>>> class>>fileInName:archive:morphOrList: BlockClosure>>ensure:
>>> ProjectLoading class>>fileInName:archive:morphOrList: ProjectLoading
>>> class>>openName:stream:fromDirectory:withProjectView:clearOriginFlag:
>>> ProjectLoading class>>openName:stream:fromDirectory:withProjectView:
>>> [] in ProjectLoading class>>openOn: BlockClosure>>on:do: [] in
>>> ByteString(String)>>displaySequentialProgress: [] in [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>on:do: [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>ensure:
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>> ProgressInitiationException>>defaultResumeValue
>>> ProgressInitiationException(Exception)>>resume
>>> ProgressInitiationException>>defaultAction
>>> UndefinedObject>>handleSignal:
>>> ProgressInitiationException(Exception)>>signal
>>> ProgressInitiationException>>display:at:from:to:during:
>>> ProgressInitiationException class>>display:at:from:to:during:
>>> ProgressInitiationException class>>display:from:to:during:
>>> ByteString(String)>>displaySequentialProgress: ProjectLoading
>>> class>>openOn: [] in ExternalDropHandler class>>defaultProjectHandler
>>> ExternalDropHandler>>handle:in:dropEvent:
>>> PasteUpMorph>>handleDroppedItem:event: [] in PasteUpMorph>>dropFiles:
>>> BlockClosure>>ensure: PasteUpMorph>>dropFiles:
>>> PasteUpMorph(Morph)>>handleDropFiles: DropFilesEvent>>sentTo:
>>> PasteUpMorph(Morph)>>handleEvent:
>>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>>> MorphicEventDispatcher>>dispatchDefault:with:
>>> MorphicEventDispatcher>>dispatchEvent:with:
>>> PasteUpMorph(Morph)>>processEvent:using: [] in
>>> PasteUpMorph>>processEvent:using: BlockClosure>>ensure:
>>> PasteUpMorph>>processEvent:using: PasteUpMorph(Morph)>>processEvent:
>>> [] in [] in [] in HandMorph>>sendEvent:focus:clear:
>>> BlockClosure>>ensure:
>>> DropFilesEvent(MorphicEvent)>>becomeActiveDuring: [] in [] in
>>> HandMorph>>sendEvent:focus:clear: BlockClosure>>ensure:
>>> HandMorph>>becomeActiveDuring: [] in HandMorph>>sendEvent:focus:clear:
>>> BlockClosure>>ensure: PasteUpMorph>>becomeActiveDuring:
>>> HandMorph>>sendEvent:focus:clear: HandMorph>>sendEvent:focus:
>>> HandMorph>>handleEvent: HandMorph>>processEvents [] in
>>> WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do:
>>> WorldState>>handsDo: WorldState>>doOneCycleNowFor:
>>> WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in
>>> MorphicProject>>spawnNewProcess [] in BlockClosure>>newProcess)
>>>
>>> On 4/30/18, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>> > Hi Tim
>>> >
>>> > Implementing your suggestion [1] worked to make
>>> > MorphLayoutArticle.019.pr load into
>>> > Squeak 3.8.1, see screen shot.
>>> >
>>> > What I aiming at next  at is to load it into Squeak 6.0a trunk. I
>>> > assume this should be possible quite easily because of the
>>> > enhancements done last year [2][3].
>>> >
>>> > Regards
>>> > Hannes
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > [1] Extend #initKnownRenames
>>> >
>>> > SmartRefStream>>initKnownRenames
>>> >       renamed
>>> >           at: #AlansTextPlusMorph put: #TextPlusMorph;
>>> >               at: #FlasherMorph put: #Flasher;
>>> >               yourself
>>> >
>>> > made MorphLayoutArticle.019.pr to load.
>>> >
>>> >
>>> > [2] 6502 format
>>> > http://wiki.squeak.org/squeak/6502
>>> >
>>> > ImageFormat of the interpreter Virtual Machine.
>>> > May be loaded transparently into Squeak 6.0a through the help of
>>> > LegacyImageSegment.
>>> >
>>> > [3]
>>> > http://wiki.squeak.org/squeak/6579
>>> > LegacyImageSegment
>>> > A new class introduced in March 2017 in Squeak 6.0a to enable the
>>> > loading of the older 6502 image segment format type .
>>> >
>>> > More see Smalltalk imageFormatVersion  http://wiki.squeak.org/squeak/
>>> 873
>>> >
>>> >
>>> > On 4/30/18, Tm Jhnsn <digit at sonic.net> wrote:
>>> >> Hi Hannes,
>>> >>
>>> >> In 5.1 there is SmartRefStream>>#initKnownRenames which includes:
>>> >>
>>> >> at: #AlansTextPlusMorph put: #TextPlusMorph;
>>> >>
>>> >> HTH,
>>> >> Tim
>>> >>
>>> >>
>>> >> On 4/30/2018 7:33 AM, H. Hirzel wrote:
>>> >>> Hi Bob
>>> >>>
>>> >>> It still loads fine in Squeak 3.2. Thank you.
>>> >>>
>>> >>> In Squeak 3.8.1 the SmartRefStream needs a new class for
>>> >>>
>>> >>>       AlansTextPlusMorph
>>> >>>
>>> >>>
>>> >>> SmartRefStream>>
>>> >>> alansTextPlusMorphbosfcebbmsopssrsggshtt0
>>> >>>
>>> >>>     ^ PutNewClassHere
>>> >>>
>>> >>>
>>> >>> Any suggestions what I should put as a new class?
>>> >>>
>>> >>> Regards
>>> >>> Hannes
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> On 4/30/18, Bob Arning <arning315 at comcast.net> wrote:
>>> >>>> Here is the latest one I have. It loaded fine in 3.2.
>>> >>>>
>>> >>>>
>>> >>>> On 4/29/18 10:20 PM, H. Hirzel wrote:
>>> >>>>> Hello
>>> >>>>>
>>> >>>>> Is there a backup-copy/mirror available of the
>>> >>>>>
>>> >>>>>                   MorphLayoutArticle
>>> >>>>>
>>> >>>>> project which was on Bob's SuperSwiki? [1]
>>> >>>>>
>>> >>>>> Regards
>>> >>>>> Hannes
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> ----------------------------------
>>> >>>>> [1]
>>> >>>>> http://wiki.squeak.org/squeak/2141
>>> >>>>>
>>> >>>>> How to lay out submorphs
>>> >>>>>
>>> >>>>> Please read the excellent dynamic essay project MorphLayoutArticle
>>> >>>>> (broken link) on Bob's SuperSwiki.
>>> >>>>>
>>> >>>>> Every Morph now has the capability to layout it's submorphs.
>>> >>>>> (Previously, only the AlignmentMorph could implement layout
>>> policies.
>>> >>>>> AlignmentMorph is still available because of compatibility reasons
>>> and
>>> >>>>> some utility methods it implements.
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>
>>> >>
>>> >
>>>
>>>
>>
>>
>>
>>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180503/94eaa4bc/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: klipp.JPG
Type: image/jpeg
Size: 253146 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180503/94eaa4bc/attachment-0001.jpe>


More information about the Squeak-dev mailing list