summaryrefslogtreecommitdiff
path: root/macros/latex-dev/base/ltfinal.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-03-16 03:01:05 +0000
committerNorbert Preining <norbert@preining.info>2022-03-16 03:01:05 +0000
commit725ce6a3e602c7516d471df841ea433b8c5bcd9d (patch)
tree6cc54f5bd90984b9b63976a0386ae2681a08b7cb /macros/latex-dev/base/ltfinal.dtx
parentd6f947fa36ed3b76d36a8dfad4e9247319b4d622 (diff)
CTAN sync 202203160301
Diffstat (limited to 'macros/latex-dev/base/ltfinal.dtx')
-rw-r--r--macros/latex-dev/base/ltfinal.dtx34
1 files changed, 24 insertions, 10 deletions
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index 46c7ded4aa..4f3b3f15a1 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2021/12/07 v2.2q LaTeX Kernel (Final Settings)]
+ [2022/02/20 v2.2r LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -1037,10 +1037,14 @@
% \begin{macro}{\MakeUppercase}
% \begin{macro}{\MakeUppercase}
% \begin{macro}{\@uclclist}
+% \begin{macro}{\@expl@text@lowercase@@n}
+% \begin{macro}{\@expl@text@uppercase@@n}
+% \begin{macro}{\@uclclist}
+%
%
% \changes{v1.1a}{1997/10/20}{Removed \cs{aa} and \cs{AA} from
% \cs{@uclclist} as these are macros.}
-%
+% \changes{v2.2r}{2022/02/20}{use \cs{text_lowercase:n}}%
% And whilst we're doing things with uc/lc tables, here are two
% commands to upper- and lower-case a string.
%
@@ -1051,7 +1055,18 @@
% mathematics, environment names, labels, etc. A much better
% long-term solution is to use all-caps fonts, but these aren't
% generally available.
+%
+% Two wrappers around the L3 case changing functions.
+% |\protected| to make them mostly safe as replacements for |uppercase|
+% and |\lowercase|.
% \begin{macrocode}
+\ExplSyntaxOn
+\protected\def\@expl@text@lowercase@@n{\text_lowercase:n}
+\protected\def\@expl@text@uppercase@@n{\text_uppercase:n}
+\ExplSyntaxOff
+% \end{macrocode}
+
+%% \begin{macrocode}
\DeclareRobustCommand{\MakeUppercase}[1]{{%
\def\i{I}\def\j{J}%
\def\reserved@a##1##2{\let##1##2\reserved@a}%
@@ -1059,20 +1074,16 @@
% \end{macrocode}
% Tell UTF-8 processing to process chars even though we are in an \cs{protected@edef}.
% \changes{v2.1h}{2019/09/14}{Expand UTF8 chars when case changing (github/177)}
+% \changes{v2.2r}{2022/02/20}
+% {Use \cs{@expl@text@uppercase@@n}, removing local redefinition of \cs{UTF@two@octets@noexpand}}%
% \begin{macrocode}
- \let\UTF@two@octets@noexpand\@empty
- \let\UTF@three@octets@noexpand\@empty
- \let\UTF@four@octets@noexpand\@empty
- \protected@edef\reserved@a{\uppercase{#1}}%
+ \protected@edef\reserved@a{\@expl@text@uppercase@@n{#1}}%
\reserved@a
}}
\DeclareRobustCommand{\MakeLowercase}[1]{{%
\def\reserved@a##1##2{\let##2##1\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \let\UTF@two@octets@noexpand\@empty
- \let\UTF@three@octets@noexpand\@empty
- \let\UTF@four@octets@noexpand\@empty
- \protected@edef\reserved@a{\lowercase{#1}}%
+ \protected@edef\reserved@a{\@expl@text@lowercase@@n{#1}}%
\reserved@a
}}
% \end{macrocode}
@@ -1108,6 +1119,9 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \changes{v1.0h}{1994/05/13}{Added output enc stuff}
% \changes{v1.0i}{1994/05/16}{moved output enc stuff to lfonts}