From 54079d2aaddf39563a50a6d397e67e7129a1dacc Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 21 Feb 2022 20:56:53 +0000
Subject: l3kernel (21feb22)

git-svn-id: svn://tug.org/texlive/trunk@62127 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/tex/latex/l3kernel/expl3-code.tex   | 76 +++++++++++++---------
 1 file changed, 44 insertions(+), 32 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')

diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 99f5218c8d0..9adbf83c905 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/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-02-05}%
+\def\ExplFileDate{2022-02-21}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -158,7 +158,11 @@
     \expandafter\ifx\csname newcatcodetable\endcsname\relax
       \input{ltluatex}%
     \fi
-    \ifdefined\newluabytecode\newluabytecode\@expl@luadata@bytecode\fi
+    \begingroup\expandafter\expandafter\expandafter\endgroup
+    \expandafter\ifx\csname newluabytecode\endcsname\relax
+    \else
+      \newluabytecode\@expl@luadata@bytecode
+    \fi
     \directlua{require("expl3")}%
     \ifnum 0%
       \directlua{
@@ -179,19 +183,20 @@
   \def\LongText%
     {%
       The L3 programming layer requires the e-TeX primitives and additional
-      functionality as described in the README file.
+      \LineBreak functionality as described in the README file.
       \LineBreak
       These are available in the engines\LineBreak
       - pdfTeX v1.40.0\LineBreak
       - XeTeX v0.99992\LineBreak
       - LuaTeX v1.10\LineBreak
       - e-(u)pTeX mid-2012\LineBreak
+      - Prote (2021)\LineBreak
       or later.\LineBreak
       \LineBreak
     }%
   \ifnum0%
     \expandafter\ifx\csname expanded\endcsname\relax
-      \ifx\csname pdfstrcmp\endcsname\relax\else 1\fi
+      \expandafter\ifx\csname pdfstrcmp\endcsname\relax\else 1\fi
     \else
       \expandafter\ifx\csname luatexversion\endcsname\relax
         1%
@@ -204,11 +209,15 @@
       \def\LineBreak{\noexpand\MessageBreak}%
       \expandafter\ifx\csname PackageError\endcsname\relax
         \def\LineBreak{^^J}%
-        \def\PackageError#1#2#3%
-          {%
-            \errhelp{#3}%
-            \errmessage{#1 Error: #2}%
-          }%
+        \begingroup
+          \lccode`\~=`\ \lccode`\}=`\ %
+          \lccode`\T=`\T\lccode`\H=`\H%
+          \catcode`\ =11 %
+\lowercase{\endgroup\def\PackageError#1#2#3{%
+\begingroup\errorcontextlines-1\immediate\write0{}\errhelp{#3}\def%
+\                                                   {#1 Error: #2.^^J^^J
+Type  H <return>  for immediate help}\def~{\errmessage{%
+\                                                   }}~\endgroup}}%
       \fi
       \edef\next
         {%
@@ -33573,37 +33582,40 @@
   \tl_const:cn { c__text_uppercase_ \token_to_str:N \i _tl } { I }
   \tl_const:cn { c__text_uppercase_ \token_to_str:N \j _tl } { J }
 \group_end:
-\cs_if_exist:cT { @uclclist }
+\tl_if_exist:NT \@expl@finalise@setup@@
   {
-    \AtBeginDocument
+    \tl_gput_right:Nn \@expl@finalise@setup@@
       {
-        \group_begin:
-          \cs_set_protected:Npn \__text_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 \__text_change_case_setup:Nn #1#2
                 {
-                  \cs_if_exist:cF
-                    { c__text_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__text_uppercase_ \token_to_str:N #1 _tl }
-                        { #2 }
-                    }
-                  \cs_if_exist:cF
-                    { c__text_lowercase_ \token_to_str:N #2 _tl }
-                    {
-                      \tl_const:cn
+                        {
+                          \tl_const:cn
+                            { c__text_uppercase_ \token_to_str:N #1 _tl }
+                            { #2 }
+                        }
+                      \cs_if_exist:cF
                         { c__text_lowercase_ \token_to_str:N #2 _tl }
-                        { #1 }
+                        {
+                          \tl_const:cn
+                            { c__text_lowercase_ \token_to_str:N #2 _tl }
+                            { #1 }
+                        }
                     }
+                  \__text_change_case_setup:Nn
                 }
-              \__text_change_case_setup:Nn
-            }
-          \exp_after:wN \__text_change_case_setup:Nn \@uclclist
-          \q_recursion_tail ?
-          \q_recursion_stop
-        \group_end:
+              \exp_after:wN \__text_change_case_setup:Nn \@uclclist
+              \q_recursion_tail ?
+              \q_recursion_stop
+            \group_end:
+          }
       }
   }
 %% File: l3text-purify.dtx
-- 
cgit v1.2.3

