Okay I promise I won&#39;t touch this thread again, but I say we make Cog happy and cheer up whatever that depresses.<br><br><div class="gmail_quote">On Sat, Jul 17, 2010 at 3:03 PM, Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@elte.hu">leves@elte.hu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On Sat, 17 Jul 2010, Eliot Miranda wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
   in creating the Cog VMMaker image from Squeak 4.1 that is in the svn<br>
tree for Cog (<a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a>) I had to<br>
revert a change made to Integer&gt;&gt;hex.  I don&#39;t want to point fingers but it<br>
was IMO an unnecessary change; one can always add a new selector if one<br>
wants new behaviour and existing code (in this case VMMaker) depended on the<br>
old behaviour.  BTW, the difference is that originally Integer&gt;&gt;hex (&amp;<br>
Integer&gt;&gt;hex8) prefixed their hex output with the base so that 123 hex is<br>
&#39;16r7B&#39; and 123 hex8 &#39;16r0000007B&#39;, whereas the new semantics omits the<br>
prefix so that 123 hex is &#39;7B&#39;.  The old semantics is depended on by various<br>
tests as well it providing the convenience of being able to select and print<br>
the result.  I would like to revert the behavior, essentially because a) one<br>
should not unnecessarily break backwards-compatibility and b) Cog is<br>
potentially useful to a lot of the community.  So views for or against?  Or<br>
should I make it, gack, a VMMaker override (gack, please nooooo)?<br>
</blockquote>
<br></div></div>
The story of #hex is a bit more complicated. It was deprecated in 3.8, removed in 3.9 and was reintroduced in 3.10 with different semantics. The last decision was definitely bad. But what about the removal? Why was it removed in 3.9? The idea was to use #printStringHex and #storeStringHex instead of #hex. The problem with the removal was that it wasn&#39;t done properly. There were senders of the removed #hex method in the 3.9 image and the external packages weren&#39;t updated.<br>

<br>
If we want to follow the decision of removing #hex from the image, then #hex should be an extension method in VMMaker or #storeStringHex should be used (yeah, it&#39;s a long name).<br>
If we want to keep #hex in the image, then I think we should restore the original semantics.<br>
<br>
<br>
Levente<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
best<br>
Eliot<br>
<br>
</blockquote>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Casey Ransberger<br>