Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.2100.mcz
==================== Summary ====================
Name: Morphic-mt.2100 Author: mt Time: 29 March 2023, 11:44:49.143107 am UUID: 4c032757-c84e-d945-87eb-eeb6124849b3 Ancestors: Morphic-mt.2099
Complement Collections-mt.1031
=============== Diff against Morphic-mt.2099 ===============
Item was changed: ----- Method: TextMorph>>newContents: (in category 'accessing') ----- newContents: stringOrText "Accept new text contents." | newText embeddedMorphs oldSelection | newText := stringOrText isString ifTrue: [Text fromString: stringOrText copy ] ifFalse: [ stringOrText copy asText. "should be veryDeepCopy?" ]. + self plainTextOnly ifTrue: [ newText removeAttributesForPlainText ]. - self plainTextOnly ifTrue: [ newText removeAttributesThat: [:att | att isTextAlignment not] ].
(text = newText and: [text runs = newText runs]) ifTrue: [^ self]. "No substantive change" text ifNotNil: [(embeddedMorphs := text embeddedMorphs) ifNotNil: [self removeAllMorphsIn: embeddedMorphs. embeddedMorphs do: [:m | m delete]]].
oldSelection := editor ifNotNil: [:ed | ed selectionInterval]. text := newText.
"add all morphs off the visible region; they'll be moved into the right place when they become visible. (this can make the scrollable area too large, though)" newText embeddedMorphs do: [:m | self addMorph: m. m position: -1000 @ 0]. self releaseParagraph. "update the paragraph cache" self paragraph. oldSelection ifNotNil: [:sel | self selectFrom: sel first to: sel last]. "re-instantiate to set bounds" self world ifNotNil: [self world startSteppingSubmorphsOf: self]!
packages@lists.squeakfoundation.org