It seems that it is not possible with morphic too. I have just tried
to save a little modification in the licence page.
VM: Mac OS - a SmalltalkImage
Image: Squeak3.8 [latest update: #6665]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir OSX:Users:damien:Desktop:Squeak:Squeak3.8-6665-basic
Trusted Dir OSX:Users:damien:Desktop:Squeak:Squeak3.8-6665-basic
Untrusted Dir foobar:tooBar:forSqueak:bogus
SW2StructureNode(Object)>>doesNotUnderstand: #execute:
Receiver: a SW2StructureNode
Arguments and temporary variables:
aMessage: execute: a SW2EditPageCommand
Receiver's instance variables:
metaNode: an OBMetaNode
model: a SW2Page title: 'License'
context: a SW2Context
SW2StructureNode>>text:
Receiver: a SW2StructureNode
Arguments and temporary variables:
aString: a Text for '!The MIT License
Copyright (c) 2003-2005 Lukas Renggli...etc...
command: a SW2EditPageCommand
Receiver's instance variables:
metaNode: an OBMetaNode
model: a SW2Page title: 'License'
context: a SW2Context
SW2StructureNode(OBNode)>>accept:notifying:
Receiver: a SW2StructureNode
Arguments and temporary variables:
aText: a Text for '!The MIT License
Copyright (c) 2003-2005 Lukas Renggli
C...etc...
aController: an OBPluggableTextMorph(1752)
Receiver's instance variables:
metaNode: an OBMetaNode
model: a SW2Page title: 'License'
context: a SW2Context
[] in OBDefinitionPanel>>accept:notifying: {[def accept: aText notifying:
aController]}
Arguments and temporary variables:
aText: a Text for '!The MIT License
Copyright (c) 2003-2005 Lukas Renggli
C...etc...
aController: an OBPluggableTextMorph(1752)
def: a SW2StructureNode
notification: nil
--- The full stack ---
SW2StructureNode(Object)>>doesNotUnderstand: #execute:
SW2StructureNode>>text:
SW2StructureNode(OBNode)>>accept:notifying:
[] in OBDefinitionPanel>>accept:notifying: {[def accept: aText notifying:
aController]}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlockContext>>on:do:
[] in OBDefinitionPanel>>accept:notifying: {[:def | [def accept: aText notifying:
aController] on: OBNotification do...]}
OBDefinitionPanel>>withDefinitionDo:ifNil:
OBDefinitionPanel>>accept:notifying:
OBPluggableTextMorph(PluggableTextMorph)>>acceptTextInModel
OBPluggableTextMorph(PluggableTextMorph)>>accept
OBTextMorph(TextMorphForEditView)>>acceptContents
OBTextMorphEditor(TextMorphEditor)>>accept
[] in OBTextMorphEditor(ParagraphEditor)>>save: {[self accept]}
OBTextMorphEditor(Controller)>>terminateAndInitializeAround:
OBTextMorphEditor(ParagraphEditor)>>save:
OBTextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
OBTextMorphEditor(TextMorphEditor)>>dispatchOnCharacter:with:
OBTextMorphEditor(ParagraphEditor)>>readKeyboard
OBTextMorphEditor(TextMorphEditor)>>readKeyboard
[] in OBTextMorph(TextMorph)>>keyStroke: {[editor readKeyboard]}
OBTextMorph(TextMorph)>>handleInteraction:fromEvent:
OBTextMorph(TextMorphForEditView)>>handleInteraction:fromEvent:
OBTextMorph(TextMorph)>>keyStroke:
OBTextMorph(TextMorphForEditView)>>keyStroke:
OBTextMorph(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
OBTextMorph(Morph)>>handleEvent:
OBTextMorph(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent :=
anEvent. result := focusHolder han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents.
capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle. Processor yield. false]
whileFalse. nil]}
[] in BlockContext>>newProcess {[self value. Processor terminateActive]}