[latex3-commits] [git/LaTeX3-latex3-latex3] master: Add \@uclclist to case changing (19ee35d67)

Joseph Wright joseph.wright at morningstar2.co.uk
Tue Feb 11 13:55:22 CET 2020


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/19ee35d6765c47a5e4b75cfbd8ce2e11c5899217

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

commit 19ee35d6765c47a5e4b75cfbd8ce2e11c5899217
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Tue Feb 11 12:55:22 2020 +0000

    Add \@uclclist to case changing


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

19ee35d6765c47a5e4b75cfbd8ce2e11c5899217
 l3kernel/CHANGELOG.md    |  3 +++
 l3kernel/l3text-case.dtx | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 31b00ecc3..5567ec915 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -10,6 +10,9 @@ this project uses date-based 'snapshot' version identifiers.
 ### Added
 - Key property `.cs_set:Np` and variants
 
+### Changed
+- Support `\@uclclist` entries when case-changing
+
 ### Fixed
 - Allow for full range of encodings when expanding text (issue #671)
 - Support `\begin`/`\end` in text expansion
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index e48d96975..53f839b46 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -1412,6 +1412,38 @@
 \group_end:
 %    \end{macrocode}
 %
+% To deal with possible encoding-specific extensions to \tn{@uclclist},
+% we check at the end of the preamble. This will therefore only apply
+% to \LaTeXe{} package mode.
+%    \begin{macrocode}
+\cs_if_exist:cT { @uclclist }
+  {
+    \AtBeginDocument
+      {
+        \group_begin:
+          \cs_set_protected:Npn \@@_change_case_setup:NN #1#2
+            {
+              \quark_if_recursion_tail_stop:N #1
+              \cs_if_exist:cF { c_@@_uppercase_ \token_to_str:N #1 _tl }
+                {
+                  \tl_const:cn { c_@@_uppercase_ \token_to_str:N #1 _tl }
+                    { #2 }
+                }
+              \cs_if_exist:cF { c_@@_lowercase_ \token_to_str:N #2 _tl }
+                {
+                  \tl_const:cn { c_@@_lowercase_ \token_to_str:N #2 _tl }
+                    { #1 }
+                }
+              \@@_change_case_setup:NN
+            }
+          \exp_after:wN \@@_change_case_setup:NN \@uclclist
+          \q_recursion_tail ?
+          \q_recursion_stop
+        \group_end:
+      }
+  }
+%    \end{macrocode}
+%
 %    \begin{macrocode}
 %</initex|package>
 %    \end{macrocode}





More information about the latex3-commits mailing list.