diff options
author | Norbert Preining <norbert@preining.info> | 2022-03-16 03:01:05 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-03-16 03:01:05 +0000 |
commit | 725ce6a3e602c7516d471df841ea433b8c5bcd9d (patch) | |
tree | 6cc54f5bd90984b9b63976a0386ae2681a08b7cb /macros/latex-dev/base/ltfinal.dtx | |
parent | d6f947fa36ed3b76d36a8dfad4e9247319b4d622 (diff) |
CTAN sync 202203160301
Diffstat (limited to 'macros/latex-dev/base/ltfinal.dtx')
-rw-r--r-- | macros/latex-dev/base/ltfinal.dtx | 34 |
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} |