<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 7/11/2022 6:16 PM, Jaromir Matas via Cuis-dev wrote:
    <blockquote
cite="mid:BYAPR03MB407247F631F3F3F62577D86AEE879@BYAPR03MB4072.namprd03.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Calibri Light";
        panose-1:2 15 3 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
        {mso-style-priority:1;
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">Hi Juan,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">> <span style="color: black;">The
            problem there is that the debugger for the 1/0 is opened
            when Morphic ends the current cycle, to reduce risk of
            breaking state.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">Aaah, I see,
            thank you!; the fix works beautifully :)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">Now even this
            example works:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">[1/0] fork.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">5 seconds
            asDelay wait.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">self inform:
            'test'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">But
            unfortunately this one still doesn’t:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">[1/0] fork.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">5 seconds
            asDelay wait.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">self confirm:
            'test'<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color: black;">It raises an
            error because of Object >> #runningWorld associates
            the world with the active process and not the current UI
            (I’m not saying it’s wrong; I just don’t know because this
            all is way beyond my current skill level so I’m just
            observing Squeak evaluates the example ok). The comment even
            mentions: “This method could answer nil, if not in an UI
            process!” which seems to be our case…</span></p>
      </div>
    </blockquote>
    <br>
    This is fun. You keep finding corners in the system! Now these work:
    <br>
    <br>
    [1/0] fork.<br>
    5 seconds asDelay wait.<br>
    "self confirm: 'test'"<br>
    "self request: 'Test' <br>
            initialAnswer: 'initial answer' <br>
            orCancel: [ ^nil ]"<br>
    "FillInTheBlankMorph request: 'What is your favorite color?'"<br>
    "<br>
        menu _ MenuMorph new.<br>
        1 to: 3 do: [:i |<br>
            entry _ 'Line', i printString.<br>
            sub _ MenuMorph new.<br>
            menu add: entry subMenu: sub.<br>
            #('Item A' 'Item B' 'Item C')  do:[:subEntry|<br>
                sub add: subEntry target: menu <br>
                    action: #modalSelection: argument: {entry.
    subEntry}]].<br>
        menu invokeModal."<br>
    <br>
    (uncommenting the queries one at a time)<br>
    <br>
    <br>
    <blockquote
cite="mid:BYAPR03MB407247F631F3F3F62577D86AEE879@BYAPR03MB4072.namprd03.prod.outlook.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color: black;">Also, I’ve
            realized there are ‘sub-cycles’ run inside the UI in some
            cases; I’ve never really noticed and have no idea whether
            this is something to worry about: in Squeak or Pharo, when I
            run the “confirm:” test the inactive UI that evaluates the
            confirm: dialogue runs its subcycle which means that until
            the dialogue is dismissed there are two cycling loops – one
            belonging to the current UI and one belonging to the former
            UI running the dialogue…
          </span></p>
      </div>
    </blockquote>
     
    <br>
    I don't like that design. It means that there are times where the
    world is not in control, and then, for example, animations and
    stepping are halted. I removed a couple of those in Cuis, but some
    still remain. We'll keep cleaning, as usual.<br>
    <br>
    <o:p></o:p>
    <blockquote
cite="mid:BYAPR03MB407247F631F3F3F62577D86AEE879@BYAPR03MB4072.namprd03.prod.outlook.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal">Thanks again; apologies for just piling
          examples and no solution ;|<o:p></o:p></p>
        <p class="MsoNormal">Best regards,<o:p></o:p></p>
        <p class="MsoNoSpacing"><span lang="CS">--</span><o:p></o:p></p>
        <p class="MsoNoSpacing"><strong><span style="font-family:
              "Calibri Light",sans-serif; color: rgb(51, 51,
              51); font-weight: normal;">Jaromír Matas</span></strong><span
            style="font-family: "Calibri Light",sans-serif;
            color: rgb(85, 85, 85);"><o:p></o:p></span></p>
        <p class="MsoNoSpacing"><span style="font-family: "Calibri
            Light",sans-serif; color: rgb(46, 117, 182);"><a class="moz-txt-link-abbreviated" href="mailto:mail@jaromir.net">mail@jaromir.net</a></span><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
    Your input is most welcome.You find this kind of details, that most
    of us miss. Thanks for that.<br>
    <br>
    Cheers,<br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a>
<a class="moz-txt-link-freetext" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a>
<a class="moz-txt-link-freetext" href="https://github.com/jvuletich">https://github.com/jvuletich</a>
<a class="moz-txt-link-freetext" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a>
<a class="moz-txt-link-freetext" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a>
<a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a>
<a class="moz-txt-link-freetext" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a>
<a class="moz-txt-link-freetext" href="https://twitter.com/JuanVuletich">https://twitter.com/JuanVuletich</a></pre>
  </body>
</html>