From 3569abb47f6a23e9969d9f14f285bdc9ad52c018 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 30 Jun 2023 20:51:06 +0000 Subject: l3kernel (30jun23) git-svn-id: svn://tug.org/texlive/trunk@67514 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/l3kernel/expl3-code.tex | 85 +++++++++++++++------- .../tex/latex/l3kernel/expl3-generic.tex | 2 +- Master/texmf-dist/tex/latex/l3kernel/expl3.ltx | 2 +- Master/texmf-dist/tex/latex/l3kernel/expl3.sty | 2 +- 4 files changed, 63 insertions(+), 28 deletions(-) (limited to 'Master/texmf-dist/tex/latex/l3kernel') diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 4d4e1a5e850..7abab03b74f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/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{2023-06-16}% +\def\ExplFileDate{2023-06-30}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -167,7 +167,7 @@ \def\LongText% {% The L3 programming layer requires the e-TeX primitives and the - \LineBreak 'pdfTeX extensions' as described in the README file. + \LineBreak 'pdfTeX utilities' as described in the README file. \LineBreak These are available in the engines\LineBreak - pdfTeX v1.40.20\LineBreak @@ -17767,15 +17767,16 @@ Type H for immediate help}\def~{\errmessage{% \if_case:w #3 \exp_stop_f: #1 \or: 1 \or: 0 \fi: \exp_stop_f: #4; } -\cs_new:Npn \__fp_tuple_set_sign_o:w #1 +\cs_new:Npn \__fp_tuple_set_sign_o:w #1#2 @ { \if_meaning:w 2 #1 \exp_after:wN \__fp_tuple_set_sign_aux_o:Nnw \fi: \__fp_invalid_operation_o:nw { abs } + #2 } -\cs_new:Npn \__fp_tuple_set_sign_aux_o:Nnw #1#2#3 @ - { \__fp_tuple_map_o:nw \__fp_tuple_set_sign_aux_o:w #3 } +\cs_new:Npn \__fp_tuple_set_sign_aux_o:Nnw #1#2 + { \__fp_tuple_map_o:nw \__fp_tuple_set_sign_aux_o:w } \cs_new:Npn \__fp_tuple_set_sign_aux_o:w #1#2 ; { \__fp_change_func_type:NNN #1 \__fp_set_sign_o:w @@ -31661,6 +31662,15 @@ Type H for immediate help}\def~{\errmessage{% } \cs_generate_variant:Nn \__codepoint_to_bytes_output:nnn { f } \cs_new:Npn \__codepoint_to_bytes_end: { } +\cs_new:Npn \codepoint_to_category:n #1 + { + \cs:w + c__codepoint_category_ + \tex_romannumeral:D + \__kernel_codepoint_data:nn { category } {#1} + _str + \cs_end: + } \cs_new:Npn \codepoint_to_nfd:n #1 { \exp_args:Ne \__codepoint_to_nfd:n { \int_eval:n {#1} } } \cs_new:Npn \__codepoint_to_nfd:n #1 @@ -31696,7 +31706,7 @@ Type H for immediate help}\def~{\errmessage{% \ior_new:N \g__codepoint_data_ior \group_begin: \clist_map_inline:nn - { uppercase , lowercase } + { category , uppercase , lowercase } { \cs_set_nopar:cpn { l__codepoint_ #1 _block_clist } { } \cs_set_nopar:cpn { l__codepoint_ #1 _block_tl } { 1 } @@ -31706,6 +31716,23 @@ Type H for immediate help}\def~{\errmessage{% } \cs_set_nopar:Npn \l__codepoint_next_codepoint_fint_tl { 0 } \cs_set_nopar:Npn \l__codepoint_matched_block_tl { 0 } + \cs_set_protected:Npn \__codepoint_data_auxi:w #1#2 + { + \quark_if_recursion_tail_stop:n {#2} + \cs_set_nopar:cpn { l__codepoint_category_ #2 _tl } {#1} + \str_const:cn { c__codepoint_category_ \tex_romannumeral:D #1 _str } {#2} + \exp_args:Ne \__codepoint_data_auxi:w { \int_eval:n { #1 + 1 } } + } + \__codepoint_data_auxi:w { 1 } + { Lu } { Ll } { Lt } { Lm } { Lo } + { Mn } { Me } { Mc } + { Nd } { Nl } { No } + { Zs } { Zl } { Zp } + { Cc } { Cf } { Co } { Cs } { Cn } + { Pd } { Ps } { Pe } { Pc } { Po } { Pi } { Pf } + { Sm } { Sc } { Sk } { So } + \q_recursion_tail + \q_recursion_stop \cs_set_protected:Npn \__codepoint_data_auxi:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 ; #8 ; #9 ; { @@ -31714,7 +31741,7 @@ Type H for immediate help}\def~{\errmessage{% \tl_if_head_eq_charcode:nNF {#6} < % > { \__codepoint_data_auxii:w #1 ; #6 ~ \q_stop } } - \__codepoint_data_auxiii:w #1 ; #2 ; + \__codepoint_data_auxiii:w #1 ; #2 ; #3 ; } \cs_set_protected:Npn \__codepoint_data_auxii:w #1 ; #2 ~ #3 \q_stop { @@ -31726,37 +31753,41 @@ Type H for immediate help}\def~{\errmessage{% } } \cs_set_protected:Npn \__codepoint_data_auxiii:w - #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 ; #8 ~ \q_stop + #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 ; #8 ; #9 ~ \q_stop { \use:e { \__codepoint_data_auxiv:w #1 ; #2 ; - \__codepoint_data_offset:nn {#1} {#6} ; + \__codepoint_data_category:n {#3} ; \__codepoint_data_offset:nn {#1} {#7} ; - #8; + \__codepoint_data_offset:nn {#1} {#8} ; + #9; } } + \cs_set:Npn \__codepoint_data_category:n #1 + { \use:c { l__codepoint_category_ #1 _tl } } \cs_set:Npn \__codepoint_data_offset:nn #1#2 { \tl_if_blank:nTF {#2} { 0 } { \int_eval:n { "#2 - "#1 } } } - \cs_set_protected:Npn \__codepoint_data_auxiv:w #1 ; #2 ; #3 ; #4 ; #5 ; + \cs_set_protected:Npn \__codepoint_data_auxiv:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; { \int_compare:nNnT {"#1} > \l__codepoint_next_codepoint_fint_tl { - \__codepoint_data_auxvi:nnnw {#1} {#3} {#4} + \__codepoint_data_auxv:nnnnw {#1} {#3} {#4} {#5} #2 Last> \q_stop } - \__codepoint_add:nn { uppercase } {#3} - \__codepoint_add:nn { lowercase } {#4} - \int_compare:nNnF {#3} = { \__codepoint_data_offset:nn {#1} {#5} } + \__codepoint_add:nn { category } {#3} + \__codepoint_add:nn { uppercase } {#4} + \__codepoint_add:nn { lowercase } {#5} + \int_compare:nNnF {#4} = { \__codepoint_data_offset:nn {#1} {#6} } { \tl_const:cx { c__codepoint_titlecase_ \codepoint_str_generate:n {"#1} _tl } - { {"#5} { } { } } + { {"#6} { } { } } } \tl_set:Nx \l__codepoint_next_codepoint_fint_tl { \int_eval:n { "#1 + 1 } } @@ -31768,16 +31799,19 @@ Type H for immediate help}\def~{\errmessage{% = \c__codepoint_block_size_int { \__codepoint_save_blocks:nn {#1} { 1 } } } - \cs_set_protected:Npn \__codepoint_data_auxvi:nnnw #1#2#3#4 Last> #5 \q_stop + \cs_set_protected:Npx \__codepoint_data_auxv:nnnnw #1#2#3#4#5 Last> #6 \q_stop { - \tl_if_blank:nTF {#5} + \exp_not:N \tl_if_blank:nTF {#6} { - \__codepoint_range:nnn {#1} { uppercase } { 0 } - \__codepoint_range:nnn {#1} { lowercase } { 0 } + \exp_not:N \__codepoint_range:nnn {#1} { category } + { \exp_not:V \l__codepoint_category_Cn_tl } + \exp_not:N \__codepoint_range:nnn {#1} { uppercase } { 0 } + \exp_not:N \__codepoint_range:nnn {#1} { lowercase } { 0 } } { - \__codepoint_range:nnn {#1} { uppercase } {#2} - \__codepoint_range:nnn {#1} { lowercase } {#3} + \exp_not:N \__codepoint_range:nnn {#1} { category } {#2} + \exp_not:N \__codepoint_range:nnn {#1} { uppercase } {#3} + \exp_not:N \__codepoint_range:nnn {#1} { lowercase } {#4} } } \cs_set_protected:Npn \__codepoint_range:nnn #1 @@ -31854,7 +31888,7 @@ Type H for immediate help}\def~{\errmessage{% } \cs_set_protected:Npn \__codepoint_finalise_blocks: { - \clist_map_inline:nn { uppercase , lowercase } + \clist_map_inline:nn { category , uppercase , lowercase } { \__codepoint_range:nnn { 110000 } {##1} { 0 } \__codepoint_finalise_blocks:n {##1} @@ -33943,8 +33977,9 @@ Type H for immediate help}\def~{\errmessage{% {#1} {#2} {#3} {#4} {#5} } { - \__text_change_case_breathing_aux:nnnnn - {#1} {#2} {#3} {#4} {#6} + \__text_codepoint_process:nN + { \__text_change_case_breathing:nnnnnw {#1} {#2} {#3} {#4} } + #6 \q_mark } } \cs_new:Npn \__text_change_case_breathing_aux:nnnnn #1#2#3#4#5 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 9e6bce78818..0c1a5b3a2ca 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/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{2023-06-16}% +\def\ExplFileDate{2023-06-30}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \catcode`\_=11 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx index acdb94412d4..4030180fede 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-06-16}% +\def\ExplFileDate{2023-06-30}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \catcode`\_=11 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 34b05bb0e77..b31daae3367 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-06-16}% +\def\ExplFileDate{2023-06-30}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% -- cgit v1.2.3