<!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">
    Thanks Jaromir.<br>
    <br>
    The test is integrated. I also fixed the format in
    #terminateExamples.<br>
    <br>
    WRT User Interrupt, in Cuis I recently changed to usually interrupt
    whatever process was running the moment Alt + . was pressed. I think
    this makes sense. If the process happens to be the background
    process, it refuses to do it, as the VM requires a runnable
    background process at all times.<br>
    <br>
    What it seems I left out, and the old code somehow did, is to create
    a new UI process if the previous one was terminated by any reason.
    Just pushed a change to do that. With the new updates, Alt + . again
    recovers control.<br>
    <br>
    Thanks for reporting the problem!<br>
    <br>
    Cheers,<br>
    On 2/2/2022 2:36 PM, Jaromir Matas via Cuis-dev wrote:
    <blockquote
cite="mid:BYAPR03MB4072943F3F127CF8B42B62CEEE279@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;}
/* 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;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
p.md-end-block, li.md-end-block, div.md-end-block
        {mso-style-name:md-end-block;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
span.md-plain
        {mso-style-name:md-plain;}
.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,</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I’m reviewing the set of terminate examples
          and this one behaves suspiciously – it suspends the UI as
          expected but then the system refuses to recover via Alt + .</p>
        <p class="MsoNormal">In Squeak the Alt + . recovery works fine.
          Could you please take look? Thanks!
        </p>
        <p class="MsoNormal">Jaromir</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">[ ] ensure: [</p>
        <p class="MsoNormal">                [Processor activeProcess
          terminate] ensure: [</p>
        <p class="MsoNormal">                                Transcript
          show: #x1]. </p>
        <p class="MsoNormal">                Transcript show: #x2</p>
        <p class="MsoNormal">                ]</p>
        <p class="MsoNormal">"prints x1 x2 and suspends the UI; in Cuis
          NOT recoverable via Alt+. and prints Can not interrupt
          backgroundProcess (!)"</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border-right: medium none; border-width: 1pt medium
          medium; border-style: solid none none; border-color: rgb(225,
          225, 225) -moz-use-text-color -moz-use-text-color; padding:
          3pt 0in 0in;">
          <p class="MsoNormal" style="border: medium none; padding:
            0in;"><b>From: </b><a moz-do-not-send="true"
              href="mailto:cuis-dev@lists.cuis.st">Jaromir Matas via
              Cuis-dev</a><br>
            <b>Sent: </b>Tuesday, February 1, 2022 20:59<br>
            <b>To: </b><a moz-do-not-send="true"
              href="mailto:JuanVuletich@zoho.com">Juan Vuletich</a>; <a
              moz-do-not-send="true"
              href="mailto:cuis-dev@lists.cuis.st">
              Discussion of Cuis Smalltalk</a><br>
            <b>Cc: </b><a moz-do-not-send="true"
              href="mailto:mail@jaromir.net">Jaromir Matas</a><br>
            <b>Subject: </b>Re: [Cuis-dev] Improved version of
            #terminate</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Hi Juan,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thank you!<o:p></o:p></p>
        <p class="MsoNormal">I'm sending the test I owe you -
          #testProcessFaithfulTermination - this is a new feature of the
          latest terminate; the test shows the same process that created
          the unwind blocks also executes them during termination.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I’ll be reviewing the terminate examples
          and get back later.<o:p></o:p></p>
        <p class="MsoNormal">Thanks again.<o:p></o:p></p>
        <p class="MsoNormal">Best,<o:p></o:p></p>
        <p class="MsoNormal">Jaromir<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border-right: medium none; border-width: 1pt medium
          medium; border-style: solid none none; border-color: rgb(225,
          225, 225) -moz-use-text-color -moz-use-text-color; padding:
          3pt 0in 0in;">
          <p class="MsoNormal"><b>From: </b><a moz-do-not-send="true"
              href="mailto:JuanVuletich@zoho.com">Juan Vuletich</a><br>
            <b>Sent: </b>Thursday, January 27, 2022 19:21<br>
            <b>To: </b><a moz-do-not-send="true"
              href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis
              Smalltalk</a><br>
            <b>Cc: </b><a moz-do-not-send="true"
              href="mailto:mail@jaromir.net">Jaromir Matas</a><br>
            <b>Subject: </b>Re: [Cuis-dev] Improved version of
            #terminate<o:p></o:p></p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color: black;">Hi Jaromir,
            Folks,<br>
            <br>
            This is integrated and pushed to GitHub now.<br>
            <br>
            Thanks,<br>
            <br>
            On 1/24/2022 3:51 PM, Jaromir Matas via Cuis-dev wrote: <o:p></o:p></span></p>
        <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
          <div>
            <p class="md-end-block"><span class="md-plain"><span
                  style="font-size: 12pt; font-family:
                  "Arial",sans-serif;">Hi Juan, all,</span></span></p>
            <p class="md-end-block"><span class="md-plain"><span
                  style="font-size: 12pt; font-family:
                  "Arial",sans-serif;">Happy to hear from you
                  :)</span></span></p>
            <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
              <p class="md-end-block"><br>
                <span class="md-plain"><span style="font-size: 12pt;
                    font-family: "Arial",sans-serif;">Hello
                    Jaromir, Folks,</span></span></p>
              <p class="md-end-block"><br>
                <span class="md-plain"><span style="font-size: 12pt;
                    font-family: "Arial",sans-serif;">I took a
                    look at the code, and it looks correct to me,
                    although I don't understand this well enough to be
                    sure. All the tests you wrote last year pass, and
                    that is great.</span></span></p>
              <p class="md-end-block"><br>
                <span class="md-plain"><span style="font-size: 12pt;
                    font-family: "Arial",sans-serif;">I think
                    we'd integrate this. Still, I think it could be good
                    to keep the current #terminate as a separate method,
                    maybe #terminateFromForkedProcess, just in case it
                    proves<br>
                    useful in the future.</span></span></p>
            </blockquote>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">Thanks very much for reviewing
                  the code; I think this is a good idea to keep the
                  older version, at least for a while. I'm really happy
                  it's been stable and nobody<br>
                  complained :)</span></span></p>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">This new approach of one process
                  using two stacks simplifies the code substantially but
                  let's keep an eye on it, for sure. Later, if this
                  terminate proves as<br>
                  stable as the current one, the exact same approach
                  could be used for exception unwinds too
                  (ContextPart>>resume: etc).</span></span></p>
            <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
              <p class="md-end-block" style="margin: 0in;"><br>
                <span class="md-plain"><span style="font-size: 12pt;
                    font-family: "Arial",sans-serif;">I'd be
                    very thankful if others could take a look, and
                    better yet, try it and see if it brings any trouble.</span></span></p>
            </blockquote>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">That would be great, thanks
                  again; any concerns or suspicions, please tell me.</span></span></p>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">Best regards,</span></span></p>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">Jaromir</span></span></p>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">--</span></span></p>
            <p class="md-end-block"><br>
              <span class="md-plain"><span style="font-size: 12pt;
                  font-family: "Arial",sans-serif; color:
                  rgb(128, 142, 149);">Jaromir Matas</span></span></p>
          </div>
          <p class="MsoNormal"><span style="color: black;"> <o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color: black;"> <o:p></o:p></span></p>
          <div style="border-right: medium none; border-width: 1pt
            medium medium; border-style: solid none none; padding: 3pt
            0in 0in; border-color: rgb(225, 225, 225)
            -moz-use-text-color -moz-use-text-color;">
            <p class="MsoNormal"><b><span style="color: black;">From: </span></b><a
                moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st">Juan Vuletich via
                Cuis-dev</a><span style="color: black;"><br>
                <b>Sent: </b>Monday, January 24, 2022 18:15<br>
                <b>To: </b></span><a moz-do-not-send="true"
                href="mailto:cuis-dev@lists.cuis.st">Discussion of Cuis
                Smalltalk</a><span style="color: black;"><br>
                <b>Cc: </b></span><a moz-do-not-send="true"
                href="mailto:JuanVuletich@zoho.com">Juan Vuletich</a><span
                style="color: black;">;
              </span><a moz-do-not-send="true"
                href="mailto:ten@smallinteger.com">Andres Valloud</a><span
                style="color: black;">;
              </span><a moz-do-not-send="true"
                href="mailto:mail@jaromir.net">Jaromir Matas</a><span
                style="color: black;">;
              </span><a moz-do-not-send="true"
                href="mailto:hernan.wilkinson@10pines.com">Hernan
                Wilkinson</a><span style="color: black;"><br>
                <b>Subject: </b>Re: [Cuis-dev] Improved version of
                #terminate<o:p></o:p></span></p>
          </div>
          <p class="MsoNormal"><span style="color: black;"> <o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color: black;">On 1/18/2022
              4:07 PM, Jaromir Matas via Cuis-dev wrote:
              <o:p></o:p></span></p>
          <blockquote style="margin-top: 5pt; margin-bottom: 5pt;">
            <p class="MsoNormal"><span style="color: black;">Hi Juan,
                all,<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;">I'm
                enclosing a new version of #terminate; I thought you
                might be interested to take a look and indeed, I'd be
                very much interested in your opinion. The termination
                functionality and semantics remains intact but the code
                is simplified and addresses Eliot's concerns regarding
                active process termination being done via another
                process. The enclosed code executes both active and
                suspended process’s termination directly by the process
                being terminated thus maintaining the invariant that the
                unwind blocks are executed by the same process that
                created them (this is the only real disadvantage of the
                current terminate; it’s not process faithful). The
                technique used is to create a parallel stack for the
                process being terminated and run the unwinds
                conveniently from there :) (thorough comments included).
                <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;">I'm also
                enclosing some updated tests to reflect the new approach
                to the active process termination. If you were
                interested, I'd be happy to also provide updated
                examples and add some more tests later.<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;">Best
                regards,<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;">Jaromir<o:p></o:p></span></p>
            <p class="MsoNormal"><span style="color: black;"> <o:p></o:p></span></p>
          </blockquote>
          <p class="MsoNormal" style="margin-bottom: 12pt;"><span
              style="color: black;"><br>
              Hello Jaromir, Folks,<br>
              <br>
              I took a look at the code, and it looks correct to me,
              although I don't understand this well enough to be sure.
              All the tests you wrote last year pass, and that is great.<br>
              <br>
              I think we'd integrate this. Still, I think it could be
              good to keep the current #terminate as a separate method,
              maybe #terminateFromForkedProcess, just in case it proves
              useful in the future.<br>
              <br>
              I'd be very thankful if others could take a look, and
              better yet, try it and see if it brings any trouble.<br>
              <br>
              Thanks!<br>
              <br>
              <o:p></o:p></span></p>
          <pre>-- </pre>
          <pre>Juan Vuletich</pre>
          <pre><a moz-do-not-send="true" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a></pre>
          <pre><a moz-do-not-send="true" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a></pre>
          <pre><a moz-do-not-send="true" href="https://github.com/jvuletich">https://github.com/jvuletich</a></pre>
          <pre><a moz-do-not-send="true" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a></pre>
          <pre><a moz-do-not-send="true" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a></pre>
          <pre><a moz-do-not-send="true" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a></pre>
          <pre><a moz-do-not-send="true" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a></pre>
          <pre>@JuanVuletich</pre>
          <p class="MsoNormal"><span style="font-size: 10pt;
              font-family: "Courier New"; color: black;"> </span><span
              style="color: black;"><o:p></o:p></span></p>
        </blockquote>
        <p class="MsoNormal" style="margin-bottom: 12pt;"><span
            style="color: black;"><br>
            <br>
            <o:p></o:p></span></p>
        <pre>-- </pre>
        <pre>Juan Vuletich</pre>
        <pre><a moz-do-not-send="true" href="http://www.cuis-smalltalk.org">www.cuis-smalltalk.org</a></pre>
        <pre><a moz-do-not-send="true" href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev</a></pre>
        <pre><a moz-do-not-send="true" href="https://github.com/jvuletich">https://github.com/jvuletich</a></pre>
        <pre><a moz-do-not-send="true" href="https://www.linkedin.com/in/juan-vuletich-75611b3">https://www.linkedin.com/in/juan-vuletich-75611b3</a></pre>
        <pre><a moz-do-not-send="true" href="https://independent.academia.edu/JuanVuletich">https://independent.academia.edu/JuanVuletich</a></pre>
        <pre><a moz-do-not-send="true" href="https://www.researchgate.net/profile/Juan-Vuletich">https://www.researchgate.net/profile/Juan-Vuletich</a></pre>
        <pre><a moz-do-not-send="true" href="https://patents.justia.com/inventor/juan-manuel-vuletich">https://patents.justia.com/inventor/juan-manuel-vuletich</a></pre>
        <pre>@JuanVuletich</pre>
        <p class="MsoNormal"><span style="font-size: 10pt; font-family:
            "Courier New"; color: black;"><o:p> </o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <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>
@JuanVuletich</pre>
  </body>
</html>