[latex3-commits] [git/LaTeX3-latex3-latex2e] main: Update l3kernel to 2022-04-29 (d24f3f3a)

Joseph Wright joseph.wright at morningstar2.co.uk
Fri Apr 29 09:18:31 CEST 2022


Repository : https://github.com/latex3/latex2e
On branch  : main
Link       : https://github.com/latex3/latex2e/commit/d24f3f3ab1e717ceb573a1c53d5802e6bbe9fc39

>---------------------------------------------------------------

commit d24f3f3ab1e717ceb573a1c53d5802e6bbe9fc39
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Apr 29 07:57:57 2022 +0100

    Update l3kernel to 2022-04-29


>---------------------------------------------------------------

d24f3f3ab1e717ceb573a1c53d5802e6bbe9fc39
 texmf/tex/latex/l3kernel/expl3-code.tex    | 148 ++++++++++++++++++++++-------
 texmf/tex/latex/l3kernel/expl3-generic.tex |   2 +-
 texmf/tex/latex/l3kernel/expl3.ltx         |   2 +-
 texmf/tex/latex/l3kernel/expl3.sty         |   2 +-
 4 files changed, 118 insertions(+), 36 deletions(-)

diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex
index 998c1dcc..01c15f78 100644
--- a/texmf/tex/latex/l3kernel/expl3-code.tex
+++ b/texmf/tex/latex/l3kernel/expl3-code.tex
@@ -70,7 +70,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -9027,7 +9027,15 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
   { \cs_if_exist_p:N \tex_XeTeXversion:D }
   {
     \cs_set:Npn \__char_str_change_case:nN #1#2
-      { \tl_to_str:n {#2} }
+      {
+        \int_compare:nNnTF {#1} = 0
+          { \tl_to_str:n {#2} }
+          {
+            \int_compare:nTF { `A <= #1 <= `z }
+              { \char_generate:nn {#1} { 12 } }
+              { \tl_to_str:n {#2} }
+          }
+      }
   }
 \tl_const:Nx \c_catcode_other_space_tl { \char_generate:nn { `\  } { 12 } }
 \scan_new:N \s__token_mark
@@ -31661,17 +31669,6 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
   }
   {
     \group_begin:
-      \cs_set_protected:Npn \__char_tmp:NN #1#2
-        {
-          \quark_if_recursion_tail_stop:N #2
-          \tl_const:cn { c__char_uppercase_ #2 _tl } {#1}
-          \tl_const:cn { c__char_lowercase_ #1 _tl } {#2}
-          \tl_const:cn { c__char_foldcase_  #1 _tl } {#2}
-          \__char_tmp:NN
-        }
-      \__char_tmp:NN
-        AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
-        ? \q_recursion_tail \q_recursion_stop
       \ior_open:Nn \g__char_data_ior { UnicodeData.txt }
       \ior_close:N \g__char_data_ior
     \group_end:
@@ -32687,7 +32684,7 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
   { \sys_if_engine_luatex_p: }
   { \sys_if_engine_xetex_p: }
   {
-    \cs_new:cpn { __text_change_case_upper_de-alt:nnnN } #1#2#3#4
+    \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4
       {
         \int_compare:nNnTF { `#4 } = { "00DF }
           {
@@ -32700,16 +32697,16 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
       }
   }
   {
-    \cs_new:cpx { __text_change_case_upper_de-alt:nnnN } #1#2#3#4
+    \cs_new:cpx { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4
       {
         \exp_not:N \int_compare:nNnTF { `#4 } = { "00C3 }
           {
-            \exp_not:c { __text_change_case_upper_de-alt:nnnNN }
+            \exp_not:c { __text_change_case_upper_de-xeszett:nnnNN }
               {#1} {#2} {#3} #4
           }
           { \exp_not:N \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
       }
-    \cs_new:cpn { __text_change_case_upper_de-alt:nnnNN } #1#2#3#4#5
+    \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnNN } #1#2#3#4#5
       {
         \int_compare:nNnTF { `#5 } = { "009F }
           {
@@ -32719,6 +32716,8 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
           { \__text_change_case_char:nnnN {#1} {#2} {#3} #4#5 }
       }
   }
+\cs_new_eq:cc { __text_change_case_upper_de-alt:nnnN }
+  { __text_change_case_upper_de-xeszett:nnnN }
 \bool_lazy_or:nnT
   { \sys_if_engine_luatex_p: }
   { \sys_if_engine_xetex_p: }
@@ -32730,8 +32729,27 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
             \exp_args:Ne \__text_change_case_upper_el:nnn
               { \char_to_nfd:N #4 } {#2} {#3}
           }
-          { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+          {
+            \int_compare:nNnTF { `#4 } = { "0345 }
+              {
+                \__text_change_case_store:e
+                  {
+                    \use:c { __text_change_case_upper_ #3 :N } #4
+                  }
+                \__text_change_case_loop:nnw {#2} {#3}
+              }
+              { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 }
+          }
+      }
+    \cs_new_eq:cN { __text_change_case_upper_el-xiota:nnnN }
+      \__text_change_case_upper_el:nnnN
+    \cs_new:Npn \__text_change_case_upper_el:N #1
+      {
+        \char_generate:nn { "0399 }
+          { \char_value_catcode:n { "0399 } }
       }
+    \cs_new:cpn { __text_change_case_upper_el-xiota:N } #1
+      { \exp_not:n {#1} }
     \cs_new:Npn \__text_change_case_upper_el:nnn #1#2#3
       { \__text_change_case_upper_el:nnNw {#2} {#3} #1 }
     \cs_new:Npn \__text_change_case_upper_el:nnNw #1#2#3#4 \q__text_recursion_stop
@@ -32752,21 +32770,65 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
             \__text_change_case_loop:nnw {#2} {#3} #4
           }
           {
-            \int_compare:nNnTF { `#4 } = { "0308 }
-              { \__text_change_case_upper_el_dialytika:nnN {#2} {#3} #1 }
+            \__text_change_case_if_takes_ypogegrammeni:nTF { `#1 }
+              {
+                \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+                  #1 {#2} {#3} { } { } #4
+              }
+              { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4 }
+          }
+      }
+    \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+      #1#2#3#4#5#6 \q__text_recursion_stop
+      {
+        \tl_if_head_is_N_type:nTF {#6}
+          {
+            \__text_change_case_upper_el_ypogegrammeni:NnnnnN
+              #1 {#2} {#3} {#4} {#5}
+          }
+          { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 }
+            #6 \q__text_recursion_stop
+      }
+    \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:NnnnnN #1#2#3#4#5#6
+      {
+        \token_if_cs:NTF #6
+          { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 #6 }
+          {
+            \int_compare:nNnTF { `#6 } = { "0345 }
+              {
+                \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+                  #1 {#2} {#3} {#4} {#6}
+              }
+              {
+                \bool_lazy_or:nnTF
+                  { \__text_change_case_if_greek_accent_p:n { `#6 } }
+                  { \__text_change_case_if_greek_diacritic_p:n { `#6 } }
+                  {
+                    \__text_change_case_upper_el_ypogegrammeni:Nnnnnw
+                      #1 {#2} {#3} {#4#6} {#5}
+                  }
+                  { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 #6 }
+            }
+          }
+      }
+    \cs_new:Npn \__text_change_case_upper_el_aux:NnnN #1#2#3#4
+      {
+        \int_compare:nNnTF { `#4 } = { "0308 }
+          { \__text_change_case_upper_el_dialytika:nnN {#2} {#3} #1 }
+          {
+            \__text_change_case_if_greek_accent:nTF { `#4 }
+              { \__text_change_case_upper_el_hiatus:nnNw {#2} {#3} #1 }
               {
-                 \__text_change_case_if_greek_accent:nTF { `#4 }
-                  { \__text_change_case_upper_el_hiatus:nnNw {#2} {#3} #1 }
+                \__text_change_case_if_greek_diacritic:nTF { `#4 }
                   {
-                    \__text_change_case_if_greek_diacritic:nTF { `#4 }
-                      {
-                        \__text_change_case_store:e { \char_uppercase:N #1 }
-                        \__text_change_case_loop:nnw {#2} {#3}
-                      }
-                      {
-                        \__text_change_case_store:e { \char_uppercase:N #1 }
-                        \__text_change_case_loop:nnw {#2} {#3} #4
-                      }
+                    \__text_change_case_store:e { \char_uppercase:N #1 }
+                    \__text_change_case_loop:nnw {#2} {#3}
+                  }
+                  {
+                    \int_compare:nNnTF { `#4 } = { "0345 }
+                      { \__text_change_case_store:e { [XXX] } }
+                      { \__text_change_case_store:e { \char_uppercase:N #1 } }
+                    \__text_change_case_loop:nnw {#2} {#3} #4
                   }
               }
           }
@@ -32842,7 +32904,11 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
           \prg_return_false:
         \else:
           \if_int_compare:w #1 > "1FFF \exp_stop_f:
-            \prg_return_false:
+            \if_int_compare:w #1 = "2126 \exp_stop_f:
+              \prg_return_true:
+            \else:
+              \prg_return_false:
+            \fi:
           \else:
             \prg_return_true:
           \fi:
@@ -32924,7 +32990,23 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
         \fi:
       \fi:
     \fi:
-   }
+  }
+\prg_new_conditional:Npnn \__text_change_case_if_takes_ypogegrammeni:n #1 { TF }
+  {
+    \if_int_compare:w #1 = "03B1 \exp_stop_f:
+      \prg_return_true:
+    \else:
+      \if_int_compare:w #1 = "03B7 \exp_stop_f:
+        \prg_return_true:
+      \else:
+        \if_int_compare:w #1 = "03C9 \exp_stop_f:
+          \prg_return_true:
+        \else:
+          \prg_return_false:
+        \fi:
+      \fi:
+    \fi:
+  }
 \bool_lazy_or:nnT
   { \sys_if_engine_luatex_p: }
   { \sys_if_engine_xetex_p: }
diff --git a/texmf/tex/latex/l3kernel/expl3-generic.tex b/texmf/tex/latex/l3kernel/expl3-generic.tex
index e579987e..3b1f9e00 100644
--- a/texmf/tex/latex/l3kernel/expl3-generic.tex
+++ b/texmf/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.ltx b/texmf/tex/latex/l3kernel/expl3.ltx
index 2cb7f122..0fe1623a 100644
--- a/texmf/tex/latex/l3kernel/expl3.ltx
+++ b/texmf/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.sty b/texmf/tex/latex/l3kernel/expl3.sty
index 3ff81a91..284b787d 100644
--- a/texmf/tex/latex/l3kernel/expl3.sty
+++ b/texmf/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-04-20}%
+\def\ExplFileDate{2022-04-29}%
 \let\ExplLoaderFileDate\ExplFileDate
 \ProvidesPackage{expl3}
   [%





More information about the latex3-commits mailing list.