<div dir="ltr">Ah now I understand better thanks!<br>funny miss-interpretation...<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/21 Bob Arning <span dir="ltr">&lt;<a href="mailto:arning315@comcast.net" target="_blank">arning315@comcast.net</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    I think the line<br>
    <br>
    
    <pre style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:start;font-style:normal;font-weight:normal;line-height:normal;text-transform:none;font-size:11px;white-space:pre-wrap;margin:0px;word-wrap:break-word;word-spacing:0px">
Exception MessageNotUnderstood raised:
</pre>
    <br>
    means that MNU occurred (raised as in the java fanboy corruption of
    signal)<br>
    <br>
    Probably like this (from debug log posted moments ago):<br>
    <br>
    <font face="Georgia">ClassDescription
      class(Object)&gt;&gt;doesNotUnderstand:
      #compile:notifying:trailer:ifFail:<br>
          Receiver: ClassDescription<br>
          Arguments and temporary variables: <br>
              aMessage:     compile: &#39;compile: text classified: category
      withStamp: changeStamp n...etc...<br>
              exception:     MessageNotUnderstood: ClassDescription
      class&gt;&gt;compile:notifying:trai...etc...<br>
              resumeValue:     nil<br>
          Receiver&#39;s instance variables: <br>
              superclass:     Behavior<br>
              methodDict:     a MethodDictionary(size 167)<br>
              format:     140<br>
              instanceVariables:     #(&#39;instanceVariables&#39;
      &#39;organization&#39;)<br>
              organization:     (&#39;initialize-release&#39; forgetDoIts
      obsolete superclass:methodDicti...etc...<br>
              subclasses:     {TraitBehavior . Class . Metaclass}<br>
              name:     #ClassDescription<br>
              classPool:     a Dictionary(#TraitImpl-&gt;Trait )<br>
              sharedPools:     nil<br>
              environment:     Smalltalk<br>
              category:     #&#39;Kernel-Classes&#39;<br>
      <br>
      [] in MethodAddition&gt;&gt;createCompiledMethod<br>
          Receiver: a MethodAddition<br>
          Arguments and temporary variables: <br>
      &lt;&lt;error during printing&gt;<br>
      <br>
      Cheers,<br>
      Bob<br>
      <br>
    </font><div><div class="h5">
    <div>On 9/21/13 3:52 PM, Nicolas Cellier
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>Please send reports, I&#39;m all ear.<br>
          </div>
          Though I&#39;m not aware of any raised: no sender no implementor
          in my image.<br>
        </div>
        Or is it raised ? It&#39;s a Morph thing...<br>
      </div>
      <div class="gmail_extra">
        <br>
        <br>
        <div class="gmail_quote">2013/9/21 Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            For instance: <a href="http://build.squeak.org/job/SqueakTrunk/536/console" target="_blank">http://build.squeak.org/job/SqueakTrunk/536/console</a><br>
            <br>
            Look for<br>
            <br>
            Exception MessageNotUnderstood raised:<br>
            Behavior class&gt;&gt;compile:notifying:trailer:ifFail:<br>
            <br>
            I don&#39;t know where it&#39;s coming from yet - that&#39;s the entire
            stack trace.<br>
            <span><font color="#888888"><br>
                frank<br>
              </font></span>
            <div>
              <div><br>
                <br>
                On 21 September 2013 18:17, Chris Muller &lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;
                wrote:<br>
                &gt; I would expect these changes to break a lot of
                code..<br>
                &gt;<br>
                &gt; On Fri, Sep 20, 2013 at 2:45 PM,  &lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;
                wrote:<br>
                &gt;&gt; Nicolas Cellier uploaded a new version of
                Traits to project The Trunk:<br>
                &gt;&gt; <a href="http://source.squeak.org/trunk/Traits-nice.299.mcz" target="_blank">http://source.squeak.org/trunk/Traits-nice.299.mcz</a><br>
                &gt;&gt;<br>
                &gt;&gt; ==================== Summary
                ====================<br>
                &gt;&gt;<br>
                &gt;&gt; Name: Traits-nice.299<br>
                &gt;&gt; Author: nice<br>
                &gt;&gt; Time: 20 September 2013, 9:45:04.474 pm<br>
                &gt;&gt; UUID: d6c18da8-7e93-4bcc-b94e-7f67426a2965<br>
                &gt;&gt; Ancestors: Traits-nice.298<br>
                &gt;&gt;<br>
                &gt;&gt; Don&#39;t pass a category to a Compiler,
                classifying is not its job.<br>
                &gt;&gt;<br>
                &gt;&gt; =============== Diff against Traits-nice.298
                ===============<br>
                &gt;&gt;<br>
                &gt;&gt; Item was changed:<br>
                &gt;&gt;   ----- Method:
                ClassDescription&gt;&gt;traitAddSelector:withMethod: (in
                category &#39;*Traits-NanoKernel&#39;) -----<br>
                &gt;&gt;   traitAddSelector: selector withMethod:
                traitMethod<br>
                &gt;&gt;         &quot;Add a method inherited from a trait.<br>
                &gt;&gt;         Recompiles to avoid sharing and
                implement aliasing.&quot;<br>
                &gt;&gt;         | oldMethod source methodNode newMethod
                originalSelector |<br>
                &gt;&gt;         oldMethod := self compiledMethodAt:
                selector ifAbsent:[nil].<br>
                &gt;&gt;         oldMethod ifNotNil:[<br>
                &gt;&gt;                 &quot;The following is an important
                optimization as it prevents exponential<br>
                &gt;&gt;                 growth in recompilation. If T1
                is used by T2 and T2 by T3 then (without<br>
                &gt;&gt;                 this optimization) any change
                in T1 would cause all methods in T2 to be<br>
                &gt;&gt;                 recompiled and each
                recompilation of a method in T2 would cause T3<br>
                &gt;&gt;                 to be fully recompiled. The
                test eliminates all such situations.&quot;<br>
                &gt;&gt;                 (oldMethod sameTraitCodeAs:
                traitMethod) ifTrue:[^oldMethod].<br>
                &gt;&gt;         ].<br>
                &gt;&gt;         originalSelector := traitMethod
                selector.<br>
                &gt;&gt;         source := traitMethod methodClass
                sourceCodeAt: originalSelector.<br>
                &gt;&gt;         originalSelector == selector ifFalse:[<br>
                &gt;&gt;                 &quot;Replace source selectors for
                aliases&quot;<br>
                &gt;&gt;                 source := self replaceSelector:
                originalSelector withAlias: selector in: source.<br>
                &gt;&gt;         ].<br>
                &gt;&gt;         methodNode := self newCompiler<br>
                &gt;&gt; +               compile: source in: self
                notifying: nil ifFail:[^nil].<br>
                &gt;&gt; -               compile: source in: self
                classified: nil notifying: nil ifFail:[^nil].<br>
                &gt;&gt;         newMethod := methodNode generate: self
                defaultMethodTrailer.<br>
                &gt;&gt;         newMethod putSource: source
                fromParseNode: methodNode inFile: 2<br>
                &gt;&gt;                 withPreamble: [:f | f cr;
                nextPut: $!!; nextChunkPut: &#39;Trait method&#39;; cr].<br>
                &gt;&gt;         newMethod originalTraitMethod:
                traitMethod.<br>
                &gt;&gt;         ^super addSelectorSilently: selector
                withMethod: newMethod.!<br>
                &gt;&gt;<br>
                &gt;&gt;<br>
                &gt;<br>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre></pre>
    </blockquote>
    <br>
  </div></div></div>

<br><br>
<br></blockquote></div><br></div>