<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Oh, BTW, you want an IdentityDictionary there.
    CompiledMethod>>#= is not what you are expecting...<br>
    <br>
    Cheers,<br>
    <br>
    On 10/30/2023 11:38 PM, Nicolás Papagna Maldonado via Cuis-dev
    wrote:
    <blockquote
cite="mid:CADGn7BODHAX7Y+FbrTwR5A1_bExF6Etz7OrM8ZAuHc2iebA5uQ@mail.gmail.com"
      type="cite">
      <div dir="auto">Hi Juan,
        <div dir="auto"><br>
        </div>
        <div dir="auto">I'm glad there was a better solution!</div>
        <div dir="auto">I didn't see the fiz coming from the Morphic
          side.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Thank you. </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Cheers,</div>
        <div dir="auto">Nico PM</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Mon, Oct 30, 2023, 18:40
          Juan Vuletich <<a moz-do-not-send="true"
            href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000"> On 10/29/2023 6:28 PM,
            Nicolás Papagna Maldonado via Cuis-dev wrote:
            <blockquote type="cite">
              <div dir="ltr">Hi folks,
                <div><br>
                </div>
                <div>The attached changeset fixes a bug that caused the
                  image to freeze when inspecting objects with huge #<font
                    face="monospace">printOn:</font> results.</div>
                <div><br>
                </div>
                <div>To reproduce the error:</div>
                <div>
                  <ol>
                    <li>Open a workspace</li>
                    <li>Evaluate <font face="monospace">CompiledMethod
                        allInstances inject: Dictionary new into: [
                        :dict :method |  dict at: method put: method
                        sourceCode. dict ]</font></li>
                    An inspector will be opened on the dictionary
                    created above
                    <li>Click on <font face="monospace">self</font></li>
                    <li>Notice the image hangs while waiting for the <font
                        face="monospace">#printOn: </font>message send.</li>
                  </ol>
                  To fix this bug, I limited the time to print the
                  selected item to 300 milliseconds and showed an
                  appropriate error message when that happened.</div>
                <div><br>
                </div>
                <div>LMK your thoughts.</div>
                <div><br>
                </div>
                <div>Cheers,</div>
                <div>Nico PM</div>
              </div>
            </blockquote>
            <br>
            Hi Nico,<br>
            <br>
            I think that using #valueWithin:onTimeout: is like shooting
            a mosquito with a gun. I preferred a solution with two
            parts:<br>
            - printing a Dictionary doesn't need to sort the keys.
            Dictionaries are not sorted.<br>
            - Any stepping morph that takes longer than its #stepTime
            will be limited in its stepping time so GUI stays (barely)
            responsive.<br>
            <br>
            Updates now at GitHub.<br>
            <br>
            Thanks,<br>
            <pre cols="72">-- 
Juan Vuletich
<a moz-do-not-send="true" href="http://cuis.st" target="_blank" rel="noreferrer">cuis.st</a>
<a moz-do-not-send="true" href="http://github.com/jvuletich" target="_blank" rel="noreferrer">github.com/jvuletich</a>
<a moz-do-not-send="true" href="http://researchgate.net/profile/Juan-Vuletich" target="_blank" rel="noreferrer">researchgate.net/profile/Juan-Vuletich</a>
<a moz-do-not-send="true" href="http://independent.academia.edu/JuanVuletich" target="_blank" rel="noreferrer">independent.academia.edu/JuanVuletich</a>
<a moz-do-not-send="true" href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank" rel="noreferrer">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a moz-do-not-send="true" href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank" rel="noreferrer">linkedin.com/in/juan-vuletich-75611b3</a>
<a moz-do-not-send="true" href="http://twitter.com/JuanVuletich" target="_blank" rel="noreferrer">twitter.com/JuanVuletich</a></pre>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>