[latex3-commits] [git/LaTeX3-latex3-latex3] main: Correct detection of \@uclist (4d221bd06)

Joseph Wright joseph.wright at morningstar2.co.uk
Sun Feb 20 10:11:26 CET 2022


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/4d221bd06a5a0e740d09cdefa9e1c497a542ff4c

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

commit 4d221bd06a5a0e740d09cdefa9e1c497a542ff4c
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Sun Feb 20 09:11:26 2022 +0000

    Correct detection of \@uclist


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

4d221bd06a5a0e740d09cdefa9e1c497a542ff4c
 l3kernel/CHANGELOG.md    |  3 +++
 l3kernel/l3text-case.dtx | 49 +++++++++++++++++++++++++-----------------------
 2 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index fe785d688..d79da8cd4 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Fixed
+- Use of `\@uclclist` for case changing
+
 ## [2022-02-05]
 
 ### Added
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index d93fad462..72cd18898 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -2082,37 +2082,40 @@
 % we check at the end of the preamble. This will therefore only apply
 % to \LaTeXe{} package mode.
 %    \begin{macrocode}
-\cs_if_exist:cT { @uclclist }
+\tl_if_exist:NT \@expl at finalise@setup@@@@
   {
-    \AtBeginDocument
+    \tl_gput_right:Nn \@expl at finalise@setup@@@@
       {
-        \group_begin:
-          \cs_set_protected:Npn \@@_change_case_setup:Nn #1#2
-            {
-              \quark_if_recursion_tail_stop:N #1
-              \tl_if_single_token:nT {#2}
+        \AtBeginDocument
+          {
+            \group_begin:
+              \cs_set_protected:Npn \@@_change_case_setup:Nn #1#2
                 {
-                  \cs_if_exist:cF
-                    { c_@@_uppercase_ \token_to_str:N #1 _tl }
+                  \quark_if_recursion_tail_stop:N #1
+                  \tl_if_single_token:nT {#2}
                     {
-                      \tl_const:cn
+                      \cs_if_exist:cF
                         { c_@@_uppercase_ \token_to_str:N #1 _tl }
-                        { #2 }
-                    }
-                  \cs_if_exist:cF
-                    { c_@@_lowercase_ \token_to_str:N #2 _tl }
-                    {
-                      \tl_const:cn
+                        {
+                          \tl_const:cn
+                            { c_@@_uppercase_ \token_to_str:N #1 _tl }
+                            { #2 }
+                        }
+                      \cs_if_exist:cF
                         { c_@@_lowercase_ \token_to_str:N #2 _tl }
-                        { #1 }
+                        {
+                          \tl_const:cn
+                            { c_@@_lowercase_ \token_to_str:N #2 _tl }
+                            { #1 }
+                        }
                     }
+                  \@@_change_case_setup:Nn
                 }
-              \@@_change_case_setup:Nn
-            }
-          \exp_after:wN \@@_change_case_setup:Nn \@uclclist
-          \q_recursion_tail ?
-          \q_recursion_stop
-        \group_end:
+              \exp_after:wN \@@_change_case_setup:Nn \@uclclist
+              \q_recursion_tail ?
+              \q_recursion_stop
+            \group_end:
+          }
       }
   }
 %    \end{macrocode}





More information about the latex3-commits mailing list.