<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">dear Wolfgang and others,<div class=""><br class=""></div><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><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><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><div class=""><br class=""></div><div class="">eTeX's <Hyphenation codes for current language> has been placed at the end of the file, §1666, this</div><div class="">allows keeping numbers §1014, §1015, etc. unchanged, but makes it more difficult to read the code:</div><div class="">I have to permanently switch from PDF page 663 to PDF page 440…</div><div class=""><br class=""></div><div class="">cheers,</div><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="">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=""></td></tr><tr class=""><td class=""><a href="http://www.imt-atlantique.fr" target="_blank" class=""><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=""></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=""><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=""></a><a href="https://twitter.com/y_haralambous" target="_blank" style="text-decoration: none;" class=""><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=""></a><a href="https://www.linkedin.com/in/yannis-haralambous-5529073?trk=hp-identity-name" target="_blank" style="text-decoration: none;" class=""><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=""></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="">l'IMT</a></div></td></tr><tr class=""><td colspan="3" class=""><div style="float: left; font-style: normal; font-variant-caps: normal; font-weight: normal; font-stretch: normal; font-size: 11px; line-height: 1.5; font-family: sans-serif; color: rgb(85, 85, 85); padding: 8px 15px;" class=""></div></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></body></html>