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

Bob Arning arning315 at comcast.net
Sun Oct 8 23:26:17 UTC 2017


Well, #initKnownRenamescame after my involvement, but there are several 
options available here:

- #initKnownRenames can specify a class to be substitued for another 
encountered in the input stream, whether the class in the stream exists 
in the image or not. So, you can just create something different if you 
like.

- #multiNewParagraphttfclpomsswfpp0, etc. (in SmartRefStream)) allows 
specific versions (all the ttfcl... stuff) to be substituted with 
something different.

- #convertToCurrentVersion:refStream: (in various classes) allows newly 
created instances to get their inst vars modified to current standards, 
like if 'name' used to be a String and now it's a Name, you might use 
this to fix old instances that still have Strings

So, if the issue is about fixing paragraphs or projects coming in from a 
ref stream, then #convertToCurrentVersion:refStream: will probably let 
you do what you want.

On 10/8/17 6:17 PM, H. Hirzel 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'...
>>
>>
>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171008/f6b484f6/attachment-0001.html>


More information about the Squeak-dev mailing list