Login  Register

Re: Installing Morphic UI designer in Pharo 1.1

Posted by Charles Monteiro on Dec 18, 2010; 3:40am
URL: https://forum.world.st/Installing-Morphic-UI-designer-in-Pharo-1-1-tp3093047p3093409.html

Mariano,

thanks, that's exactly what I did i.e. "a", however , in this particular case "ConfigurationOfDesigner" was not available.

I have now also tried "b" and that did not work either , pls see below for the stack, the issue being that "aRepository" does not get resolved to be a repository but rather remains a string and thus the DNU on #goferReferences



From: charles@nycsmalltalk.org
To: Pharo-project@lists.gforge.inria.fr
Subject: [BUG]ByteString(Object)>>doesNotUnderstand: #goferReferences

"Code I ran in workspace"

Gofer new
   repository: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository';
package: 'ConfigurationOfDesigner';
load.


#########################################################################

17 December 2010 10:32:41 pm

VM: Win32 - IX86 - 6.1 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.32]
Image: Pharo1.1.1 [Latest update: #11414]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources
Trusted Dir K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources\charles
Untrusted Dir C:\Users\charles\Documents\My Squeak

ByteString(Object)>>doesNotUnderstand: #goferReferences
        Receiver: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository'
        Arguments and temporary variables:
                aMessage: goferReferences
                exception: MessageNotUnderstood: ByteString>>goferReferences
                resumeValue: nil
        Receiver's instance variables:
'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository'

[] in Gofer>>basicReferencesIn:
        Receiver: a Gofer
        Arguments and temporary variables:
                aRepository: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRe...etc...
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

BlockClosure>>on:do:
        Receiver: [aRepository goferReferences asSortedCollection asArray]
        Arguments and temporary variables:
                exception: GoferRepositoryError
                handlerAction: [:error | error pass]
                handlerActive: true
        Receiver's instance variables:
                outerContext: Gofer>>basicReferencesIn:
                startpc: 38
                numArgs: 0

Gofer>>basicReferencesIn:
        Receiver: a Gofer
        Arguments and temporary variables:
                aRepository: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRe...etc...
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

[] in Gofer>>allResolvedIn:
        Receiver: a Gofer
        Arguments and temporary variables:
                aRepository: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRe...etc...
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

[] in Dictionary>>at:ifAbsentPut:
        Receiver: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources\pack...etc...
        Arguments and temporary variables:
                key: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository...etc...
                aBlock: [self basicReferencesIn: aRepository]
        Receiver's instance variables:
                tally: 1
                array: an Array(nil nil nil a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.a...etc...

Dictionary>>at:ifAbsent:
        Receiver: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources\pack...etc...
        Arguments and temporary variables:
                key: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository...etc...
                aBlock: [self at: key put: aBlock value]
                assoc: nil
        Receiver's instance variables:
                tally: 1
                array: an Array(nil nil nil a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.a...etc...

Dictionary>>at:ifAbsentPut:
        Receiver: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources\pack...etc...
        Arguments and temporary variables:
                key: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository...etc...
                aBlock: [self basicReferencesIn: aRepository]
        Receiver's instance variables:
                tally: 1
                array: an Array(nil nil nil a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.a...etc...

Gofer>>allResolvedIn:
        Receiver: a Gofer
        Arguments and temporary variables:
                aRepository: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRe...etc...
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

[] in Gofer>>allResolved
        Receiver: a Gofer
        Arguments and temporary variables:
                resolved: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepos...etc...
                repository: an OrderedCollection(a GoferResolvedReference name: 'CairoGraphics-...etc...
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

Array(SequenceableCollection)>>do:
        Receiver: an Array(a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources\package-...etc...
        Arguments and temporary variables:
                aBlock: [:repository | resolved
                addAll: (self allResolvedIn: repository)]
                index: 2
                indexLimiT: 2
        Receiver's instance variables:
an Array(a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\Contents\Resources\package-...etc...

Gofer>>allResolved
        Receiver: a Gofer
        Arguments and temporary variables:
                resolved: an OrderedCollection(a GoferResolvedReference name: 'CairoGraphics-Ke...etc...
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

GoferPackageReference(GoferReference)>>resolveAllWith:
        Receiver: a GoferPackageReference name: 'ConfigurationOfDesigner'
        Arguments and temporary variables:
                aGofer: a Gofer
        Receiver's instance variables:
                name: 'ConfigurationOfDesigner'

GoferPackageReference(GoferReference)>>resolveWith:
        Receiver: a GoferPackageReference name: 'ConfigurationOfDesigner'
        Arguments and temporary variables:
                aGofer: a Gofer
                references: nil
        Receiver's instance variables:
                name: 'ConfigurationOfDesigner'

[] in Gofer>>resolved
        Receiver: a Gofer
        Arguments and temporary variables:
                each: a GoferPackageReference name: 'ConfigurationOfDesigner'
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

Array(SequenceableCollection)>>collect:
        Receiver: an Array(a GoferPackageReference name: 'ConfigurationOfDesigner')
        Arguments and temporary variables:
                aBlock: [:each | each resolveWith: self]
                newCollection: #(nil)
                index: 1
                indexLimiT: 1
        Receiver's instance variables:
an Array(a GoferPackageReference name: 'ConfigurationOfDesigner')

Gofer>>resolved
        Receiver: a Gofer
        Arguments and temporary variables:

        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: a Dictionary(a MCCacheRepository(K:\Apps\Pharo\Pharo-1...etc...

GoferLoad>>initializeOn:
        Receiver: a GoferLoad
        Arguments and temporary variables:
                aGofer: a Gofer
        Receiver's instance variables:
                gofer: a Gofer
                model: a MCVersionLoader

GoferLoad class(GoferOperation class)>>on:
        Receiver: GoferLoad
        Arguments and temporary variables:
                aGofer: a Gofer
        Receiver's instance variables:
                superclass: GoferOperation
                methodDict: a MethodDictionary(#addResolved:->(GoferLoad>>#addResolved: "a Comp...etc...
                format: 134
                instanceVariables: nil
                organization: ('accessing' versions)
('initialization' initializeOn:)
('running...etc...
                subclasses: {MetacelloGoferLoad}
                name: #GoferLoad
                classPool: nil
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'Gofer-Core'
                traitComposition: {}
                localSelectors: nil

Gofer>>execute:do:
        Receiver: a Gofer
        Arguments and temporary variables:
                anOperationClass: GoferLoad
                aBlock: nil
                operation: nil
                result: nil
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: nil

Gofer>>execute:
        Receiver: a Gofer
        Arguments and temporary variables:
                anOperationClass: GoferLoad
        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: nil

Gofer>>load
        Receiver: a Gofer
        Arguments and temporary variables:

        Receiver's instance variables:
                references: an OrderedCollection(a GoferPackageReference name: 'ConfigurationOf...etc...
                repositories: an OrderedCollection('http://www.hpi.uni-potsdam.de/hirschfeld/sq...etc...
                errorBlock: [:error | error pass]
                packageCacheRepository: a MCCacheRepository(K:\Apps\Pharo\Pharo-1.1\Pharo.app\C...etc...
                resolvedReferencesCache: nil

UndefinedObject>>DoIt
        Receiver: nil
        Arguments and temporary variables:

        Receiver's instance variables:
nil

Compiler>>evaluate:in:to:notifying:ifFail:logged:
        Receiver: a Compiler
        Arguments and temporary variables:
                textOrStream: 'Gofer new
   repository: ''http://www.hpi.uni-potsdam.de/hirschf...etc...
                aContext: nil
                receiver: nil
                aRequestor: a TextMorphForShoutEditor
                failBlock: [FakeClassPool adopt: nil.
        ^ #failedDoit]
                logFlag: true
                methodNode: DoIt
        ^ Gofer new repository: 'http://www.hpi.uni-potsdam.de/hirsch...etc...
                method: (UndefinedObject>>#DoIt "a CompiledMethod(211025920)")
                value: nil
                toLog: nil
                itsSelection: nil
                itsSelectionString: nil
        Receiver's instance variables:
                sourceStream: a ReadStream 'Gofer new
   repository: ''http://www.hpi.uni-potsd...etc...
                requestor: a TextMorphForShoutEditor
                class: UndefinedObject
                category: nil
                context: nil
                parser: a Parser

[] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
        Receiver: a TextMorphForShoutEditor
        Arguments and temporary variables:
                rcvr: nil
                ctxt: nil
        Receiver's instance variables:
                model: a SHWorkspace
                paragraph: a MultiNewParagraph
                startBlock: a CharacterBlock with index 144 and rectangle 28@48 corner: 28@64
 ...etc...
                stopBlock: a CharacterBlock with index 1 and character $G and rectangle 0@0 cor...etc...
                beginTypeInBlock: nil
                emphasisHere: an Array(a TextColor code: Color black)
                initialText: a Text for 'Gofer new
   repository: ''http://www.hpi.uni-potsdam....etc...
                selectionShowing: false
                otherInterval: (1 to: 0)
                lastParentLocation: nil
                morph: a TextMorphForShout(44564480)
                oldInterval: (144 to: 143)
                pivotBlock: a CharacterBlock with index 1 and character $G and rectangle 0@0 co...etc...
                inBackTo: nil

BlockClosure>>on:do:
        Receiver: [rcvr class evaluatorClass new
                evaluate: self selection asString
                in: ctxt
                to: rcvr
        ...etc...
        Arguments and temporary variables:
                exception: OutOfScopeNotification
                handlerAction: [:ex | ex resume: true]
                handlerActive: true
        Receiver's instance variables:
                outerContext: TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
                startpc: 120
                numArgs: 0

TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
        Receiver: a TextMorphForShoutEditor
        Arguments and temporary variables:
                result: nil
                rcvr: nil
                ctxt: nil
        Receiver's instance variables:
                model: a SHWorkspace
                paragraph: a MultiNewParagraph
                startBlock: a CharacterBlock with index 144 and rectangle 28@48 corner: 28@64
 ...etc...
                stopBlock: a CharacterBlock with index 1 and character $G and rectangle 0@0 cor...etc...
                beginTypeInBlock: nil
                emphasisHere: an Array(a TextColor code: Color black)
                initialText: a Text for 'Gofer new
   repository: ''http://www.hpi.uni-potsdam....etc...
                selectionShowing: false
                otherInterval: (1 to: 0)
                lastParentLocation: nil
                morph: a TextMorphForShout(44564480)
                oldInterval: (144 to: 143)
                pivotBlock: a CharacterBlock with index 1 and character $G and rectangle 0@0 co...etc...
                inBackTo: nil

[] in PluggableShoutMorph(PluggableTextMorph)>>doIt
        Receiver: a PluggableShoutMorph(792985600)
        Arguments and temporary variables:

        Receiver's instance variables:
                bounds: 998@168 corner: 1654@410
                owner: a SystemWindow(83623936)
                submorphs: an Array(a TransformMorph(310116352))
                fullBounds: 998@168 corner: 1654@410
                color: Color white
                extension: a MorphExtension (260046848) [locked]
                borderWidth: 1
                borderColor: (Color r: 0.833 g: 0.833 b: 0.833)
                model: a SHWorkspace
                slotName: nil
                open: false
                scrollBar: a ScrollBar(799277056)
                scroller: a TransformMorph(310116352)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #codePaneMenu:shifted:
                getMenuTitleSelector: nil
                hasFocus: false
                hScrollBar: a ScrollBar(557056000)
                textMorph: a TextMorphForShout(44564480)
                getTextSelector: #contents
                setTextSelector: #acceptContents:
                getSelectionSelector: nil
                hasUnacceptedEdits: true
                askBeforeDiscardingEdits: true
                selectionInterval: (1 to: 143)
                hasEditingConflicts: false
                styler: a SHTextStylerST80
                unstyledAcceptText: nil

[] in PluggableShoutMorph(PluggableTextMorph)>>handleEdit:
        Receiver: a PluggableShoutMorph(792985600)
        Arguments and temporary variables:
                editBlock: [textMorph editor evaluateSelection]
                result: #(nil)
        Receiver's instance variables:
                bounds: 998@168 corner: 1654@410
                owner: a SystemWindow(83623936)
                submorphs: an Array(a TransformMorph(310116352))
                fullBounds: 998@168 corner: 1654@410
                color: Color white
                extension: a MorphExtension (260046848) [locked]
                borderWidth: 1
                borderColor: (Color r: 0.833 g: 0.833 b: 0.833)
                model: a SHWorkspace
                slotName: nil
                open: false
                scrollBar: a ScrollBar(799277056)
                scroller: a TransformMorph(310116352)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #codePaneMenu:shifted:
                getMenuTitleSelector: nil
                hasFocus: false
                hScrollBar: a ScrollBar(557056000)
                textMorph: a TextMorphForShout(44564480)
                getTextSelector: #contents
                setTextSelector: #acceptContents:
                getSelectionSelector: nil
                hasUnacceptedEdits: true
                askBeforeDiscardingEdits: true
                selectionInterval: (1 to: 143)
                hasEditingConflicts: false
                styler: a SHTextStylerST80
                unstyledAcceptText: nil

TextMorphForShout(TextMorph)>>handleEdit:
        Receiver: a TextMorphForShout(44564480)
        Arguments and temporary variables:
                editBlock: [result := editBlock value]
        Receiver's instance variables:
                bounds: 0@0 corner: 648@66
                owner: a TransformMorph(310116352)
                submorphs: #()
                fullBounds: 0@0 corner: 648@66
                color: Color black
                extension: a MorphExtension (62390272) [other:  (blinkStart -> 354141)]
                borderWidth: 0
                borderColor: Color black
                textStyle: a TextStyle Bitmap DejaVu Sans 9
                text: a Text for 'Gofer new
   repository: ''http://www.hpi.uni-potsdam.de/hirs...etc...
                wrapFlag: true
                paragraph: a MultiNewParagraph
                editor: a TextMorphForShoutEditor
                container: nil
                predecessor: nil
                successor: nil
                backgroundColor: nil
                margins: nil
                editHistory: a TextMorphCommandHistory
                editView: a PluggableShoutMorph(792985600)
                acceptOnCR: false

PluggableShoutMorph(PluggableTextMorph)>>handleEdit:
        Receiver: a PluggableShoutMorph(792985600)
        Arguments and temporary variables:
                editBlock: [textMorph editor evaluateSelection]
                result: #(nil)
        Receiver's instance variables:
                bounds: 998@168 corner: 1654@410
                owner: a SystemWindow(83623936)
                submorphs: an Array(a TransformMorph(310116352))
                fullBounds: 998@168 corner: 1654@410
                color: Color white
                extension: a MorphExtension (260046848) [locked]
                borderWidth: 1
                borderColor: (Color r: 0.833 g: 0.833 b: 0.833)
                model: a SHWorkspace
                slotName: nil
                open: false
                scrollBar: a ScrollBar(799277056)
                scroller: a TransformMorph(310116352)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #codePaneMenu:shifted:
                getMenuTitleSelector: nil
                hasFocus: false
                hScrollBar: a ScrollBar(557056000)
                textMorph: a TextMorphForShout(44564480)
                getTextSelector: #contents
                setTextSelector: #acceptContents:
                getSelectionSelector: nil
                hasUnacceptedEdits: true
                askBeforeDiscardingEdits: true
                selectionInterval: (1 to: 143)
                hasEditingConflicts: false
                styler: a SHTextStylerST80
                unstyledAcceptText: nil

PluggableShoutMorph(PluggableTextMorph)>>doIt
        Receiver: a PluggableShoutMorph(792985600)
        Arguments and temporary variables:

        Receiver's instance variables:
                bounds: 998@168 corner: 1654@410
                owner: a SystemWindow(83623936)
                submorphs: an Array(a TransformMorph(310116352))
                fullBounds: 998@168 corner: 1654@410
                color: Color white
                extension: a MorphExtension (260046848) [locked]
                borderWidth: 1
                borderColor: (Color r: 0.833 g: 0.833 b: 0.833)
                model: a SHWorkspace
                slotName: nil
                open: false
                scrollBar: a ScrollBar(799277056)
                scroller: a TransformMorph(310116352)
                retractableScrollBar: false
                scrollBarOnLeft: false
                getMenuSelector: #codePaneMenu:shifted:
                getMenuTitleSelector: nil
                hasFocus: false
                hScrollBar: a ScrollBar(557056000)
                textMorph: a TextMorphForShout(44564480)
                getTextSelector: #contents
                setTextSelector: #acceptContents:
                getSelectionSelector: nil
                hasUnacceptedEdits: true
                askBeforeDiscardingEdits: true
                selectionInterval: (1 to: 143)
                hasEditingConflicts: false
                styler: a SHTextStylerST80
                unstyledAcceptText: nil

UndefinedObject(Object)>>perform:orSendTo:
        Receiver: nil
        Arguments and temporary variables:
                selector: #doIt
                otherTarget: a PluggableShoutMorph(792985600)
        Receiver's instance variables:
nil

[] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
        Receiver: a ToggleMenuItemMorph(233308160)'do it (d)'
        Arguments and temporary variables:
                evt: [1073@215 mouseUp 762907 nil]
                selArgCount: 2
        Receiver's instance variables:
                bounds: 1056@205 corner: 1194@223
                owner: a MenuMorph(658767872)
                submorphs: #()
                fullBounds: 1056@205 corner: 1194@223
                color: Color black
                extension: a MorphExtension (235929600)
                font: a StrikeFont(Bitmap DejaVu Sans 9 14)
                emphasis: 0
                contents: 'do it (d)'
                hasFocus: false
                isEnabled: true
                subMenu: nil
                isSelected: false
                target: nil
                selector: #perform:orSendTo:
                arguments: an Array(#doIt a PluggableShoutMorph(792985600))
                icon: Form(16x16x32)
                getStateSelector: nil
                enablementSelector: nil
                keyText: nil

BlockClosure>>ensure:
        Receiver: [| selArgCount | (selArgCount := selector numArgs) = 0
                ifTrue: [target perform: selector...etc...
        Arguments and temporary variables:
                aBlock: [oldcursor show]
                complete: nil
                returnValue: nil
        Receiver's instance variables:
                outerContext: ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
                startpc: 132
                numArgs: 0

CursorWithMask(Cursor)>>showWhile:
        Receiver: ((CursorWithMask
        extent: 16@16
        depth: 1
        fromArray: #(
                2r0
                2r10000000000000000000000...etc...
        Arguments and temporary variables:
                aBlock: [| selArgCount | (selArgCount := selector numArgs) = 0
                ifTrue: [targe...etc...
                oldcursor: ((CursorWithMask
        extent: 16@16
        depth: 1
        fromArray: #(
                2r0
                2r1...etc...
        Receiver's instance variables:
                bits: a Bitmap of length 16
                width: 16
                height: 16
                depth: 1
                offset: -1@ -1
                maskForm: Form(16x16x1)

ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
        Receiver: a ToggleMenuItemMorph(233308160)'do it (d)'
        Arguments and temporary variables:
                evt: [1073@215 mouseUp 762907 nil]
                w: a PasteUpMorph(425197568) [world]
        Receiver's instance variables:
                bounds: 1056@205 corner: 1194@223
                owner: a MenuMorph(658767872)
                submorphs: #()
                fullBounds: 1056@205 corner: 1194@223
                color: Color black
                extension: a MorphExtension (235929600)
                font: a StrikeFont(Bitmap DejaVu Sans 9 14)
                emphasis: 0
                contents: 'do it (d)'
                hasFocus: false
                isEnabled: true
                subMenu: nil
                isSelected: false
                target: nil
                selector: #perform:orSendTo:
                arguments: an Array(#doIt a PluggableShoutMorph(792985600))
                icon: Form(16x16x32)
                getStateSelector: nil
                enablementSelector: nil
                keyText: nil

ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
        Receiver: a ToggleMenuItemMorph(233308160)'do it (d)'
        Arguments and temporary variables:
                evt: [1073@215 mouseUp 762907 nil]
        Receiver's instance variables:
                bounds: 1056@205 corner: 1194@223
                owner: a MenuMorph(658767872)
                submorphs: #()
                fullBounds: 1056@205 corner: 1194@223
                color: Color black
                extension: a MorphExtension (235929600)
                font: a StrikeFont(Bitmap DejaVu Sans 9 14)
                emphasis: 0
                contents: 'do it (d)'
                hasFocus: false
                isEnabled: true
                subMenu: nil
                isSelected: false
                target: nil
                selector: #perform:orSendTo:
                arguments: an Array(#doIt a PluggableShoutMorph(792985600))
                icon: Form(16x16x32)
                getStateSelector: nil
                enablementSelector: nil
                keyText: nil

ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
        Receiver: a ToggleMenuItemMorph(233308160)'do it (d)'
        Arguments and temporary variables:
                anEvent: [1073@215 mouseUp 762907 nil]
        Receiver's instance variables:
                bounds: 1056@205 corner: 1194@223
                owner: a MenuMorph(658767872)
                submorphs: #()
                fullBounds: 1056@205 corner: 1194@223
                color: Color black
                extension: a MorphExtension (235929600)
                font: a StrikeFont(Bitmap DejaVu Sans 9 14)
                emphasis: 0
                contents: 'do it (d)'
                hasFocus: false
                isEnabled: true
                subMenu: nil
                isSelected: false
                target: nil
                selector: #perform:orSendTo:
                arguments: an Array(#doIt a PluggableShoutMorph(792985600))
                icon: Form(16x16x32)
                getStateSelector: nil
                enablementSelector: nil
                keyText: nil


--- The full stack ---
ByteString(Object)>>doesNotUnderstand: #goferReferences
[] in Gofer>>basicReferencesIn:
BlockClosure>>on:do:
Gofer>>basicReferencesIn:
[] in Gofer>>allResolvedIn:
[] in Dictionary>>at:ifAbsentPut:
Dictionary>>at:ifAbsent:
Dictionary>>at:ifAbsentPut:
Gofer>>allResolvedIn:
[] in Gofer>>allResolved
Array(SequenceableCollection)>>do:
Gofer>>allResolved
GoferPackageReference(GoferReference)>>resolveAllWith:
GoferPackageReference(GoferReference)>>resolveWith:
[] in Gofer>>resolved
Array(SequenceableCollection)>>collect:
Gofer>>resolved
GoferLoad>>initializeOn:
GoferLoad class(GoferOperation class)>>on:
Gofer>>execute:do:
Gofer>>execute:
Gofer>>load
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
BlockClosure>>on:do:
TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
[] in PluggableShoutMorph(PluggableTextMorph)>>doIt
[] in PluggableShoutMorph(PluggableTextMorph)>>handleEdit:
TextMorphForShout(TextMorph)>>handleEdit:
PluggableShoutMorph(PluggableTextMorph)>>handleEdit:
PluggableShoutMorph(PluggableTextMorph)>>doIt
UndefinedObject(Object)>>perform:orSendTo:
[] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
 - - - - - - - - - - - - - - -  
                        - - - - - - - - - - - - - - - - - -
MouseButtonEvent>>sentTo:
ToggleMenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
ToggleMenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
[] in PasteUpMorph>>becomeActiveDuring:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldState>>doOneSubCycleFor:
PasteUpMorph>>doOneSubCycle
MenuMorph>>invokeModalAt:in:allowKeyboard:
MenuMorph>>invokeModal:
MenuMorph>>invokeModal
PluggableShoutMorph(PluggableTextMorph)>>yellowButtonActivity:
TextMorphForShout(TextMorphForEditView)>>mouseDown:
TextMorphForShout(Morph)>>handleMouseDown:
MouseButtonEvent>>sentTo:
TextMorphForShout(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
TextMorphForShout(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
TransformMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
PluggableShoutMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
SystemWindow(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
PasteUpMorph(Morph)>>processEvent:using:
PasteUpMorph>>processEvent:using:
PasteUpMorph(Morph)>>processEvent:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockClosure>>newProcess