On 09.10.2017, at 00:23, H. Hirzel hannes.hirzel@gmail.com wrote:
There are no senders of
#multiNewParagraphttfclpomsswfpp0
Yes but look here ("> " form me, "..." left out) SmartRefStream>>mapClass: incoming "..." | cls oldVer sel nm |
nm := renamed at: incoming ifAbsent: [incoming]. "allow pre-mapping around collisions" "> nm = 'MultiNewParagraph'" "..." oldVer := self versionSymbol: (structures at: nm). "> (structure at: nm) = #(0 text textStyle firstCharacterIndex container lines positionWhenComposed offsetToEnd maxRightX selectionStart selectionStop wantsColumnBreaks focused presentationText presentationLines)" "> oldNer = 'ttfclpomsswfpp0' " sel := nm asString. sel at: 1 put: (sel at: 1) asLowercase. "sel = multiNewParagraph sel := sel, oldVer. "i.e. #rectangleoc4" "sel = multiNewParagraphttfclpomsswfpp0" Symbol hasInterned: sel ifTrue: [:symb | (self class canUnderstand: sel asSymbol) ifTrue: [ reshaped ifNil: [reshaped := Dictionary new]. "> HERE IS THE SEND" cls := self perform: sel asSymbol]]. "This class will take responsibility" cls ifNil: [cls := self writeClassRenameMethod: sel was: nm fromInstVars: (structures at: nm). cls isString ifTrue: [cls := nil]]. cls ifNotNil: [renamed at: nm put: cls name]. ^ cls
Also look at all the methods in the *-conversion categories:
abstractStringx0 alansTextPlusMorphbosfcebbmsopssrsggshtt0 bookPageMorphbosfcepcbbfgcc0 clippingMorphbosfcep0 clippingMorphbosfcepc0 componentLikeModelbosfcebbmsop0 currentProjectRefactoringx0 dropShadowMorphbosfces0 layoutMorphbosfcepbbochvimol0 layoutMorphbosfcepcbbochvimol0 morphicEventtcbks0 morphicSoundEventtcbkss0 multiStringx0 multiSymbolx0 myMorphbosfce0 newMorphicEventts0 sMInstallationRegistryiim0 sMMaintainableObjectimcunsucromrf0 scrollControllermvslrrsmsms0 transparentColorrcc0 variableSpacerbosfcebb0 worldMorphbosfcebbfgccpmcpbttloiairfidcuwhavcdsll0
Best regards -Tobias
On 10/9/17, H. Hirzel hannes.hirzel@gmail.com wrote:
Tobias refers to
SmartRefStream>>multiNewParagraphttfclpomsswfpp0
^ NewParagraph
I wonder what
#multiNewParagraphttfclpomsswfpp0 is about.
Tobias, what do you mean by "shadow"
" So 'presentationText' and 'presentationLines' will shadow 'caretRect' and 'showCaret'... "
On 10/9/17, H. Hirzel hannes.hirzel@gmail.com wrote:
Screen shot
#initKnownRenames
present in a non-etoys 5.0 image.
On 10/9/17, H. Hirzel hannes.hirzel@gmail.com wrote:
On 10/8/17, Bob Arning arning315@comcast.net wrote:
#convertToCurrentVersion:refStream: might be used to fix up such problems
Seems to be the regular way to do this whereas
SmartRefStream>>initKnownRenames
looks more like a hack. However it is not etoys specific as it is present in Squeak 5.0 (screen shot)
#initKnownRenames is called in
SmartRefStream>>initShapeDicts
It has a flag #bobconv
Looks like unfinished business. Bob, what would you see as the way forward?
initShapeDicts "Initialize me. "
self flag: #bobconv.
"These must stay constant. When structures read in, then things can change." steady := {Array. Dictionary. Association. ByteString. SmallInteger. Character} asSet.
renamed ifNil: [ renamed := Dictionary new. "(old class name symbol -> new class name)" renamedConv := Dictionary new "(oldClassNameSymbol -> conversionSelectorInNewClass)" ]. self initKnownRenames
On 10/8/17 5:33 PM, Tobias Pape wrote:
So 'presentationText' and 'presentationLines' will shadow 'caretRect' and 'showCaret'...