diff options
author | Karl Berry <karl@freefriends.org> | 2018-09-24 20:23:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-09-24 20:23:18 +0000 |
commit | a495fe970496337011c0698a03476ce888a26105 (patch) | |
tree | 592b35bc873870f28ec4883e3ba0fdd6a4d68119 /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | |
parent | 68966bb4bfd52e8d9d91b9fd5e6ff36d3d74a57e (diff) |
l3 (24sep18)
git-svn-id: svn://tug.org/texlive/trunk@48749 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | 192 |
1 files changed, 127 insertions, 65 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index ee3ce0a28f8..cf7dd09bf49 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-2018 The LaTeX3 Project -\def\ExplFileDate{2018-08-23}% +\def\ExplFileDate{2018-09-24}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -961,6 +961,10 @@ \__kernel_primitive:NN \automatichyphenpenalty \tex_automatichyphenpenalty:D \__kernel_primitive:NN \begincsname \tex_begincsname:D + \__kernel_primitive:NN \bodydir \tex_bodydir:D + \__kernel_primitive:NN \bodydirection \tex_bodydirection:D + \__kernel_primitive:NN \boxdir \tex_boxdir:D + \__kernel_primitive:NN \boxdirection \tex_boxdirection:D \__kernel_primitive:NN \breakafterdirmode \tex_breakafterdirmode:D \__kernel_primitive:NN \catcodetable \tex_catcodetable:D \__kernel_primitive:NN \clearmarks \tex_clearmarks:D @@ -969,12 +973,14 @@ \tex_crampedscriptscriptstyle:D \__kernel_primitive:NN \crampedscriptstyle \tex_crampedscriptstyle:D \__kernel_primitive:NN \crampedtextstyle \tex_crampedtextstyle:D + \__kernel_primitive:NN \csstring \tex_csstring:D \__kernel_primitive:NN \directlua \tex_directlua:D \__kernel_primitive:NN \dviextension \tex_dviextension:D \__kernel_primitive:NN \dvifeedback \tex_dvifeedback:D \__kernel_primitive:NN \dvivariable \tex_dvivariable:D \__kernel_primitive:NN \etoksapp \tex_etoksapp:D \__kernel_primitive:NN \etokspre \tex_etokspre:D + \__kernel_primitive:NN \exceptionpenalty \tex_exceptionpenalty:D \__kernel_primitive:NN \explicithyphenpenalty \tex_explicithyphenpenalty:D \__kernel_primitive:NN \expanded \tex_expanded:D \__kernel_primitive:NN \explicitdiscretionary \tex_explicitdiscretionary:D @@ -987,16 +993,34 @@ \__kernel_primitive:NN \hyphenationmin \tex_hyphenationmin:D \__kernel_primitive:NN \hyphenpenaltymode \tex_hyphenpenaltymode:D \__kernel_primitive:NN \gleaders \tex_gleaders:D + \__kernel_primitive:NN \ifcondition \tex_ifcondition:D + \__kernel_primitive:NN \immediateassigned \tex_immediateassigned:D + \__kernel_primitive:NN \immediateassignment \tex_immediateassignment:D \__kernel_primitive:NN \initcatcodetable \tex_initcatcodetable:D \__kernel_primitive:NN \lastnamedcs \tex_lastnamedcs:D \__kernel_primitive:NN \latelua \tex_latelua:D + \__kernel_primitive:NN \lateluafunction \tex_lateluafunction:D + \__kernel_primitive:NN \leftghost \tex_leftghost:D \__kernel_primitive:NN \letcharcode \tex_letcharcode:D + \__kernel_primitive:NN \linedir \tex_linedir:D + \__kernel_primitive:NN \linedirection \tex_linedirection:D + \__kernel_primitive:NN \localbrokenpenalty \tex_localbrokenpenalty:D + \__kernel_primitive:NN \localinterlinepenalty \tex_localinterlinepenalty:D + \__kernel_primitive:NN \luabytecode \tex_luabytecode:D + \__kernel_primitive:NN \luabytecodecall \tex_luabytecodecall:D + \__kernel_primitive:NN \luacopyinputnodes \tex_luacopyinputnodes:D + \__kernel_primitive:NN \luadef \tex_luadef:D + \__kernel_primitive:NN \localleftbox \tex_localleftbox:D + \__kernel_primitive:NN \localrightbox \tex_localrightbox:D \__kernel_primitive:NN \luaescapestring \tex_luaescapestring:D \__kernel_primitive:NN \luafunction \tex_luafunction:D + \__kernel_primitive:NN \luafunctioncall \tex_luafunctioncall:D \__kernel_primitive:NN \luatexbanner \tex_luatexbanner:D \__kernel_primitive:NN \luatexrevision \tex_luatexrevision:D \__kernel_primitive:NN \luatexversion \tex_luatexversion:D \__kernel_primitive:NN \mathdelimitersmode \tex_mathdelimitersmode:D + \__kernel_primitive:NN \mathdir \tex_mathdir:D + \__kernel_primitive:NN \mathdirection \tex_mathdirection:D \__kernel_primitive:NN \mathdisplayskipmode \tex_mathdisplayskipmode:D \__kernel_primitive:NN \matheqnogapstep \tex_matheqnogapstep:D \__kernel_primitive:NN \mathnolimitsmode \tex_mathnolimitsmode:D @@ -1005,6 +1029,7 @@ \__kernel_primitive:NN \mathrulesfam \tex_mathrulesfam:D \__kernel_primitive:NN \mathscriptsmode \tex_mathscriptsmode:D \__kernel_primitive:NN \mathscriptboxmode \tex_mathscriptboxmode:D + \__kernel_primitive:NN \mathscriptcharmode \tex_mathscriptcharmode:D \__kernel_primitive:NN \mathstyle \tex_mathstyle:D \__kernel_primitive:NN \mathsurroundmode \tex_mathsurroundmode:D \__kernel_primitive:NN \mathsurroundskip \tex_mathsurroundskip:D @@ -1015,9 +1040,13 @@ \__kernel_primitive:NN \novrule \tex_novrule:D \__kernel_primitive:NN \outputbox \tex_outputbox:D \__kernel_primitive:NN \pagebottomoffset \tex_pagebottomoffset:D + \__kernel_primitive:NN \pagedir \tex_pagedir:D + \__kernel_primitive:NN \pagedirection \tex_pagedirection:D \__kernel_primitive:NN \pageleftoffset \tex_pageleftoffset:D \__kernel_primitive:NN \pagerightoffset \tex_pagerightoffset:D \__kernel_primitive:NN \pagetopoffset \tex_pagetopoffset:D + \__kernel_primitive:NN \pardir \tex_pardir:D + \__kernel_primitive:NN \pardirection \tex_pardirection:D \__kernel_primitive:NN \pdfextension \tex_pdfextension:D \__kernel_primitive:NN \pdffeedback \tex_pdffeedback:D \__kernel_primitive:NN \pdfvariable \tex_pdfvariable:D @@ -1028,6 +1057,7 @@ \__kernel_primitive:NN \preexhyphenchar \tex_preexhyphenchar:D \__kernel_primitive:NN \prehyphenchar \tex_prehyphenchar:D \__kernel_primitive:NN \prerelpenalty \tex_prerelpenalty:D + \__kernel_primitive:NN \rightghost \tex_rightghost:D \__kernel_primitive:NN \savecatcodetable \tex_savecatcodetable:D \__kernel_primitive:NN \scantextokens \tex_scantextokens:D \__kernel_primitive:NN \setfontid \tex_setfontid:D @@ -1038,23 +1068,12 @@ \__kernel_primitive:NN \suppressoutererror \tex_suppressoutererror:D \__kernel_primitive:NN \suppressprimitiveerror \tex_suppressprimitiveerror:D + \__kernel_primitive:NN \textdir \tex_textdir:D + \__kernel_primitive:NN \textdirection \tex_textdirection:D \__kernel_primitive:NN \toksapp \tex_toksapp:D \__kernel_primitive:NN \tokspre \tex_tokspre:D \__kernel_primitive:NN \tpack \tex_tpack:D \__kernel_primitive:NN \vpack \tex_vpack:D - \__kernel_primitive:NN \bodydir \tex_bodydir:D - \__kernel_primitive:NN \boxdir \tex_boxdir:D - \__kernel_primitive:NN \leftghost \tex_leftghost:D - \__kernel_primitive:NN \linedir \tex_linedir:D - \__kernel_primitive:NN \localbrokenpenalty \tex_localbrokenpenalty:D - \__kernel_primitive:NN \localinterlinepenalty \tex_localinterlinepenalty:D - \__kernel_primitive:NN \localleftbox \tex_localleftbox:D - \__kernel_primitive:NN \localrightbox \tex_localrightbox:D - \__kernel_primitive:NN \mathdir \tex_mathdir:D - \__kernel_primitive:NN \pagedir \tex_pagedir:D - \__kernel_primitive:NN \pardir \tex_pardir:D - \__kernel_primitive:NN \rightghost \tex_rightghost:D - \__kernel_primitive:NN \textdir \tex_textdir:D \__kernel_primitive:NN \adjustspacing \tex_adjustspacing:D \__kernel_primitive:NN \copyfont \tex_copyfont:D \__kernel_primitive:NN \draftmode \tex_draftmode:D @@ -10130,6 +10149,7 @@ \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnn { nnff } \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnn { nnf } %% File: l3file.dtx Copyright (C) 1990-2018 The LaTeX3 Project +\tl_new:N \l__ior_internal_tl \int_const:Nn \c_term_ior { 16 } \seq_new:N \g__ior_streams_seq \tl_new:N \l__ior_stream_tl @@ -10268,7 +10288,6 @@ \__ior_map_inline_loop:NNN #1#2#3 } } -\tl_new:N \l__ior_internal_tl \int_const:Nn \c_log_iow { -1 } \int_const:Nn \c_term_iow { @@ -10665,6 +10684,7 @@ { \tl_if_empty:NF #1 { \exp_after:wN \__iow_wrap_trim:w #1 \q_stop } } \exp_last_unbraced:NNNNo \cs_new:Npn \__iow_wrap_trim:w #1 \c_catcode_other_space_tl \q_stop {#1} +\tl_new:N \l__file_internal_tl \ior_new:N \g__file_internal_ior \str_new:N \g_file_curr_dir_str \str_new:N \g_file_curr_ext_str @@ -10694,7 +10714,6 @@ { \exp_after:wN \__file_tmp:w \@currnamestack } \group_end: \seq_new:N \g__file_record_seq -\tl_new:N \l__file_tmp_tl \str_new:N \l__file_base_name_str \str_new:N \l__file_full_name_str \str_new:N \l__file_dir_str @@ -10707,14 +10726,14 @@ \group_begin: \seq_map_inline:Nn \l_char_active_seq { - \tl_set:Nx \l__file_tmp_tl { \iow_char:N ##1 } - \char_set_active_eq:NN ##1 \l__file_tmp_tl + \tl_set:Nx \l__file_internal_tl { \iow_char:N ##1 } + \char_set_active_eq:NN ##1 \l__file_internal_tl } - \tl_set:Nx \l__file_tmp_tl {#1} - \tl_set:Nx \l__file_tmp_tl - { \tl_to_str:N \l__file_tmp_tl } + \tl_set:Nx \l__file_internal_tl {#1} + \tl_set:Nx \l__file_internal_tl + { \tl_to_str:N \l__file_internal_tl } \exp_args:NNNV \group_end: - \str_set:Nn #2 \l__file_tmp_tl + \str_set:Nn #2 \l__file_internal_tl } \cs_new_protected:Npn \__file_name_quote:nN #1#2 { @@ -10815,8 +10834,8 @@ \cs_new_eq:NN \__kernel_file_input_push:n \__file_input_push:n \cs_new_protected:Npn \__file_input_pop: { - \seq_gpop:NN \g__file_stack_seq \l__file_tmp_tl - \exp_after:wN \__file_input_pop:nnn \l__file_tmp_tl + \seq_gpop:NN \g__file_stack_seq \l__file_internal_tl + \exp_after:wN \__file_input_pop:nnn \l__file_internal_tl } \cs_new_eq:NN \__kernel_file_input_pop: \__file_input_pop: \cs_new_protected:Npn \__file_input_pop:nnn #1#2#3 @@ -12371,42 +12390,45 @@ \cs:w \c__keys_code_root_tl \l_keys_path_tl \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } } - { \__keys_execute_unknown: } - } -\cs_new_protected:Npn \__keys_execute_unknown: - { - \bool_if:NTF \l__keys_only_known_bool - { \__keys_store_unused: } { - \cs_if_exist:cTF - { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + \bool_if:NTF \l__keys_only_known_bool + { \__keys_store_unused: } { - \clist_map_inline:cn + \cs_if_exist:cTF { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } - { - \cs_if_exist:cT - { \c__keys_code_root_tl ##1 / \l_keys_key_tl } - { - \cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl - \exp_after:wN \cs_end: \exp_after:wN - { \l_keys_value_tl } - \clist_map_break: - } - } + { \__keys_execute_inherit: } + { \__keys_execute_unknown: } } + } + } +\cs_new_protected:Npn \__keys_execute_inherit: + { + \clist_map_inline:cn + { \c__keys_inherit_root_tl \__keys_parent:o \l_keys_path_tl } + { + \cs_if_exist:cT + { \c__keys_code_root_tl ##1 / \l_keys_key_tl } { - \cs_if_exist:cTF - { \c__keys_code_root_tl \l__keys_module_tl / unknown } - { - \cs:w \c__keys_code_root_tl \l__keys_module_tl / unknown - \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } - } - { - \__kernel_msg_error:nnxx { kernel } { key-unknown } - { \l_keys_path_tl } { \l__keys_module_tl } - } + \cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl + \exp_after:wN \cs_end: \exp_after:wN + { \l_keys_value_tl } + \clist_map_break:n { \use_none:n } } - } + } + \__keys_execute_unknown: + } +\cs_new_protected:Npn \__keys_execute_unknown: + { + \cs_if_exist:cTF + { \c__keys_code_root_tl \l__keys_module_tl / unknown } + { + \cs:w \c__keys_code_root_tl \l__keys_module_tl / unknown + \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } + } + { + \__kernel_msg_error:nnxx { kernel } { key-unknown } + { \l_keys_path_tl } { \l__keys_module_tl } + } } \cs_new:Npn \__keys_execute:nn #1#2 { @@ -24737,18 +24759,11 @@ \group_end: } %% File: l3candidates.dtx Copyright (C) 2012-2018 The LaTeX3 Project -\cs_new_protected:Npx \mode_leave_vertical: +\cs_new_protected:Npn \mode_leave_vertical: { - \cs_if_exist:NTF \tex_quitvmode:D - { \tex_quitvmode:D } - { - \exp_not:n - { - \if_mode_vertical: - \exp_after:wN \tex_indent:D - \fi: - } - } + \if_mode_vertical: + \exp_after:wN \tex_indent:D + \fi: } \cs_new_protected:Npn \box_clip:N #1 { \hbox_set:Nn #1 { \driver_box_use_clip:N #1 } } @@ -27014,6 +27029,53 @@ { \__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: } +\cs_new_protected:Npn \peek_charcode_collect_inline:Nn + { \__peek_collect:NNn \__peek_execute_branches_charcode: } +\cs_new_protected:Npn \peek_meaning_collect_inline:Nn + { \__peek_collect:NNn \__peek_execute_branches_meaning: } +\cs_new_protected:Npn \__peek_collect:NNn #1#2#3 + { + \group_align_safe_begin: + \cs_set_eq:NN \l__peek_search_token #2 + \tl_set:Nn \l__peek_search_tl {#2} + \tl_clear:N \l__peek_collect_tl + \cs_set:Npn \__peek_false:w + { \exp_args:No \__peek_false_aux:n \l__peek_collect_tl } + \cs_set:Npn \__peek_false_aux:n ##1 + { + \group_align_safe_end: + #3 + } + \cs_set_eq:NN \__peek_true:w \__peek_collect_true:w + \cs_set:Npn \__peek_true_aux:w { \peek_after:Nw #1 } + \__peek_true_aux:w + } +\cs_new_protected:Npn \__peek_collect_true:w + { + \if_case:w + \if_catcode:w \exp_not:N \l_peek_token { 1 \exp_stop_f: \fi: + \if_catcode:w \exp_not:N \l_peek_token } 2 \exp_stop_f: \fi: + \if_meaning:w \l_peek_token \c_space_token 3 \exp_stop_f: \fi: + 0 \exp_stop_f: + \exp_after:wN \__peek_collect:N + \or: \__peek_collect_remove:nw { \c_group_begin_token } + \or: \__peek_collect_remove:nw { \c_group_end_token } + \or: \__peek_collect_remove:nw { ~ } + \fi: + } +\cs_new_protected:Npn \__peek_collect:N #1 + { + \tl_put_right:Nn \l__peek_collect_tl {#1} + \__peek_true_aux:w + } +\cs_new_protected:Npn \__peek_collect_remove:nw #1 + { + \tl_put_right:Nn \l__peek_collect_tl {#1} + \exp_after:wN \__peek_true_remove:w + } %% File: l3deprecation.dtx (C) Copyright 2017-2018 The LaTeX3 Project \cs_new_protected:Npn \__kernel_deprecation_error:Nnn #1#2#3 { |