<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=""><div><blockquote type="cite" class=""><div class="">On 11 May 2022, at 02:37, Rik Kabel via ntg-context <<a href="mailto:ntg-context@ntg.nl" class="">ntg-context@ntg.nl</a>> wrote:</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">On 2022-05-10 17:39, Gerben Wierda via
      ntg-context wrote:<br class="">
    </div>
    <blockquote type="cite" cite="mid:F24E9640-8446-4B50-81EB-05D5DAAC7269@rna.nl" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
      <div class="">Example. Call with </div>
      <div class=""><br class="">
      </div>
      <div class="">context —mode=FR</div>
      <div class=""><br class="">
      </div>
      <div class="">- Uncomment the first commented lines. Compilation
        fails because mode FR is on so that works</div>
      <div class=""><br class="">
      </div>
      <div class="">But I get English anyway. Uncomment the second
        commented part and it fails, but it should not because mode=EN
        is not turned on.</div>
      <div class=""><br class="">
      </div>
      <div class="">%\startmode[FR]</div>
      <div class="">%  \BLURBONE</div>
      <div class="">%  \stopmode</div>
      <div class=""><br class="">
      </div>
      <div class="">\startnotallmodes[FR,RU]% english is the default</div>
      <div class="">\enablemode[EN]</div>
      <div class="">\stopnotallmodes</div>
      <div class=""><br class="">
      </div>
      <div class="">\startmode[EN]</div>
      <div class="">%  \BLURBTWO</div>
      <div class="">\setuplanguage[en][patterns={en}]</div>
      <div class="">\setupexternalfigure[directory=../LMTX-Output/without-ids/en/ArchiMate
        3.1 Metamodel ESv4]</div>
      <div class="">\stopmode</div>
      <div class="">\startmode[FR]</div>
      <div class="">\setuplanguage[fr][patterns={en,fr}]</div>
      <div class="">\setupexternalfigure[directory=../LMTX-Output/without-ids/fr/ArchiMate
        3.1 Metamodel ESv4]</div>
      <div class="">\stopmode</div>
      <div class="">\startmode[RU]</div>
      <div class="">\setuplanguage[ru][patterns={en,ru}]</div>
      <div class="">\setupexternalfigure[directory=../LMTX-Output/without-ids/ru/ArchiMate
        3.1 Metamodel ESv4]</div>
      <div class="">\stopmode</div>
      <div class=""><br class="">
      </div>
      <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="">
            <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="">
                <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="">
                    <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 class="">
                        <div class="">Gerben Wierda (<a href="https://www.linkedin.com/in/gerbenwierda" class="" moz-do-not-send="true">LinkedIn</a>)</div>
                        <div class=""><a href="https://ea.rna.nl/" class="" moz-do-not-send="true">R&A IT
                            Strategy</a> (main site)<br class="">
                          Book: <a href="https://ea.rna.nl/the-book/" class="" moz-do-not-send="true">Chess and
                            the Art of Enterprise Architecture</a><br class="">
                          Book: <a href="https://ea.rna.nl/the-book-edition-iii/" class="" moz-do-not-send="true">Mastering
                            ArchiMate</a><br class="">
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br class="">
    </blockquote><p class="">Gerben,</p><p class="">\startnotallmodes is behaving as it should. Here, it is not the
      case that RU and FR (all the listed modes) are set, so EN is
      enabled, and you actually have both FR and EN set.<br class="">
    </p><p class="">Try the following with <br class="">
    </p>
    <blockquote class="">
      <blockquote class=""><p class="">context —mode=FR</p>
      </blockquote>
    </blockquote><p class="">and make sure you understand the result.</p>
    <blockquote class=""><p class=""><font face="monospace" class="">\starttext<br class="">
          \doifmode{EN}{EN is enabled\par}<br class="">
          \doifmode{FR}{FR is enabled\par}<br class="">
          \doifmode{RU}{RU is enabled\par}<br class="">
          \doifmode{FR,RU}{at least one of FR and RU modes is
          enabled\par}<br class="">
          \doifmode{EN,RU}{at least one of EN and RU modes is
          enabled\par}<br class="">
          \doifmode{EN,FR}{at least one of EN and FR modes is
          enabled\par}<br class="">
          \doifmode{EN,FR,RU}{at least one of EN, FR, and RU modes is
          enabled\par}<br class="">
          \doifnotmode{EN}{EN is not enabled\par}<br class="">
          \doifnotmode{FR}{FR is not enabled\par}<br class="">
          \doifnotmode{RU}{RU is not enabled\par}<br class="">
          \doifnotmode{EN,RU}{neither EN nor RU is enabled\par}<br class="">
          \doifnotmode{EN,FR}{neither EN nor FR is enabled\par}<br class="">
          \doifnotmode{RU,FR}{neither RU nor FR is enabled\par}<br class="">
          \doifnotallmodes{FR,RU}{all of FR and RU modes are not
          enabled\par}<br class="">
          \doifnotallmodes{EN,RU}{all of EN and RU modes are not
          enabled\par}<br class="">
          \doifnotallmodes{EN,FR}{all of EN and FR modes are not
          enabled\par}<br class="">
          \doifnotallmodes{EN,FR,RU}{all of EN, FR, and RU modes are not
          enabled\par}<br class="">
          \stoptext</font></p>
    </blockquote><p class="">Then, add the following block to the beginning of the file and
      try again.</p>
    <blockquote class=""><p class=""><font face="monospace" class="">\definemode[EN,FR,RU][keep]<br class="">
          \doifmodeelse{EN}<br class="">
            {    \disablemode[FR]<br class="">
                 \disablemode[RU]}<br class="">
            {\doifmodeelse{FR}<br class="">
             {   \disablemode[EN]<br class="">
                 \disablemode[RU]}<br class="">
             {\doifmodeelse{RU}<br class="">
               { \disablemode[EN]<br class="">
                 \disablemode[FR]}}<br class="">
               { \enablemode[EN]}}</font><br class="">
        <br class="">
      </p>
    </blockquote><p class="">I find it useful to add such a block to the environment of every
      file that uses mutually-exclusive modes. This version pf the block
      sets a default value if none is on the command line.<br class=""></p></div></div></blockquote><div><br class=""></div>Thanks. It seems that the last part has a {}-issue. \enablemode[EN] is always wxecuted if on the commandline only FR or RU is set </div><div><br class=""><div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">\definemode[EN,FR,RU][keep]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">\doifmodeelse{EN}</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    \disablemode[FR]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    \disablemode[RU]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    \doifmodeelse{FR}</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \disablemode[EN]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \disablemode[RU]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \doifmodeelse{RU}</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">        \disablemode[EN]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">        \disablemode[FR]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \enablemode[EN]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  }</span></font></div><div class=""><br class=""></div></div>I am now using</div><div><br class=""></div><div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">\doifmodeelse{EN}</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    \disablemode[FR]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    \disablemode[RU]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    \doifmodeelse{FR}</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \disablemode[EN]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \disablemode[RU]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      \doifmodeelse{RU}</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">        \disablemode[EN]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">        \disablemode[FR]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      {</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">        \enablemode[EN]</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">      }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">    }</span></font></div><div><font face="Courier New" class=""><span style="font-style: normal;" class="">  }</span></font></div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div class=""><p class="">
    </p><p class="">-- <br class="">
      Rik<br class="">
    </p>
    <blockquote class=""><p class=""><br class="">
      </p>
    </blockquote><p class=""><br class="">
    </p><p class=""><br class="">
    </p>
  </div>

___________________________________________________________________________________<br class="">If your question is of interest to others as well, please add an entry to the Wiki!<br class=""><br class="">maillist : <a href="mailto:ntg-context@ntg.nl" class="">ntg-context@ntg.nl</a> / <a href="http://www.ntg.nl/mailman/listinfo/ntg-context" class="">http://www.ntg.nl/mailman/listinfo/ntg-context</a><br class="">webpage  : <a href="http://www.pragma-ade.nl" class="">http://www.pragma-ade.nl</a> / <a href="http://context.aanhet.net" class="">http://context.aanhet.net</a><br class="">archive  : <a href="https://bitbucket.org/phg/context-mirror/commits/" class="">https://bitbucket.org/phg/context-mirror/commits/</a><br class="">wiki     : <a href="http://contextgarden.net" class="">http://contextgarden.net</a><br class="">___________________________________________________________________________________<br class=""></div></blockquote></div><br class=""></body></html>