<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Dear Yannis,<br>
      <br>
    </div>
    <blockquote type="cite"
      cite="mid:BA610F4D-42E7-44AB-8CE9-4FAB377533C8@gmail.com">
      <div class="">thank you very much for your advice. I think the
        problem came form the fact that some WEB units</div>
      <div class="">are procedures (and therefore need a semicolon at
        the end) and others are just code fragments</div>
      <div class="">that TANGLE will place at a location where semicolon
        is not allowed.</div>
    </blockquote>
    The code fragments in a WEB never end with semicolon. But at the
    places where they are used, Knuth always writes a semicolon even if
    not needed, i. e. before 'end'. Tangle is not an excuse. But Weave
    is, because the empty statement changes dramatically the formatting.<br>
    <blockquote type="cite"
      cite="mid:BA610F4D-42E7-44AB-8CE9-4FAB377533C8@gmail.com">
      <div class=""><br class="">
      </div>
      <div class="">BTW a question: when adding features to existing TeX
        engines is it better to break the changes</div>
      <div class="">into many WEB units, so that their documentation is
        easier to follow or to keep the existing WEB</div>
      <div class="">units so that people can refer to them by using
        stable unit numbers?</div>
    </blockquote>
    I'd use stable unit numbers.<br>
    <blockquote type="cite"
      cite="mid:BA610F4D-42E7-44AB-8CE9-4FAB377533C8@gmail.com">
      <div class=""><br class="">
      </div>
      <div class="">For example, if I modify substantially §1015 which
        is the \patterns scanner, shall I rather break my </div>
      <div class="">modifications into new units and call them inside
        §1015, or keep a long §1015 so that what was </div>
      <div class="">previously §1016 keeps the same identifier?</div>
    </blockquote>
    <br>
    I'd suggest to change module 1015. In TeX-FPC I put new staff in the
    last part, System Changes,  a procedure to load the editor for error
    recovery, a code fragment to install an interrupt handler, and the
    interrupt handler, which is a procedure. BTW, TeX-FPC contains a
    polytonic font.<br>
    <br>
    greetings,<br>
    Wolfgang<br>
    <blockquote type="cite"
      cite="mid:BA610F4D-42E7-44AB-8CE9-4FAB377533C8@gmail.com">
      <div class=""><br class="">
      </div>
      <div class="">Yannis</div>
      <div class=""><br class="">
        <div><br class="">
          <blockquote type="cite" class="">
            <div class="">Le 22 mars 2021 à 11:28, Wolfgang Helbig <<a
                href="mailto:helbig@mailbox.org" class=""
                moz-do-not-send="true">helbig@mailbox.org</a>> a
              écrit :</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div class="">
                <div class="moz-cite-prefix">Dear Yannis,<br class="">
                  <br class="">
                  in Pascal, the semicolon seperates two statements,
                  whereas in ALGOL and C, the semicolon terminates a
                  statement.<br class="">
                  <br class="">
                  Or in Pascal, the semicolon is never part of a
                  statement and in C it is always is part of a
                  statement.<br class="">
                  <br class="">
                  In Pascal, the empty string is a statement, called
                  "empty statement". It does nothing.<br class="">
                  So in parts of the program, where the syntax rules
                  allow one or more statements, you can always put the
                  semicolon without changing the meaning of the program.<br
                    class="">
                  <br class="">
                  But there are places, where only one statement is
                  accepted, notably the 'then' part of an if statement:
                  A semicolon after the statement in the 'then'-part
                  ends the 'if'-statement, which is followed by the
                  empty statement. If your if-statement does have an
                  else part, an 'else' is following the empty statement.
                  But 'else' may only follow the 'then' part of the
                  'if'-statement, not the if-statement as a whole.<br
                    class="">
                  <br class="">
                  Unfortunately, some people misuse the empty statement
                  and feel licensed to terminate every statement with a
                  semicolon -- A confusing step backward in the
                  evolution of ALGOL-like languages. A step forward of
                  course is Dijkstra's Guarded Commands notation. In
                  fact, the empty statement is the very first statement
                  in Dijkstra: "A Discipline of Programming", 1976, p.
                  25. and in Jensen, Wirth: "Pascal User Manual and
                  Report", 3rd ed. 1985, p. 169.<br class="">
                  <br class="">
                  Alas, compilers are rare for dot.not, as I prefer to
                  call Dijkstra's notation. You recognize by its dots in
                  the notation for arrays.<br class="">
                  <br class="">
                  greetings,<br class="">
                  Wolfgang<br class="">
                </div>
                <blockquote type="cite"
                  cite="mid:CBF7CA65-809A-4979-9CC4-65D9119E1268@gmail.com"
                  class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=UTF-8" class="">
                  dear Karl,
                  <div class=""><br class="">
                  </div>
                  <div class="">thanks for your answer. I finally found
                    the error, it was an unnecessary semicolon after an
                    "end".</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">I have a hard time finding the precise
                    rules: when are semicolons after "end" necessary /
                    optional / forbidden?</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">(The only thing I know for sure is that
                    the semicolon is forbidden when we are in an if-test</div>
                  <div class="">and an "else" is following:</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">if xxx begin xxx end else begin xxx end;
                      <--- no semicolon between "end" and "else"</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">but beside that I couldn't find precise
                    information and TeX's Pascal code is either not very
                    consistent</div>
                  <div class="">with respect to semicolons or maybe it
                    follows some pattern that I wasn't able to find out
                    yet…)</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">Thanks again for your help,</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">Yannis</div>
                  <div class=""><br class="">
                    <div class=""><br class="">
                      <blockquote type="cite" class="">
                        <div class="">Le 21 mars 2021 à 02:57, Karl
                          Berry <<a
                            href="mailto:karl@freefriends.org" class=""
                            moz-do-not-send="true">karl@freefriends.org</a>>
                          a écrit :</div>
                        <br class="Apple-interchange-newline">
                        <div class="">
                          <div class="">    Is there a way to localize
                            the error? <br class="">
                            <br class="">
                            For the record, this is the brief reply I
                            sent to when Yannis asked me<br class="">
                            separately. It's all I have. Web2c is a
                            lousy development environment,<br class="">
                            no question.<br class="">
                            <br class="">
-----------------------------------------------------------------------------<br
                              class="">
                            Date: Fri, 19 Mar 2021 11:19:09 -0700<br
                              class="">
                            From: Karl Berry <<a
                              href="mailto:karl@freefriends.org"
                              class="" moz-do-not-send="true">karl@freefriends.org</a>><br
                              class="">
                            To: <a href="mailto:yannis1962@gmail.com"
                              class="" moz-do-not-send="true">yannis1962@gmail.com</a><br
                              class="">
                            Subject: Re: Debugging<br class="">
                            In-Reply-To: <<a
                              href="mailto:466F362F-4E43-4655-B0FC-2710ABD215AD@gmail.com"
                              class="" moz-do-not-send="true">466F362F-4E43-4655-B0FC-2710ABD215AD@gmail.com</a>><br
                              class="">
                            <br class="">
                               Can you tell me how to localize the
                            error?<br class="">
                            <br class="">
                            There is no good way. Just have to go back
                            to the original, make sure it<br class="">
                            works, and add individual lines until you
                            find the error, which<br class="">
                            apparently has something to do with "true"
                            and a semicolon.<br class="">
                            <br class="">
                            Sometimes the .c file(s) left in (in your
                            case)<br class="">
 /var/folders/1n/fvs3dd2d5gqghwcw8khb41_h0000gn/T/<br class="">
                            as given by the error msg provide a clue.
                            [...]<br class="">
                          </div>
                        </div>
                      </blockquote>
                    </div>
                    <br class="">
                    <div class="">
                      <div dir="auto" style="caret-color: rgb(0, 0, 0);
                        letter-spacing: normal; text-align: start;
                        text-indent: 0px; text-transform: none;
                        white-space: normal; word-spacing: 0px;
                        -webkit-text-stroke-width: 0px; text-decoration:
                        none; word-wrap: break-word; -webkit-nbsp-mode:
                        space; line-break: after-white-space;" class="">
                        <div dir="auto" style="caret-color: rgb(0, 0,
                          0); letter-spacing: normal; text-align: start;
                          text-indent: 0px; text-transform: none;
                          white-space: normal; word-spacing: 0px;
                          -webkit-text-stroke-width: 0px;
                          text-decoration: none; word-wrap: break-word;
                          -webkit-nbsp-mode: space; line-break:
                          after-white-space;" class="">
                          <table style="background-color: rgb(241, 241,
                            241); border: 1px solid rgb(221, 221, 221);"
                            class="">
                            <tbody class="">
                              <tr class="">
                                <td colspan="3" class=""><br class="">
                                </td>
                              </tr>
                              <tr class="">
                                <td class=""><a
                                    href="http://www.imt-atlantique.fr/"
                                    target="_blank" class=""
                                    moz-do-not-send="true"><img
                                      src="http://img.mines-telecom.fr/signature-mail/logos/logo-imta.png"
                                      title="Site web IMT Atlantique"
                                      alt="IMT Atlantique"
                                      style="padding: 4px 0px 4px 4px;"
                                      class="" moz-do-not-send="true"></a></td>
                                <td class="">
                                  <div style="float: left; font-style:
                                    normal; font-variant-caps: normal;
                                    font-weight: normal; font-stretch:
                                    normal; font-size: 13px;
                                    line-height: 1.5; font-family:
                                    sans-serif; color: rgb(85, 85, 85);
                                    padding: 8px 15px;" class=""><strong
                                      class="">Yannis HARALAMBOUS</strong><br
                                      class="">
                                    Professor<br class="">
                                    Computer Science Department<br
                                      class="">
                                    UMR CNRS 6285 Lab-STICC<br class="">
                                    <a
                                      href="http://perso.telecom-bretagne.eu/yannisharalambous/"
                                      target="_blank"
                                      style="text-decoration: none;"
                                      class="" moz-do-not-send="true"><img
src="https://img.mines-telecom.fr/signature-mail/social/web.png"
                                        title="Site web IMT Atlantique"
                                        alt="Site web IMT Atlantique"
                                        style="padding: 3px 10px 4px
                                        0px;" class=""
                                        moz-do-not-send="true"></a><a
                                      href="https://twitter.com/y_haralambous"
                                      target="_blank"
                                      style="text-decoration: none;"
                                      class="" moz-do-not-send="true"><img
src="https://img.mines-telecom.fr/signature-mail/social/twitter.png"
                                        title="Twitter IMT Atlantique"
                                        alt="Twitter IMT Atlantique"
                                        style="padding: 3px 10px 4px
                                        0px;" class=""
                                        moz-do-not-send="true"></a><a
href="https://www.linkedin.com/in/yannis-haralambous-5529073?trk=hp-identity-name"
                                      target="_blank"
                                      style="text-decoration: none;"
                                      class="" moz-do-not-send="true"><img
src="https://img.mines-telecom.fr/signature-mail/social/linkedin.png"
                                        title="LinkedIn IMT Atlantique"
                                        alt="LinkedIn IMT Atlantique"
                                        style="padding: 3px 10px 4px
                                        0px;" class=""
                                        moz-do-not-send="true"></a></div>
                                  <div style="float: left; font-style:
                                    normal; font-variant-caps: normal;
                                    font-weight: bold; font-stretch:
                                    normal; font-size: 11px;
                                    line-height: 1.5; font-family:
                                    sans-serif; color: rgb(136, 136,
                                    136); padding: 8px 15px;" class="">Technopôle
                                    Brest-Iroise CS 83818<br class="">
                                    29238 Brest Cedex 3, France<br
                                      class="">
                                    Une école de<span
                                      class="Apple-converted-space"> </span><a
                                      href="http://www.imt.fr/"
                                      target="_blank" class=""
                                      moz-do-not-send="true">l'IMT</a></div>
                                </td>
                              </tr>
                              <tr class="">
                                <td colspan="3" class=""><br class="">
                                </td>
                              </tr>
                            </tbody>
                          </table>
                          <p class=""><i class="">Any sufficiently
                              advanced bug is indistinguishable from a
                              feature.</i>     (Rich Kulawiec)<br
                              class="">
                            <br class="">
                          </p>
                        </div>
                      </div>
                    </div>
                    <br class="">
                  </div>
                </blockquote>
                <br class="">
                <br class="">
                <pre class="moz-signature" cols="72">-- 
Wolfgang Helbig
Stauferstr. 22
71334 Waiblingen
07151-920 227</pre>
              </div>
              <span id="cid:7DBDE360-FB38-465D-9651-2C189FDA437F"><helbig.vcf></span></div>
          </blockquote>
        </div>
        <br class="">
        <div class="">
          <div dir="auto" style="caret-color: rgb(0, 0, 0); color:
            rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
            text-align: start; text-indent: 0px; text-transform: none;
            white-space: normal; widows: auto; word-spacing: 0px;
            -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
            0px; text-decoration: none; word-wrap: break-word;
            -webkit-nbsp-mode: space; line-break: after-white-space;"
            class="">
            <div dir="auto" style="caret-color: rgb(0, 0, 0);
              letter-spacing: normal; text-align: start; text-indent:
              0px; text-transform: none; white-space: normal;
              word-spacing: 0px; -webkit-text-stroke-width: 0px;
              text-decoration: none; word-wrap: break-word;
              -webkit-nbsp-mode: space; line-break: after-white-space;"
              class="">
              <table style="background-color: rgb(241, 241, 241);
                border: 1px solid rgb(221, 221, 221);" class="">
                <tbody class="">
                  <tr class="">
                    <td colspan="3" class=""><br>
                    </td>
                  </tr>
                  <tr class="">
                    <td class=""><a href="http://www.imt-atlantique.fr"
                        target="_blank" class="" moz-do-not-send="true"><img
src="http://img.mines-telecom.fr/signature-mail/logos/logo-imta.png"
                          title="Site web IMT Atlantique" alt="IMT
                          Atlantique" style="padding: 4px 0px 4px 4px;"
                          class="" moz-do-not-send="true"></a></td>
                    <td class="">
                      <div style="float: left; font-style: normal;
                        font-variant-caps: normal; font-weight: normal;
                        font-stretch: normal; font-size: 13px;
                        line-height: 1.5; font-family: sans-serif;
                        color: rgb(85, 85, 85); padding: 8px 15px;"
                        class=""><strong class="">Yannis HARALAMBOUS</strong><br
                          class="">
                        Professor<br class="">
                        Computer Science Department<br class="">
                        UMR CNRS 6285 Lab-STICC<br class="">
                        <a
                          href="http://perso.telecom-bretagne.eu/yannisharalambous/"
                          target="_blank" style="text-decoration: none;"
                          class="" moz-do-not-send="true"><img
                            src="https://img.mines-telecom.fr/signature-mail/social/web.png"
                            title="Site web IMT Atlantique" alt="Site
                            web IMT Atlantique" style="padding: 3px 10px
                            4px 0px;" class="" moz-do-not-send="true"></a><a
                          href="https://twitter.com/y_haralambous"
                          target="_blank" style="text-decoration: none;"
                          class="" moz-do-not-send="true"><img
                            src="https://img.mines-telecom.fr/signature-mail/social/twitter.png"
                            title="Twitter IMT Atlantique" alt="Twitter
                            IMT Atlantique" style="padding: 3px 10px 4px
                            0px;" class="" moz-do-not-send="true"></a><a
href="https://www.linkedin.com/in/yannis-haralambous-5529073?trk=hp-identity-name"
                          target="_blank" style="text-decoration: none;"
                          class="" moz-do-not-send="true"><img
                            src="https://img.mines-telecom.fr/signature-mail/social/linkedin.png"
                            title="LinkedIn IMT Atlantique"
                            alt="LinkedIn IMT Atlantique"
                            style="padding: 3px 10px 4px 0px;" class=""
                            moz-do-not-send="true"></a></div>
                      <div style="float: left; font-style: normal;
                        font-variant-caps: normal; font-weight: bold;
                        font-stretch: normal; font-size: 11px;
                        line-height: 1.5; font-family: sans-serif;
                        color: rgb(136, 136, 136); padding: 8px 15px;"
                        class="">Technopôle Brest-Iroise CS 83818<br
                          class="">
                        29238 Brest Cedex 3, France<br class="">
                        Une école de<span class="Apple-converted-space"> </span><a
                          href="http://www.imt.fr" target="_blank"
                          class="" moz-do-not-send="true">l'IMT</a></div>
                    </td>
                  </tr>
                  <tr class="">
                    <td colspan="3" class=""><br>
                    </td>
                  </tr>
                </tbody>
              </table>
              <p class=""><i class=""><span class="">Le lecteur a le
                    droit et même parfois le devoir de savoir en quels
                    caractères <br class="">
                    est composé le livre qu'il a entre les mains, et on
                    ne peut exiger de lui <br class="">
                    qu'il sache le reconnaître tout seul.</span></i>   
                 (Gérard Genette)<br class="">
                <br class="">
              </p>
            </div>
          </div>
        </div>
        <br class="">
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Wolfgang Helbig
Stauferstr. 22
71334 Waiblingen
07151-920 227</pre>
  </body>
</html>