diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | 178 |
1 files changed, 96 insertions, 82 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 79b6ec56e25..86c7aecf56b 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -63,7 +63,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-01}% +\def\ExplFileDate{2019-01-12}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -10514,11 +10514,11 @@ \cs_new_protected:Npn \__ior_map_inline_loop:NNN #1#2#3 { #2 #3 \l__ior_internal_tl - \ior_if_eof:NF #3 - { - \exp_args:No #1 \l__ior_internal_tl - \__ior_map_inline_loop:NNN #1#2#3 - } + \if_eof:w #3 + \exp_after:wN \use_none:nnnnnnn + \fi: + \exp_args:No #1 \l__ior_internal_tl + \__ior_map_inline_loop:NNN #1#2#3 } \int_const:Nn \c_log_iow { -1 } \int_const:Nn \c_term_iow @@ -13017,7 +13017,7 @@ } } %% File: l3fp.dtx Copyright (C) 2011-2019 The LaTeX3 Project -%% File: l3fp-aux.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-aux.dtx Copyright (C) 2011-2019 The LaTeX3 Project \cs_new_eq:NN \__fp_int_eval:w \tex_numexpr:D \cs_new_eq:NN \__fp_int_eval_end: \scan_stop: \cs_new_eq:NN \__fp_int_to_roman:w \tex_romannumeral:D @@ -13596,7 +13596,7 @@ { Invalid~operation~ (#1) #3 (#2) } \__kernel_msg_new:nnn { kernel } { fp-unknown-type } { Unknown~type~for~'#1' } -%% File: l3fp-round.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-round.dtx Copyright (C) 2011-2019 The LaTeX3 Project \cs_new:Npn \__fp_parse_word_trunc:N { \__fp_parse_function:NNN \__fp_round_o:Nw \__fp_round_to_zero:NNN } \cs_new:Npn \__fp_parse_word_floor:N @@ -18482,7 +18482,7 @@ { \__fp_asin_auxi_o:NnNww #1 {#3} #4 } } } -%% File: l3fp-convert.dtx Copyright(C) 2011-2019 The LaTeX3 Project +%% File: l3fp-convert.dtx Copyright (C) 2011-2019 The LaTeX3 Project \cs_new:Npn \__fp_tuple_convert:Nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ; { \int_case:nnF { \__fp_array_count:n {#2} } @@ -24014,7 +24014,7 @@ } } } -%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2019 The LaTeX3 Project +%% File: l3color-base.dtx Copyright (C) 2011,2012,2014,2016-2019 The LaTeX3 Project \cs_new_eq:NN \color_group_begin: \group_begin: \cs_new_eq:NN \color_group_end: \group_end: \cs_new_protected:Npn \color_ensure_current: @@ -24037,7 +24037,7 @@ { \driver_color_spot:nn {#1} {#2} } \tl_new:N \l__color_current_tl \tl_set:Nn \l__color_current_tl { gray~0 } -%% File: l3coffins.dtx Copyright(C) 2010-2019 The LaTeX3 Project +%% File: l3coffins.dtx Copyright (C) 2010-2019 The LaTeX3 Project \box_new:N \l__coffin_internal_box \dim_new:N \l__coffin_internal_dim \tl_new:N \l__coffin_internal_tl @@ -24919,6 +24919,26 @@ { \group_begin: \cs_set_eq:NN \__char_generate:w \tex_Uchar:D + \cs_set:Npx \__char_generate:n #1 + { + \sys_if_engine_luatex:TF + { + \exp_not:N \lua_now:e + { + l3kernel.charcat + ( + \exp_not:N \tex_number:D #1 , + \exp_not:N \tex_the:D \tex_catcode:D #1 + ) + } + } + { + \exp_not:N \tex_Ucharcat:D + \exp_not:N \tex_number:D #1 ~ + \c_space_tl + \exp_not:N \tex_the:D \tex_catcode:D #1 ~ + } + } \ior_open:Nn \g__char_data_ior { UnicodeData.txt } \cs_set_protected:Npn \__char_data_auxi:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 ; #8 ; #9 ; @@ -24926,68 +24946,58 @@ \cs_set_protected:Npn \__char_data_auxii:w #1 ; #2 ; #3 ; #4 ; #5 ; #6 ; #7 \q_stop { - \tl_if_blank:nF {#7} - { - \str_if_eq:nnF {#5} {#7} - { - \tl_const:cx - { c__char_mixed_case_ \__char_generate:w "#1 _tl } - { - \char_generate:nn { "#7 } - { \char_value_catcode:n { "#7 } } - } - } - } + \cs_set_nopar:Npn \l__char_tmpa_tl {#7} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_empty_tl + \cs_set_nopar:Npn \l__char_tmpb_tl {#5} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \l__char_tmpb_tl + \tl_const:cx + { c__char_mixed_case_ \__char_generate:w "#1 _tl } + { \__char_generate:n { "#7 } } + \fi: + \fi: } \ior_map_inline:Nn \g__char_data_ior { - \tl_if_blank:nF {#1} - { \__char_data_auxi:w #1 \q_stop } + \cs_set_nopar:Npn \l__char_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_space_tl + \__char_data_auxi:w #1 \q_stop + \fi: } \ior_close:N \g__char_data_ior \ior_open:Nn \g__char_data_ior { CaseFolding.txt } \cs_set_protected:Npn \__char_data_auxi:w #1 ;~ #2 ;~ #3 ; #4 \q_stop { - \str_if_eq:nnTF {#2} { C } - { - \int_compare:nNnF - { \char_value_lccode:n {"#1} } = {"#3} - { - \tl_const:cx - { c__char_fold_case_ \__char_generate:w "#1 _tl } - { - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } - } - } - } - { - \str_if_eq:nnT {#2} { F } - { \__char_data_auxii:w #1 ~ #3 ~ \q_stop } - } + \if:w \tl_head:n { #2 ? } C + \reverse_if:N \if_int_compare:w + \char_value_lccode:n {"#1} = "#3 ~ + \tl_const:cx + { c__char_fold_case_ \__char_generate:w "#1 _tl } + { \__char_generate:n { "#3 } } + \fi: + \else: + \if:w \tl_head:n { #2 ? } F + \__char_data_auxii:w #1 ~ #3 ~ \q_stop + \fi: + \fi: } \cs_set_protected:Npn \__char_data_auxii:w #1 ~ #2 ~ #3 ~ #4 \q_stop { \tl_const:cx { c__char_fold_case_ \__char_generate:w "#1 _tl } { - \char_generate:nn { "#2 } - { \char_value_catcode:n { "#2 } } - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } + \__char_generate:n { "#2 } + \__char_generate:n { "#3 } \tl_if_blank:nF {#4} - { - \char_generate:nn { "#4 } - { \char_value_catcode:n { "#4 } } - } + { \__char_generate:n { "#4 } } } } \ior_str_map_inline:Nn \g__char_data_ior { - \tl_if_blank:nF {#1} - { - \str_if_eq:eeF { \tl_head:n {#1} } { \c_hash_str } - { \__char_data_auxi:w #1 \q_stop } - } + \cs_set_nopar:Npn \l__char_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_empty_tl + \reverse_if:N \if:w \tl_head:n { #1 ? } \c_hash_str + \__char_data_auxi:w #1 \q_stop + \fi: + \fi: } \ior_close:N \g__char_data_ior \ior_open:Nn \g__char_data_ior { SpecialCasing.txt } @@ -25006,31 +25016,30 @@ { \tl_const:cx { c__char_ #2 _case_ \__char_generate:w "#1 _tl } { - \char_generate:nn { "#3 } - { \char_value_catcode:n { "#3 } } - \char_generate:nn { "#4 } - { \char_value_catcode:n { "#4 } } + \__char_generate:n { "#3 } + \__char_generate:n { "#4 } \tl_if_blank:nF {#5} - { - \char_generate:nn { "#5 } - { \char_value_catcode:n { "#5 } } - } + { \__char_generate:n { "#5 } } } } } \ior_str_map_inline:Nn \g__char_data_ior { - \tl_if_blank:nF {#1} - { - \str_if_eq:eeTF { \tl_head:n {#1} } { \c_hash_str } + \cs_set_nopar:Npn \l__char_tmpa_tl {#1} + \reverse_if:N \if_meaning:w \l__char_tmpa_tl \c_empty_tl + \if:w \tl_head:n { #1 ? } \c_hash_str + \cs_set_nopar:Npx \l__char_tmpb_tl { - \str_if_eq:eeT - {#1} - { \c_hash_str \c_space_tl Conditional~Mappings } - { \ior_map_break: } + \c_hash_str \c_space_tl + \tl_to_str:n { Conditional~Mappings } } - { \__char_data_auxi:w #1 \q_stop } - } + \if_meaning:w \l__char_tmpa_tl \l__char_tmpb_tl + \exp_after:wN \exp_after:wN \exp_after:wN \ior_map_break: + \fi: + \else: + \__char_data_auxi:w #1 \q_stop + \fi: + \fi: } \ior_close:N \g__char_data_ior \group_end: @@ -26810,34 +26819,39 @@ \exp_after:wN \__tl_tmp:w \l__tl_internal_a_tl \__tl_loop:nn } - \cs_set_protected:Npn \__tl_tmp:w #1#2#3#4#5#6#7#8 + \cs_set_protected:Npn \__tl_tmp:nnnn #1#2#3#4#5 { \tl_const:cx { - c__tl_lower_case_ - \char_generate:nn {#1} { 12 } + c__tl_ #1 _case_ \char_generate:nn {#2} { 12 } + \char_generate:nn {#3} { 12 } _tl } { \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#5} { 13 } + \exp_not:N \char_generate:nn {#4} { 13 } \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#6} { 13 } + \exp_not:N \char_generate:nn {#5} { 13 } } + } + \cs_set_protected:Npn \__tl_tmp:w #1#2#3#4#5#6#7#8 + { \tl_const:cx { - c__tl_upper_case_ - \char_generate:nn {#5} { 12 } - \char_generate:nn {#6} { 12 } + c__tl_lower_case_ + \char_generate:nn {#1} { 12 } + \char_generate:nn {#2} { 12 } _tl } { \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#1} { 13 } + \exp_not:N \char_generate:nn {#5} { 13 } \exp_after:wN \exp_after:wN \exp_after:wN - \exp_not:N \char_generate:nn {#2} { 13 } + \exp_not:N \char_generate:nn {#6} { 13 } } + \__tl_tmp:nnnn { upper } {#5} {#6} {#1} {#2} + \__tl_tmp:nnnn { mixed } {#5} {#6} {#1} {#2} } \__tl_loop:nn { 00C0 } { 00E0 } |