[squeak-dev] The Trunk: EToys-nice.292.mcz

Tobias Pape Das.Linux at gmx.de
Sun Oct 8 22:48:24 UTC 2017


> On 09.10.2017, at 00:23, H. Hirzel <hannes.hirzel at 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 at 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 at gmail.com> wrote:
>>> Screen shot
>>> 
>>>  #initKnownRenames
>>> 
>>> present in a non-etoys 5.0 image.
>>> 
>>> 
>>> On 10/9/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>> On 10/8/17, Bob Arning <arning315 at 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'...
>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 



More information about the Squeak-dev mailing list