Hi Lukas,<div><br></div><div>    there&#39;s a problem with the current printOn:/storeOn: distinction in current Squeak.  The issue is that within a literal Array all characters must be printed using the $ form, /not/ the Character message or (Character value: N) forms. e.g.</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#($ ) storeString =&gt; #(Character space)</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(Compiler evaluate: #($ ) storeString) size =&gt; 2</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(Compiler evaluate: #($ ) storeString) = #(#Character #space) =&gt; true</div><div><br></div><div>In VisualWorks (7.7) the above works correctly (*)</div>
<div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#($ ) storeString =&gt; #($ )</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(Compiler evaluate: #($ ) storeString) size =&gt; 1</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(Compiler evaluate: #($ ) storeString) = #(#Character #space) =&gt; false</div></div><div><br></div><div>and works because Array asserts the &quot;characters print literally&quot; stream policy while printing literally.</div>
<div><br></div><div><br></div><div>I stumbled upon this looking at the decompiler tests, specifically of MethodPragmaTest&gt;&gt;testCompileCharacter:</div><div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span>testCompileCharacter</div>
<div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>self assertPragma: &#39;foo: $a&#39; givesKeyword: #foo: arguments: #( $a ).</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>self assertPragma: &#39;foo: $ &#39; givesKeyword: #foo: arguments: #( $  ).</div>
</div><div><br></div><div>which decompiled shows as</div><div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span>testCompileCharacter</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>self</div>
<div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">                </span>assertPragma: &#39;foo: $a&#39;</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">                </span>givesKeyword: #foo:</div>
<div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">                </span>arguments: #($a ).</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>self</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>assertPragma: &#39;foo: $ &#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>givesKeyword: #foo:</div><div>
<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>arguments: #(Character space )</div>
</div><div><br></div><div><br></div><div><br></div><div>(*) but VW still has a bizarre def for printString, </div><div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(Array with: Character space) printString &#39;#(Core.Character space)&#39;</div>
</div><div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>(Compiler evaluate: (Array with: Character space) printString) size =&gt; 2</div></div><div><br></div><div><br></div><div>best</div>
<div>Eliot</div>