The drawing error was because of wrong color depth. When I change to 16 bit before loading project it comes up fine :-)
Now I have to look at the code that mangles the GeeMailMorph so badly
Best, Karl
On Thu, May 3, 2018 at 9:12 PM, karl ramberg karlramberg@gmail.com wrote:
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@gmail.com wrote:
Hi Karl,
On Mon, Apr 30, 2018 at 11:17 AM, karl ramberg karlramberg@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@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@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@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@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