<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font face="Georgia">Well, #</font>initKnownRenames<font
        face="Georgia"> came after my involvement, but there are several
        options available here:</font></p>
    <p><font face="Georgia">- #</font>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.</p>
    - #multiNewParagraphttfclpomsswfpp0, etc. (in SmartRefStream))
    allows specific versions (all the ttfcl... stuff) to be substituted
    with something different.<br>
    <br>
    - #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<br>
    <br>
    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.<br>
    <br>
    <div class="moz-cite-prefix">On 10/8/17 6:17 PM, H. Hirzel wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGQxfVjHWun74CNAZ4_p7L2nXscy-gPB9Q2T7yWgug=n8FhKLg@mail.gmail.com">
      <pre wrap="">On 10/8/17, Bob Arning <a class="moz-txt-link-rfc2396E" href="mailto:arning315@comcast.net"><arning315@comcast.net></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">#convertToCurrentVersion:refStream: might be used to fix up such problems
</pre>
      </blockquote>
      <pre wrap="">
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


</pre>
      <blockquote type="cite">
        <pre wrap="">
On 10/8/17 5:33 PM, Tobias Pape wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">So 'presentationText' and  'presentationLines' will shadow 'caretRect' and
'showCaret'...
</pre>
        </blockquote>
        <pre wrap="">

</pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">
</pre>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>