From 6c87d764952f4d6eb0d273c68f6033a0b5536fdb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 3 May 2019 22:30:06 +0000 Subject: l3 (3may19) git-svn-id: svn://tug.org/texlive/trunk@50972 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/l3kernel/expl3-code.tex | 275 +++++++++++---------- 1 file changed, 144 insertions(+), 131 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 0710918dfaf..d4f679dc452 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -48,6 +48,7 @@ %% l3luatex.dtx (with options: `package,tex') %% l3unicode.dtx (with options: `package') %% l3candidates.dtx (with options: `package') +%% l3legacy.dtx (with options: `package') %% l3deprecation.dtx (with options: `package') %% %% Copyright (C) 1990-2019 The LaTeX3 Project @@ -63,7 +64,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2019-04-21}% +\def\ExplFileDate{2019-05-03}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -744,6 +745,7 @@ \__kernel_primitive:NN \pdfoutline \tex_pdfoutline:D \__kernel_primitive:NN \pdfoutput \tex_pdfoutput:D \__kernel_primitive:NN \pdfpageattr \tex_pdfpageattr:D + \__kernel_primitive:NN \pdfpagesattr \tex_pdfpagesattr:D \__kernel_primitive:NN \pdfpagebox \tex_pdfpagebox:D \__kernel_primitive:NN \pdfpageref \tex_pdfpageref:D \__kernel_primitive:NN \pdfpageresources \tex_pdfpageresources:D @@ -1223,6 +1225,8 @@ \__kernel_primitive:NN \Usuperscript \tex_Usuperscript:D \__kernel_primitive:NN \Uunderdelimiter \tex_Uunderdelimiter:D \__kernel_primitive:NN \Uvextensible \tex_Uvextensible:D + \__kernel_primitive:NN \harftexrevision \tex_harftexrevision:D + \__kernel_primitive:NN \harftexversion \tex_harftexversion:D \__kernel_primitive:NN \autospacing \tex_autospacing:D \__kernel_primitive:NN \autoxspacing \tex_autoxspacing:D \__kernel_primitive:NN \dtou \tex_dtou:D @@ -8979,6 +8983,47 @@ { \exp_not:c { peek_#1:NF } ##1 {##2} } } } +\group_begin: + \cs_set_protected:Npn \__peek_tmp:w #1 \q_stop + { + \cs_new_protected:Npn \__peek_execute_branches_N_type: + { + \if_int_odd:w + \if_catcode:w \exp_not:N \l_peek_token { 0 \exp_stop_f: \fi: + \if_catcode:w \exp_not:N \l_peek_token } 0 \exp_stop_f: \fi: + \if_meaning:w \l_peek_token \c_space_token 0 \exp_stop_f: \fi: + 1 \exp_stop_f: + \exp_after:wN \__peek_N_type:w + \token_to_meaning:N \l_peek_token + \q_mark \__peek_N_type_aux:nnw + #1 \q_mark \use_none_delimit_by_q_stop:w + \q_stop + \exp_after:wN \__peek_true:w + \else: + \exp_after:wN \__peek_false:w + \fi: + } + \cs_new_protected:Npn \__peek_N_type:w ##1 #1 ##2 \q_mark ##3 + { ##3 {##1} {##2} } + } + \exp_after:wN \__peek_tmp:w \tl_to_str:n { outer } \q_stop +\group_end: +\cs_new_protected:Npn \__peek_N_type_aux:nnw #1 #2 #3 \fi: + { + \fi: + \tl_if_in:noTF {#1} { \tl_to_str:n {ma} } + { \__peek_true:w } + { \tl_if_empty:nTF {#2} { \__peek_true:w } { \__peek_false:w } } + } +\cs_new_protected:Npn \peek_N_type:TF + { + \__peek_token_generic:NNTF + \__peek_execute_branches_N_type: \scan_stop: + } +\cs_new_protected:Npn \peek_N_type:T + { \__peek_token_generic:NNT \__peek_execute_branches_N_type: \scan_stop: } +\cs_new_protected:Npn \peek_N_type:F + { \__peek_token_generic:NNF \__peek_execute_branches_N_type: \scan_stop: } %% File: l3prop.dtx \scan_new:N \s__prop \cs_new:Npn \__prop_pair:wn #1 \s__prop #2 @@ -11012,12 +11057,101 @@ \__kernel_ior_open:No \g__file_internal_ior \l__file_full_name_tl \ior_if_eof:NF \g__file_internal_ior { #2 { \prg_break: } } } +\cs_new_protected:Npn \file_get_mdfive_hash:nN #1#2 + { \file_get_mdfive_hash:nNF {#1} #2 { \tl_set:Nn #2 { \q_no_value } } } +\cs_new_protected:Npn \file_get_size:nN #1#2 + { \file_get_size:nNF {#1} #2 { \tl_set:Nn #2 { \q_no_value } } } +\cs_new_protected:Npn \file_get_timestamp:nN #1#2 + { \file_get_timestamp:nNF {#1} #2 { \tl_set:Nn #2 { \q_no_value } } } +\prg_new_protected_conditional:Npnn \file_get_mdfive_hash:nN #1#2 { T , F , TF } + { \__file_get_details:nnN {#1} { mdfivesum } {#2} } +\prg_new_protected_conditional:Npnn \file_get_size:nN #1#2 { T , F , TF } + { \__file_get_details:nnN {#1} { size } {#2} } +\prg_new_protected_conditional:Npnn \file_get_timestamp:nN #1#2 { T , F , TF } + { \__file_get_details:nnN {#1} { moddate } {#2} } +\cs_new_protected:Npn \__file_get_details:nnN #1#2#3 + { + \file_get_full_name:nNTF {#1} \l__file_full_name_tl + { + \tl_set:Nx #3 + { + \use:c { tex_file #2 :D } \exp_after:wN + { \l__file_full_name_tl } + } + \prg_return_true: + } + { \prg_return_false: } + } +\sys_if_engine_luatex:TF + { + \cs_set_protected:Npn \__file_get_details:nnN #1#2#3 + { + \file_get_full_name:nNTF {#1} \l__file_full_name_tl + { + \tl_set:Nx #3 + { + \lua_now:e + { + l3kernel.file#2 + ( " \lua_escape:e { \l__file_full_name_tl } " ) + } + } + \prg_return_true: + } + { \prg_return_false: } + } + } + { + \prg_set_protected_conditional:Npnn \file_get_mdfive_hash:nN #1#2 + { T , F , TF } + { + \file_get_full_name:nNTF {#1} \l__file_full_name_tl + { + \tl_set:Nx #2 + { + \tex_mdfivesum:D file \exp_after:wN + { \l__file_full_name_tl } + } + \prg_return_true: + } + { \prg_return_false: } + } + \cs_if_exist:NF \tex_filesize:D + { + \cs_set_protected:Npn \__file_get_details:nnN #1#2#3 + { + \tl_clear:N #3 + \__kernel_msg_error:nnx + { kernel } { primitive-not-available } + { \exp_not:c { (pdf)file #2 } } + \prg_return_false: + } + } + } +\__kernel_msg_new:nnnn { kernel } { primitive-not-available } + { Primitive~\token_to_str:N #1 not~available } + { + The~version~of~XeTeX~in~use~does~not~provide~functionality~equivalent~to~ + the~\token_to_str:N #1 primitive. + } \prg_new_protected_conditional:Npnn \file_if_exist:n #1 { T , F , TF } { \file_get_full_name:nNTF {#1} \l__file_full_name_tl { \prg_return_true: } { \prg_return_false: } } +\cs_new_protected:Npn \file_if_exist_input:n #1 + { + \file_get_full_name:nNT {#1} \l__file_full_name_tl + { \__file_input:V \l__file_full_name_tl } + } +\cs_new_protected:Npn \file_if_exist_input:nF #1#2 + { + \file_get_full_name:nNTF {#1} \l__file_full_name_tl + { \__file_input:V \l__file_full_name_tl } + {#2} + } +\cs_new_protected:Npn \file_input_stop: { \tex_endinput:D } \cs_new_protected:Npn \__kernel_file_missing:n #1 { \__kernel_file_name_sanitize:nN {#1} \l__file_base_name_tl @@ -25830,95 +25964,6 @@ } \cs_new:Npn \fp_sign:n #1 { \fp_to_decimal:n { sign \__fp_parse:n {#1} } } -\cs_new_protected:Npn \file_get_mdfive_hash:nN #1#2 - { \file_get_mdfive_hash:nNF {#1} #2 { \tl_set:Nn #2 { \q_no_value } } } -\cs_new_protected:Npn \file_get_size:nN #1#2 - { \file_get_size:nNF {#1} #2 { \tl_set:Nn #2 { \q_no_value } } } -\cs_new_protected:Npn \file_get_timestamp:nN #1#2 - { \file_get_timestamp:nNF {#1} #2 { \tl_set:Nn #2 { \q_no_value } } } -\prg_new_protected_conditional:Npnn \file_get_mdfive_hash:nN #1#2 { T , F , TF } - { \__file_get_details:nnN {#1} { mdfivesum } {#2} } -\prg_new_protected_conditional:Npnn \file_get_size:nN #1#2 { T , F , TF } - { \__file_get_details:nnN {#1} { size } {#2} } -\prg_new_protected_conditional:Npnn \file_get_timestamp:nN #1#2 { T , F , TF } - { \__file_get_details:nnN {#1} { moddate } {#2} } -\cs_new_protected:Npn \__file_get_details:nnN #1#2#3 - { - \file_get_full_name:nNTF {#1} \l__file_full_name_tl - { - \tl_set:Nx #3 - { - \use:c { tex_file #2 :D } \exp_after:wN - { \l__file_full_name_tl } - } - \prg_return_true: - } - { \prg_return_false: } - } -\sys_if_engine_luatex:TF - { - \cs_set_protected:Npn \__file_get_details:nnN #1#2#3 - { - \file_get_full_name:nNTF {#1} \l__file_full_name_tl - { - \tl_set:Nx #3 - { - \lua_now:e - { - l3kernel.file#2 - ( " \lua_escape:e { \l__file_full_name_tl } " ) - } - } - \prg_return_true: - } - { \prg_return_false: } - } - } - { - \prg_set_protected_conditional:Npnn \file_get_mdfive_hash:nN #1#2 - { T , F , TF } - { - \file_get_full_name:nNTF {#1} \l__file_full_name_tl - { - \tl_set:Nx #2 - { - \tex_mdfivesum:D file \exp_after:wN - { \l__file_full_name_tl } - } - \prg_return_true: - } - { \prg_return_false: } - } - \cs_if_exist:NF \tex_filesize:D - { - \cs_set_protected:Npn \__file_get_details:nnN #1#2#3 - { - \tl_clear:N #3 - \__kernel_msg_error:nnx - { kernel } { primitive-not-available } - { \exp_not:c { (pdf)file #2 } } - \prg_return_false: - } - } - } -\__kernel_msg_new:nnnn { kernel } { primitive-not-available } - { Primitive~\token_to_str:N #1 not~available } - { - The~version~of~XeTeX~in~use~does~not~provide~functionality~equivalent~to~ - the~\token_to_str:N #1 primitive. - } -\cs_new_protected:Npn \file_if_exist_input:n #1 - { - \file_get_full_name:nNT {#1} \l__file_full_name_tl - { \__file_input:V \l__file_full_name_tl } - } -\cs_new_protected:Npn \file_if_exist_input:nF #1#2 - { - \file_get_full_name:nNTF {#1} \l__file_full_name_tl - { \__file_input:V \l__file_full_name_tl } - {#2} - } -\cs_new_protected:Npn \file_input_stop: { \tex_endinput:D } \__kernel_patch:nnNNpn { \__flag_chk_exist:n {#1} } { } \cs_new:Npn \flag_raise_if_clear:n #1 { @@ -27549,47 +27594,6 @@ \char_set_lccode:nn { `* } { `\ } \tex_lowercase:D { \tl_const:Nn \c_catcode_active_space_tl { * } } \group_end: -\group_begin: - \cs_set_protected:Npn \__peek_tmp:w #1 \q_stop - { - \cs_new_protected:Npn \__peek_execute_branches_N_type: - { - \if_int_odd:w - \if_catcode:w \exp_not:N \l_peek_token { 0 \exp_stop_f: \fi: - \if_catcode:w \exp_not:N \l_peek_token } 0 \exp_stop_f: \fi: - \if_meaning:w \l_peek_token \c_space_token 0 \exp_stop_f: \fi: - 1 \exp_stop_f: - \exp_after:wN \__peek_N_type:w - \token_to_meaning:N \l_peek_token - \q_mark \__peek_N_type_aux:nnw - #1 \q_mark \use_none_delimit_by_q_stop:w - \q_stop - \exp_after:wN \__peek_true:w - \else: - \exp_after:wN \__peek_false:w - \fi: - } - \cs_new_protected:Npn \__peek_N_type:w ##1 #1 ##2 \q_mark ##3 - { ##3 {##1} {##2} } - } - \exp_after:wN \__peek_tmp:w \tl_to_str:n { outer } \q_stop -\group_end: -\cs_new_protected:Npn \__peek_N_type_aux:nnw #1 #2 #3 \fi: - { - \fi: - \tl_if_in:noTF {#1} { \tl_to_str:n {ma} } - { \__peek_true:w } - { \tl_if_empty:nTF {#2} { \__peek_true:w } { \__peek_false:w } } - } -\cs_new_protected:Npn \peek_N_type:TF - { - \__peek_token_generic:NNTF - \__peek_execute_branches_N_type: \scan_stop: - } -\cs_new_protected:Npn \peek_N_type:T - { \__peek_token_generic:NNT \__peek_execute_branches_N_type: \scan_stop: } -\cs_new_protected:Npn \peek_N_type:F - { \__peek_token_generic:NNF \__peek_execute_branches_N_type: \scan_stop: } \tl_new:N \l__peek_collect_tl \cs_new_protected:Npn \peek_catcode_collect_inline:Nn { \__peek_collect:NNn \__peek_execute_branches_catcode: } @@ -27637,6 +27641,15 @@ \tl_put_right:Nn \l__peek_collect_tl {#1} \exp_after:wN \__peek_true_remove:w } +%% File: l3legacy.dtx +\prg_new_conditional:Npnn \legacy_if:n #1 { p , T , F , TF } + { + \exp_args:Nc \if_meaning:w { if#1 } \iftrue + \prg_return_true: + \else: + \prg_return_false: + \fi: + } %% File: l3deprecation.dtx \bool_new:N \l__deprecation_grace_period_bool \cs_new:Npn \__deprecation_date_compare:nNnTF #1#2#3 -- cgit v1.2.3