<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 13, 2013 at 7:08 AM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 13 December 2013 12:57, David T. Lewis &lt;<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>&gt; wrote:<br>

&gt; On Fri, Dec 13, 2013 at 07:42:28AM +0000, Frank Shearar wrote:<br>
&gt;&gt; On 12 December 2013 23:58,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt;&gt; &gt; David T. Lewis uploaded a new version of Collections to project The Trunk:<br>
&gt;&gt; &gt; <a href="http://source.squeak.org/trunk/Collections-dtl.548.mcz" target="_blank">http://source.squeak.org/trunk/Collections-dtl.548.mcz</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ==================== Summary ====================<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Name: Collections-dtl.548<br>
&gt;&gt; &gt; Author: dtl<br>
&gt;&gt; &gt; Time: 12 December 2013, 6:58:08.878 pm<br>
&gt;&gt; &gt; UUID: b167353b-b9ab-4911-8168-c5f184cab62a<br>
&gt;&gt; &gt; Ancestors: Collections-ul.547<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Transcripter&gt;&gt;initInFrame: should do nothing when not in MVC<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; =============== Diff against Collections-ul.547 ===============<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Item was changed:<br>
&gt;&gt; &gt;   ----- Method: Transcripter&gt;&gt;initInFrame: (in category &#39;initialization&#39;) -----<br>
&gt;&gt; &gt;   initInFrame: rect<br>
&gt;&gt; &gt; +       Smalltalk at: #Paragraph ifPresent: [:classParagraph | &quot;MVC&quot;<br>
&gt;&gt; &gt; +               frame := rect insetBy: 2.  &quot;Leave room for border&quot;<br>
&gt;&gt; &gt; +               para := classParagraph withText: self contents asText<br>
&gt;&gt; &gt; +                                       style: TextStyle default<br>
&gt;&gt; &gt; +                                       compositionRectangle: ((frame insetBy: 4) withHeight: 9999)<br>
&gt;&gt; &gt; +                                       clippingRectangle: frame<br>
&gt;&gt; &gt; +                                       foreColor: self black backColor: self white]!<br>
&gt;&gt; &gt; -       frame := rect insetBy: 2.  &quot;Leave room for border&quot;<br>
&gt;&gt; &gt; -       (Smalltalk hasClassNamed: #Paragraph)<br>
&gt;&gt; &gt; -               ifFalse: [^ self inform: &#39;MVC class Paragraph not present&#39;].<br>
&gt;&gt; &gt; -       para := (Smalltalk at: #Paragraph) withText: self contents asText<br>
&gt;&gt; &gt; -                               style: TextStyle default<br>
&gt;&gt; &gt; -                               compositionRectangle: ((frame insetBy: 4) withHeight: 9999)<br>
&gt;&gt; &gt; -                               clippingRectangle: frame<br>
&gt;&gt; &gt; -                               foreColor: self black backColor: self white!<br></div></div></blockquote><div><br></div><div>Dave, the only thing I don&#39;t like about this change is I thought we said we were going to migrate away from using the Dictionary API on Smalltalk.  This was back when Andreas and community came up with the idea of the wrapped &#39;globals&#39;.</div>
<div><br></div><div>I think it would be better to use</div><div><br></div><div>    (Smalltalk classNamed: #Paragraph) ifNotNil: [ : classParagraph | ... ]</div><div> </div><div>otherwise we can never find all the places where we try to do logical access to class.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
&gt;&gt;<br>
&gt;&gt; Well, that definitely stops a DNU and such when running in Morphic<br>
&gt;&gt; (yay!) but it still won&#39;t work in a non-MVC/Morphic world. That&#39;s when<br>
&gt;&gt; you accused me of overengineering, David :)<br>
&gt;<br>
&gt; Yes you&#39;re right, I meant that with a smiley, sorry :)<br>
<br>
</div></div>I knew there was something of a smiley in there :) I just meant that<br>
if we want to preserve the Transcripter&#39;s emergencyEvaluator we would<br>
need this &quot;complexity&quot; because we&#39;d need an emergencyEvaluator per UI<br>
framework.<br></blockquote><div><br></div><div>-1.  Please be more conservative and lazy about putting new code/elements into the system.  TSTTCPW demands that we don&#39;t start building out infrastructure for new UI frameworks until those frameworks are being pushed into existence and such a factoring is actually NEEDED.  Please only write code for the &quot;now&quot; not for some &quot;potential future&quot;.  10 years could go by with no new graphical frameworks and then someone looking at your class-hierarchy will regard it as &quot;cruft&quot;.</div>
<div><br></div></div></div></div>