[latex3-commits] [git/LaTeX3-latex3-latex2e] main: Update l3backend and l3kernel to 2022-10-26 (049df79c)

Joseph Wright joseph.wright at morningstar2.co.uk
Wed Oct 26 22:31:33 CEST 2022


Repository : https://github.com/latex3/latex2e
On branch  : main
Link       : https://github.com/latex3/latex2e/commit/049df79ca316f20a88cc9e5f0e2144bd82b61d32

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

commit 049df79ca316f20a88cc9e5f0e2144bd82b61d32
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Wed Oct 26 21:05:49 2022 +0100

    Update l3backend and l3kernel to 2022-10-26


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

049df79ca316f20a88cc9e5f0e2144bd82b61d32
 texmf/tex/latex/l3backend/l3backend-dvipdfmx.def |   8 +-
 texmf/tex/latex/l3backend/l3backend-dvips.def    |   8 +-
 texmf/tex/latex/l3backend/l3backend-dvisvgm.def  |   2 +-
 texmf/tex/latex/l3backend/l3backend-luatex.def   |   2 +-
 texmf/tex/latex/l3backend/l3backend-pdftex.def   |   2 +-
 texmf/tex/latex/l3backend/l3backend-xetex.def    |   2 +-
 texmf/tex/latex/l3kernel/expl3-code.tex          | 186 ++++++++++++++---------
 texmf/tex/latex/l3kernel/expl3-generic.tex       |   2 +-
 texmf/tex/latex/l3kernel/expl3.ltx               |   2 +-
 texmf/tex/latex/l3kernel/expl3.sty               |   2 +-
 10 files changed, 127 insertions(+), 89 deletions(-)

diff --git a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
index 992a5da4..4abeab38 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvipdfmx.def}{2022-09-28}{}
+  {l3backend-dvipdfmx.def}{2022-10-26}{}
   {L3 backend support: dvipdfmx}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -806,13 +806,11 @@
         \__kernel_backend_literal:e
           {
             pdf:pagesize ~
-              width  ~ \__pdf_backend_pagesize_set:n {#1} ~
-              height ~ \__pdf_backend_pagesize_set:n {#2}
+              width  ~ \dim_eval:n {#1} ~
+              height ~ \dim_eval:n {#2}
           }
       }
   }
-\cs_new:Npn \__pdf_backend_pagesize_set:n #1
-  { \fp_to_dim:n { \tex_mag:D / 1000 * (#1) } }
 %% File: l3backend-opacity.dtx
 \bool_lazy_and:nnT
   { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
diff --git a/texmf/tex/latex/l3backend/l3backend-dvips.def b/texmf/tex/latex/l3backend/l3backend-dvips.def
index a84536ec..656d07d0 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvips.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvips.def
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvips.def}{2022-09-28}{}
+  {l3backend-dvips.def}{2022-10-26}{}
   {L3 backend support: dvips}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -1034,14 +1034,10 @@
       {
         \__kernel_backend_literal:e
           {
-            papersize =
-              \__pdf_backend_pagesize_set:n {#1} ,
-              \__pdf_backend_pagesize_set:n {#2}
+            papersize = \dim_eval:n {#1} , \dim_eval:n {#2}
           }
       }
   }
-\cs_new:Npn \__pdf_backend_pagesize_set:n #1
-  { \fp_to_dim:n { \tex_mag:D / 1000 * (#1) } }
 %% File: l3backend-opacity.dtx
 \cs_new_protected:Npn \__opacity_backend_select:n #1
   {
diff --git a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
index c34ba5b6..7fcb631b 100644
--- a/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/texmf/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvisvgm.def}{2022-09-28}{}
+  {l3backend-dvisvgm.def}{2022-10-26}{}
   {L3 backend support: dvisvgm}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
diff --git a/texmf/tex/latex/l3backend/l3backend-luatex.def b/texmf/tex/latex/l3backend/l3backend-luatex.def
index ec2560fb..71ddaedd 100644
--- a/texmf/tex/latex/l3backend/l3backend-luatex.def
+++ b/texmf/tex/latex/l3backend/l3backend-luatex.def
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-luatex.def}{2022-09-28}{}
+  {l3backend-luatex.def}{2022-10-26}{}
   {L3 backend support: PDF output (LuaTeX)}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
diff --git a/texmf/tex/latex/l3backend/l3backend-pdftex.def b/texmf/tex/latex/l3backend/l3backend-pdftex.def
index b92249d3..c87dd528 100644
--- a/texmf/tex/latex/l3backend/l3backend-pdftex.def
+++ b/texmf/tex/latex/l3backend/l3backend-pdftex.def
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-pdftex.def}{2022-09-28}{}
+  {l3backend-pdftex.def}{2022-10-26}{}
   {L3 backend support: PDF output (pdfTeX)}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
diff --git a/texmf/tex/latex/l3backend/l3backend-xetex.def b/texmf/tex/latex/l3backend/l3backend-xetex.def
index e6005f61..346b6650 100644
--- a/texmf/tex/latex/l3backend/l3backend-xetex.def
+++ b/texmf/tex/latex/l3backend/l3backend-xetex.def
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-xetex.def}{2022-09-28}{}
+  {l3backend-xetex.def}{2022-10-26}{}
   {L3 backend support: XeTeX}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
diff --git a/texmf/tex/latex/l3kernel/expl3-code.tex b/texmf/tex/latex/l3kernel/expl3-code.tex
index d49f9dc8..258d0476 100644
--- a/texmf/tex/latex/l3kernel/expl3-code.tex
+++ b/texmf/tex/latex/l3kernel/expl3-code.tex
@@ -71,7 +71,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-09-28}%
+\def\ExplFileDate{2022-10-26}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -248,24 +248,16 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
     \protected\def\noexpand\ExplSyntaxOff{}%
     \catcode   9 = \the\catcode   9\relax
     \catcode  32 = \the\catcode  32\relax
-    \catcode  34 = \the\catcode  34\relax
-    \catcode  38 = \the\catcode  38\relax
     \catcode  58 = \the\catcode  58\relax
-    \catcode  94 = \the\catcode  94\relax
     \catcode  95 = \the\catcode  95\relax
-    \catcode 124 = \the\catcode 124\relax
     \catcode 126 = \the\catcode 126\relax
     \endlinechar = \the\endlinechar\relax
     \chardef\csname\detokenize{l__kernel_expl_bool}\endcsname = 0\relax
   }%
-\catcode 9   = 9\relax
-\catcode 32  = 9\relax
-\catcode 34  = 12\relax
-\catcode 38 =  4\relax
-\catcode 58  = 11\relax
-\catcode 94  = 7\relax
-\catcode 95  = 11\relax
-\catcode 124 = 12\relax
+\catcode   9 = 9\relax
+\catcode  32 = 9\relax
+\catcode  58 = 11\relax
+\catcode  95 = 11\relax
 \catcode 126 = 10\relax
 \endlinechar = 32\relax
 \chardef\l__kernel_expl_bool = 1\relax
@@ -275,14 +267,10 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
       {
         \cs_set_protected:Npx \ExplSyntaxOff
           {
-            \char_set_catcode:nn { 9 }   { \char_value_catcode:n { 9 } }
-            \char_set_catcode:nn { 32 }  { \char_value_catcode:n { 32 } }
-            \char_set_catcode:nn { 34 }  { \char_value_catcode:n { 34 } }
-            \char_set_catcode:nn { 38 }  { \char_value_catcode:n { 38 } }
-            \char_set_catcode:nn { 58 }  { \char_value_catcode:n { 58 } }
-            \char_set_catcode:nn { 94 }  { \char_value_catcode:n { 94 } }
-            \char_set_catcode:nn { 95 }  { \char_value_catcode:n { 95 } }
-            \char_set_catcode:nn { 124 } { \char_value_catcode:n { 124 } }
+            \char_set_catcode:nn {   9 } { \char_value_catcode:n {   9 } }
+            \char_set_catcode:nn {  32 } { \char_value_catcode:n {  32 } }
+            \char_set_catcode:nn {  58 } { \char_value_catcode:n {  58 } }
+            \char_set_catcode:nn {  95 } { \char_value_catcode:n {  95 } }
             \char_set_catcode:nn { 126 } { \char_value_catcode:n { 126 } }
             \tex_endlinechar:D =
               \tex_the:D \tex_endlinechar:D \scan_stop:
@@ -290,14 +278,10 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
             \cs_set_protected:Npn \ExplSyntaxOff { }
           }
       }
-    \char_set_catcode_ignore:n           { 9 }   % tab
-    \char_set_catcode_ignore:n           { 32 }  % space
-    \char_set_catcode_other:n            { 34 }  % double quote
-    \char_set_catcode_alignment:n        { 38 }  % ampersand
-    \char_set_catcode_letter:n           { 58 }  % colon
-    \char_set_catcode_math_superscript:n { 94 }  % circumflex
-    \char_set_catcode_letter:n           { 95 }  % underscore
-    \char_set_catcode_other:n            { 124 } % pipe
+    \char_set_catcode_ignore:n           {   9 } % tab
+    \char_set_catcode_ignore:n           {  32 } % space
+    \char_set_catcode_letter:n           {  58 } % colon
+    \char_set_catcode_letter:n           {  95 } % underscore
     \char_set_catcode_space:n            { 126 } % tilde
     \tex_endlinechar:D = 32 \scan_stop:
     \bool_set_true:N \l__kernel_expl_bool
@@ -7785,9 +7769,6 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
           { \int_value:w \tex_elapsedtime:D }
       }
       {
-        \msg_new:nnnn { kernel } { no-elapsed-time }
-          { No~clock~detected~for~#1. }
-          { The~current~engine~provides~no~way~to~access~the~system~time. }
         \cs_new:Npn \sys_timer:
           {
             \int_value:w
@@ -10617,6 +10598,12 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
     LaTeX~has~been~asked~to~replace~an~empty~pattern~by~'#1':~that~
     would~lead~to~an~infinite~loop!
   }
+\cs_if_exist:NF \tex_elapsedtime:D
+  {
+    \msg_new:nnnn { kernel } { no-elapsed-time }
+      { No~clock~detected~for~#1. }
+      { The~current~engine~provides~no~way~to~access~the~system~time. }
+   }
 \msg_new:nnnn { kernel } { non-base-function }
   { Function~'#1'~is~not~a~base~function }
   {
@@ -23221,7 +23208,6 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
   {
     \char_generate:nn { 32 } { 3 }   3
     \char_generate:nn { 32 } { 4 }   4
-    # \char_generate:nn { 32 } { 6 } 6
     \char_generate:nn { 32 } { 7 }   7
     \char_generate:nn { 32 } { 8 }   8
     \c_space_tl                     \token_to_str:N A
@@ -23451,35 +23437,40 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
         \scan_stop:
         \exp_after:wN \use_none:n \token_to_str:N #3 \prg_do_nothing:
         \scan_stop:
-      \exp_after:wN \__tl_analysis_b_char:Nww
+      \exp_after:wN \__tl_analysis_b_char:Nn
+      \exp_after:wN \__tl_analysis_b_char_aux:nww
     \else:
       \exp_after:wN \__tl_analysis_b_cs:Nww
     \fi:
     #3 #1; #2;
   }
-\cs_new:Npx \__tl_analysis_b_char:Nww #1
+\cs_new:Npx \__tl_analysis_b_char:Nn #1#2
   {
-    \exp_not:N \if_meaning:w #1 \exp_not:N \tex_undefined:D
+    \exp_not:N \if_meaning:w #2 \exp_not:N \tex_undefined:D
       \token_to_str:N D \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_catcode_other_token
+    \exp_not:N \if_catcode:w #2 \c_catcode_other_token
       \token_to_str:N C \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_catcode_letter_token
+    \exp_not:N \if_catcode:w #2 \c_catcode_letter_token
       \token_to_str:N B \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_math_toggle_token      3
+    \exp_not:N \if_catcode:w #2 \c_math_toggle_token      3
       \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_alignment_token        4
+    \exp_not:N \if_catcode:w #2 \c_alignment_token        4
       \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_math_superscript_token 7
+    \exp_not:N \if_catcode:w #2 \c_math_superscript_token 7
       \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_math_subscript_token   8
+    \exp_not:N \if_catcode:w #2 \c_math_subscript_token   8
       \exp_not:N \else:
-    \exp_not:N \if_catcode:w #1 \c_space_token
+    \exp_not:N \if_catcode:w #2 \c_space_token
       \token_to_str:N A \exp_not:N \else:
       6
     \exp_not:n { \fi: \fi: \fi: \fi: \fi: \fi: \fi: \fi: }
-    \exp_not:N \int_value:w `#1 \s__tl
-   \exp_not:N \exp_after:wN \exp_not:N \__tl_analysis_b_normals:ww
-     \exp_not:N \int_value:w \exp_not:N \int_eval:w - 1 +
+    #1 {#2}
+  }
+\cs_new:Npn \__tl_analysis_b_char_aux:nww #1
+  {
+    \int_value:w `#1 \s__tl
+    \exp_after:wN \__tl_analysis_b_normals:ww
+      \int_value:w \int_eval:w - 1 +
   }
 \cs_new:Npn \__tl_analysis_b_cs:Nww #1
   {
@@ -23693,49 +23684,96 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
   }
 \cs_new_protected:Npn \__tl_peek_analysis_test:
   {
-    \if_int_odd:w
-      \if_catcode:w \exp_not:N \l_peek_token {   \c_zero_int \fi:
-      \if_catcode:w \exp_not:N \l_peek_token }   \c_zero_int \fi:
-      \if_meaning:w \l_peek_token \c_space_token \c_zero_int \fi:
-      \c_one_int
+    \if_case:w
+      \if_catcode:w \exp_not:N \l_peek_token {   \c_max_int \fi:
+      \if_catcode:w \exp_not:N \l_peek_token }   \c_max_int \fi:
+      \if_meaning:w \l_peek_token \c_space_token \c_max_int \fi:
+      \exp_after:wN \if_meaning:w \exp_not:N \l_peek_token \l_peek_token
+        \c_one_int
+      \fi:
+      \c_zero_int
       \exp_after:wN \exp_after:wN
-      \exp_after:wN \__tl_peek_analysis_normal:N
+      \exp_after:wN \__tl_peek_analysis_exp:N
       \exp_after:wN \exp_not:N
+    \or:
+      \exp_after:wN \__tl_peek_analysis_nonexp:N
     \else:
       \exp_after:wN \__tl_peek_analysis_special:
     \fi:
   }
-\cs_new_protected:Npn \__tl_peek_analysis_normal:N #1
+\cs_new_protected:Npn \__tl_peek_analysis_exp:N #1
+  {
+    \cs_set_nopar:Npx \l__tl_peek_code_tl
+      {
+        \tex_let:D \exp_not:N #1 \scan_stop:
+        \exp_not:o \l__tl_peek_code_tl
+        {
+          \exp_not:n { \__kernel_exp_not:w \exp_after:wN }
+            { \exp_not:N \exp_not:N \exp_not:N #1 }
+        }
+        \if:w \scan_stop:
+              \exp_after:wN \use_none:n \token_to_str:N #1 \prg_do_nothing:
+              \scan_stop:
+          \exp_after:wN \exp_after:wN
+          \exp_after:wN \__tl_peek_analysis_exp_active:N
+        \else:
+          { -1 } 0
+          \exp_after:wN \exp_after:wN
+          \exp_after:wN \use_none:n
+        \fi:
+        \exp_not:N #1
+      }
+    \l__tl_peek_code_tl
+  }
+\cs_new:Npx \__tl_peek_analysis_exp_active:N #1
+  { { \exp_not:N \int_value:w `#1 } \token_to_str:N D }
+\cs_new_protected:Npn \__tl_peek_analysis_nonexp:N #1
   {
-    \exp_after:wN \reverse_if:N \exp_after:wN \if_meaning:w
-        \exp_not:N #1 #1
-      \tex_let:D #1 \scan_stop:
-      \tl_put_right:Nn \l__tl_peek_code_tl { { \exp_not:N #1 } }
-    \else:
-      \tl_put_right:Nn \l__tl_peek_code_tl { { \exp_not:n {#1} } }
-    \fi:
     \if_charcode:w
         \scan_stop:
         \exp_after:wN \use_none:n \token_to_str:N #1 \prg_do_nothing:
         \scan_stop:
       \exp_after:wN \__tl_peek_analysis_char:N
-      \exp_after:wN #1
     \else:
-      \exp_after:wN \__tl_peek_analysis_cs:
+      \exp_after:wN \__tl_peek_analysis_cs:N
     \fi:
+    #1
   }
-\cs_new_protected:Npn \__tl_peek_analysis_cs:
-  { \l__tl_peek_code_tl { -1 } 0 }
-\cs_new_protected:Npn \__tl_peek_analysis_char:N #1
+\cs_new_protected:Npn \__tl_peek_analysis_cs:N #1
+  { \l__tl_peek_code_tl { \exp_not:n {#1} } { -1 } 0 }
+\group_begin:
+\char_set_active_eq:NN \ \scan_stop:
+\cs_new_protected:Npx \__tl_peek_analysis_char:N #1
   {
-    \char_set_lccode:nn { `#1 } { 32 }
-    \tex_lowercase:D { \__tl_peek_analysis_char:nN {#1} } #1
+    \cs_set_eq:NN
+      \char_generate:nn { 32 } { 13 }
+      \exp_not:N \tex_undefined:D
+    \tex_lccode:D `#1 = 32 \exp_stop_f:
+    \tex_lowercase:D
+      {
+        \tl_put_right:Nx \exp_not:N \l__tl_peek_code_tl
+          { \exp_not:n { \__tl_analysis_b_char:Nn \use_none:n } {#1} }
+      }
+    \exp_not:n
+      {
+        \exp_after:wN \__tl_peek_analysis_char:w
+        \int_value:w
+      }
+      `#1
+    \exp_not:n { \exp_after:wN \s__tl \l__tl_peek_code_tl }
+    #1
   }
-\cs_new_protected:Npn \__tl_peek_analysis_char:nN #1#2
+\group_end:
+\cs_new_protected:Npn \__tl_peek_analysis_char:w #1 \s__tl #2#3#4
   {
-    \cs_set_protected:Npn \__tl_tmp:w ##1 #1 ##2 ##3 \scan_stop:
-      { \exp_args:No \l__tl_peek_code_tl { \int_value:w `#2 } ##2 }
-    \exp_after:wN \__tl_tmp:w \c__tl_peek_catcodes_tl \scan_stop:
+    \if_charcode:w 6 #3
+    \else:
+      \if_charcode:w D #3
+      \else:
+        \exp_args:NNNo
+      \fi:
+    \fi:
+    #2 { \exp_not:n {#4} } {#1} #3
   }
 \cs_new_protected:Npn \__tl_peek_analysis_special:
   {
@@ -23763,6 +23801,11 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
   {
     \tl_if_empty:oT { \tex_the:D \tex_everyeof:D }
       { \tex_everyeof:D { \scan_stop: } }
+    \tex_afterassignment:D \__tl_peek_analysis_nextii:
+    \tex_futurelet:D \l__tl_analysis_next_token
+  }
+\cs_new_protected:Npn \__tl_peek_analysis_nextii:
+  {
     \tex_afterassignment:D \__tl_peek_analysis_str:
     \tex_futurelet:D \l__tl_analysis_next_token
   }
@@ -30398,6 +30441,7 @@ Type  H <return>  for immediate help}\def~{\errmessage{%
             { \cs_if_exist_p:N \stockwidth }
             { \cs_if_exist_p:N \IfDocumentMetadataTF }
             { \IfDocumentMetadataTF { \c_true_bool } { \c_false_bool } }
+            { \int_compare_p:nNn \tex_mag:D = { 1000 } }
           }
           {
             \bool_lazy_and:nnTF
diff --git a/texmf/tex/latex/l3kernel/expl3-generic.tex b/texmf/tex/latex/l3kernel/expl3-generic.tex
index 80a27677..e8f06e68 100644
--- a/texmf/tex/latex/l3kernel/expl3-generic.tex
+++ b/texmf/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-09-28}%
+\def\ExplFileDate{2022-10-26}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.ltx b/texmf/tex/latex/l3kernel/expl3.ltx
index 915b8c10..0d2454e4 100644
--- a/texmf/tex/latex/l3kernel/expl3.ltx
+++ b/texmf/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-09-28}%
+\def\ExplFileDate{2022-10-26}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11
diff --git a/texmf/tex/latex/l3kernel/expl3.sty b/texmf/tex/latex/l3kernel/expl3.sty
index 3a5c3d76..8518152b 100644
--- a/texmf/tex/latex/l3kernel/expl3.sty
+++ b/texmf/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2022-09-28}%
+\def\ExplFileDate{2022-10-26}%
 \let\ExplLoaderFileDate\ExplFileDate
 \ProvidesPackage{expl3}
   [%





More information about the latex3-commits mailing list.