diff options
author | Karl Berry <karl@freefriends.org> | 2018-03-07 21:50:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-03-07 21:50:56 +0000 |
commit | f11f49763fc33ac8427d8c175d98a8d1275e4c5c (patch) | |
tree | 79aacd4b6ab168db69112977f42c2c99204e1621 /Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex | |
parent | fb72b3560bdc8a98d78bf919da56c3316fa7723d (diff) |
l3 (6mar18)
git-svn-id: svn://tug.org/texlive/trunk@46875 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 | 346 |
1 files changed, 184 insertions, 162 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 9aa19a4ba78..adfba18d086 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -42,8 +42,8 @@ %% l3tl-analysis.dtx (with options: `package') %% l3regex.dtx (with options: `package') %% l3box.dtx (with options: `package') -%% l3coffins.dtx (with options: `package') %% l3color-base.dtx (with options: `package') +%% l3coffins.dtx (with options: `package') %% l3sys.dtx (with options: `package') %% l3deprecation.dtx (with options: `package') %% l3candidates.dtx (with options: `package') @@ -61,8 +61,8 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project -\def\ExplFileDate{2018/02/21}% +%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project +\def\ExplFileDate{2018/03/05}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -3859,10 +3859,6 @@ \tl_new:N \g_tmpb_tl \tl_new:N \l_tmpa_tl \tl_new:N \l_tmpb_tl -\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } { \tex_lowercase:D } -\cs_new_protected:Npn \tl_to_lowercase:n #1 { \tex_lowercase:D {#1} } -\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } { \tex_uppercase:D } -\cs_new_protected:Npn \tl_to_uppercase:n #1 { \tex_uppercase:D {#1} } %% File: l3str.dtx Copyright (C) 2011-2018 The LaTeX3 Project \group_begin: \cs_set_protected:Npn \__str_tmp:n #1 @@ -9720,8 +9716,6 @@ \str_if_empty:NT #2 { \tl_set:Nn #2 { \q_no_value } } } -\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } { \ior_str_get:NN } -\cs_new_protected:Npn \ior_get_str:NN { \ior_str_get:NN } \__kernel_patch_deprecation:nnNNpn { 2018-12-31 } { \file_log_list: } \cs_new_protected:Npn \file_list: { \file_log_list: } \__kernel_patch_deprecation:nnNNpn { 2018-12-31 } { \ior_show_list: } @@ -11270,7 +11264,7 @@ { is~undefined. } { has~the~properties: #2 . } } -%% File: l3fp.dtx Copyright (C) 2011-2017 The LaTeX3 Project +%% File: l3fp.dtx Copyright (C) 2011-2018 The LaTeX3 Project %% File: l3fp-aux.dtx Copyright(C) 2011-2018 The LaTeX3 Project \cs_new:Npn \__fp_use_none_stop_f:n #1 { \exp_stop_f: } \cs_new:Npn \__fp_use_s:n #1 { #1; } @@ -11469,6 +11463,8 @@ {#1} #2 } \cs_new_eq:NN \__fp_exp_after_stop_f:nw \use_none:nn +\cs_new:Npn \__fp_exp_after_tuple_o:w + { \__fp_exp_after_tuple_f:nw { \exp_after:wN \exp_stop_f: } } \cs_new:Npn \__fp_exp_after_tuple_f:nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ; { \exp_after:wN \s__fp_tuple @@ -11787,7 +11783,7 @@ \cs_generate_variant:Nn \__fp_invalid_operation_o:nw { f } \cs_new:Npn \__fp_error:nnnn { \__kernel_msg_expandable_error:nnnnn { kernel } } -\cs_generate_variant:Nn \__fp_error:nnnn { nnf, nff } +\cs_generate_variant:Nn \__fp_error:nnnn { nnf, nff , nfff } \__kernel_msg_new:nnnn { kernel } { unknown-fpu-exception } { The~FPU~exception~'#1'~is~not~known:~ @@ -11837,50 +11833,13 @@ { \__fp_parse_function:NNN \__fp_round_o:Nw \__fp_round_to_pinf:NNN } \cs_new:Npn \__fp_parse_word_round:N #1#2 { - \if_meaning:w + #2 - \__fp_parse_round:Nw \__fp_round_to_pinf:NNN - \else: - \if_meaning:w 0 #2 - \__fp_parse_round:Nw \__fp_round_to_zero:NNN - \else: - \if_meaning:w - #2 - \__fp_parse_round:Nw \__fp_round_to_ninf:NNN - \fi: - \fi: - \fi: \__fp_parse_function:NNN \__fp_round_o:Nw \__fp_round_to_nearest:NNN #1 #2 } -\__kernel_debug:TF - { - \__kernel_deprecation_code:nn - { - \cs_set_eq:NN \__fp_parse_round:Nw - \__fp_parse_round_deprecation_error:Nw - } - { - \cs_set_eq:NN \__fp_parse_round:Nw - \__fp_parse_round_no_error:Nw - } - \cs_new:Npn \__fp_parse_round_deprecation_error:Nw - #1 #2 \__fp_round_to_nearest:NNN #3#4 - { - \__fp_error:nnfn { fp-deprecated } { round#4() } - { - \str_case:nn {#2} - { { + } { ceil } { 0 } { trunc } { - } { floor } } - } { } - #2 #1 #3 - } - \cs_new:Npn \__fp_parse_round_no_error:Nw - #1 #2 \__fp_round_to_nearest:NNN #3#4 { #2 #1 #3 } - \cs_new_eq:NN \__fp_parse_round:Nw \__fp_parse_round_no_error:Nw - } - { - \cs_new:Npn \__fp_parse_round:Nw - #1 #2 \__fp_round_to_nearest:NNN #3#4 { #2 #1 #3 } - } +\cs_new:Npn \__fp_parse_round:Nw #1 #2 \__fp_round_to_nearest:NNN #3#4 + { #2 #1 #3 } + \int_const:Nn \c__fp_five_int { 5 } \cs_new:Npn \__fp_round_return_one: { \exp_after:wN 1 \exp_after:wN \exp_stop_f: \exp:w } @@ -12934,15 +12893,23 @@ \__fp_parse_expand:w #1 \s__fp_mark \__fp_parse_infix_end:N \s__fp_stop + \exp_end: } \cs_new:Npn \__fp_parse_after:ww - #1@ \__fp_parse_infix_end:N \s__fp_stop - { \exp_end: #1 } + #1@ \__fp_parse_infix_end:N \s__fp_stop #2 { #2 #1 } \cs_new:Npn \__fp_parse_o:n #1 { - \exp_after:wN \exp_after:wN - \exp_after:wN \__fp_exp_after_o:w - \__fp_parse:n {#1} + \exp:w + \exp_after:wN \__fp_parse_after:ww + \exp:w + \__fp_parse_operand:Nw \c__fp_prec_end_int + \__fp_parse_expand:w #1 + \s__fp_mark \__fp_parse_infix_end:N + \s__fp_stop + { + \exp_end_continue_f:w + \__fp_exp_after_any_f:nw { \exp_after:wN \exp_stop_f: } + } } \cs_new:Npn \__fp_parse_operand:Nw #1 { @@ -13283,7 +13250,7 @@ \if_meaning:w \c_zero_fp #3 0 \else: - \if_case:w \__fp_compare_back:ww #8 #2 \exp_stop_f: + \if_case:w \__fp_compare_back_any:ww #8 #2 \exp_stop_f: #5 \or: #6 \or: #7 \else: #4 \fi: \fi: @@ -13561,9 +13528,12 @@ \exp_after:wN \__fp_compare_return:w \exp:w \exp_end_continue_f:w \__fp_parse:n {#1} } -\cs_new:Npn \__fp_compare_return:w \s__fp \__fp_chk:w #1#2; +\cs_new:Npn \__fp_compare_return:w #1#2#3; { - \if_meaning:w 0 #1 + \if_charcode:w 0 + \__fp_if_type_fp:NTwFw + #1 { \use_i_delimit_by_q_stop:nw #3 \q_stop } + \s__fp 1 \q_stop \prg_return_false: \else: \prg_return_true: @@ -13582,9 +13552,26 @@ } \cs_new:Npn \__fp_compare_aux:wn #1; #2 { - \exp_after:wN \__fp_compare_back:ww + \exp_after:wN \__fp_compare_back_any:ww \exp:w \exp_end_continue_f:w \__fp_parse:n {#2} #1; } +\cs_new:Npn \__fp_compare_back_any:ww #1#2; #3 + { + \__fp_if_type_fp:NTwFw + #1 { \__fp_if_type_fp:NTwFw #3 \use_i:nn \s__fp \use_ii:nn \q_stop } + \s__fp \use_ii:nn \q_stop + \__fp_compare_back:ww + { + \cs:w + __fp + \__fp_type_from_scan:N #1 + _compare_back + \__fp_type_from_scan:N #3 + :ww + \cs_end: + } + #1#2 ; #3 + } \cs_new:Npn \__fp_compare_back:ww \s__fp \__fp_chk:w #1 #2 #3; \s__fp \__fp_chk:w #4 #5 #6; @@ -13613,6 +13600,34 @@ \exp_stop_f: } \cs_new:Npn \__fp_compare_nan:w #1 \fi: \exp_stop_f: { 2 \exp_stop_f: } +\cs_new:Npn \__fp_compare_back_tuple:ww #1; #2; { 2 } +\cs_new:Npn \__fp_tuple_compare_back:ww #1; #2; { 2 } +\cs_new:Npn \__fp_tuple_compare_back_tuple:ww + \s__fp_tuple \__fp_tuple_chk:w #1; + \s__fp_tuple \__fp_tuple_chk:w #2; + { + \int_compare:nNnTF { \__fp_array_count:n {#1} } = { \__fp_array_count:n {#2} } + { + \__int_value:w 0 + \__fp_tuple_compare_back_loop:w + #1 { \s__fp \__prg_break: } ; @ + #2 { \s__fp \__prg_break: } ; + \__prg_break_point: + \exp_stop_f: + } + { 2 } + } +\cs_new:Npn \__fp_tuple_compare_back_loop:w #1#2 ; #3 @ #4#5 ; + { + \use_none:n #1 + \use_none:n #4 + \if_int_compare:w + \__fp_compare_back_any:ww #1 #2 ; #4 #5 ; = 0 \exp_stop_f: + \else: + 2 \exp_after:wN \__prg_break: + \fi: + \__fp_tuple_compare_back_loop:w #3 @ + } \cs_new:Npn \__fp_compare_npos:nwnw #1#2; #3#4; { \if_int_compare:w #1 = #3 \exp_stop_f: @@ -13697,7 +13712,20 @@ \exp:w \exp_end_continue_f:w \__fp_parse:n {#3} } \cs_generate_variant:Nn \fp_step_function:nnnN { nnnc } -\cs_new:Npn \__fp_step:wwwN #1 ; \s__fp \__fp_chk:w #2#3#4 ; #5; #6 +\cs_new:Npn \__fp_step:wwwN #1#2; #3#4; #5#6; #7 + { + \__fp_if_type_fp:NTwFw #1 { } \s__fp \__prg_break: \q_stop + \__fp_if_type_fp:NTwFw #3 { } \s__fp \__prg_break: \q_stop + \__fp_if_type_fp:NTwFw #5 { } \s__fp \__prg_break: \q_stop + \use_i:nnnn { \__fp_step_fp:wwwN #1#2; #3#4; #5#6; #7 } + \__prg_break_point: + \use:n + { + \__fp_error:nfff { fp-step-tuple } { \fp_to_tl:n { #1#2 ; } } + { \fp_to_tl:n { #3#4 ; } } { \fp_to_tl:n { #5#6 ; } } + } + } +\cs_new:Npn \__fp_step_fp:wwwN #1 ; \s__fp \__fp_chk:w #2#3#4 ; #5; #6 { \token_if_eq_meaning:NNTF #2 1 { @@ -13758,6 +13786,8 @@ \fp_step_function:nnnN {#3} {#4} {#5} #2 \__prg_break_point:Nn \scan_stop: { \int_gdecr:N \g__prg_map_int } } +\__kernel_msg_new:nnn { kernel } { fp-step-tuple } + { Tuple~argument~in~fp_step_...~{#1}{#2}{#3}. } \__kernel_msg_new:nnn { kernel } { fp-bad-step } { Invalid~step~size~#2~in~step~function~#3. } \__kernel_msg_new:nnn { kernel } { fp-tiny-step } @@ -13809,7 +13839,7 @@ { \fi: \fi: #2 } \cs_new:Npn \__fp_minmax_break_o:w #1 \fi: \fi: #2 \s__fp #3; #4; { \fi: \__fp_exp_after_o:w \s__fp #3; } -\cs_new:cpn { __fp_not_o:w } #1 \s__fp \__fp_chk:w #2#3; @ +\cs_new:Npn \__fp_not_o:w #1 \s__fp \__fp_chk:w #2#3; @ { \if_meaning:w 0 #2 \exp_after:wN \exp_after:wN \exp_after:wN \c_one_fp @@ -13817,6 +13847,7 @@ \exp_after:wN \exp_after:wN \exp_after:wN \c_zero_fp \fi: } +\cs_new:Npn \__fp_tuple_not_o:w #1 @ { \exp_after:wN \c_zero_fp } \group_begin: \char_set_catcode_letter:N & \char_set_catcode_letter:N | @@ -13827,19 +13858,36 @@ \fi: \__fp_exp_after_o:w } + \cs_new:Npn \__fp_&_tuple_o:ww #1 \s__fp \__fp_chk:w #2#3; + { + \if_meaning:w 0 #2 #1 + \__fp_and_return:wNw \s__fp \__fp_chk:w #2#3; + \fi: + \__fp_exp_after_tuple_o:w + } + \cs_new:Npn \__fp_tuple_&_o:ww #1; { \__fp_exp_after_o:w } + \cs_new:Npn \__fp_tuple_&_tuple_o:ww #1; { \__fp_exp_after_tuple_o:w } \cs_new:Npn \__fp_|_o:ww { \__fp_&_o:ww \else: } + \cs_new:Npn \__fp_|_tuple_o:ww { \__fp_&_tuple_o:ww \else: } + \cs_new:Npn \__fp_tuple_|_o:ww #1; #2; { \__fp_exp_after_tuple_o:w #1; } + \cs_new:Npn \__fp_tuple_|_tuple_o:ww #1; #2; { \__fp_exp_after_tuple_o:w #1; } \group_end: -\cs_new:Npn \__fp_and_return:wNw #1; \fi: #2#3; { \fi: #2 #1; } -\cs_new:Npn \__fp_ternary:NwwN #1 #2@ #3@ #4 +\cs_new:Npn \__fp_and_return:wNw #1; \fi: #2; + { \fi: \__fp_exp_after_o:w #1; } +\cs_new:Npn \__fp_ternary:NwwN #1 #2#3@ #4@ #5 { - \if_meaning:w \__fp_parse_infix_::N #4 - \__fp_ternary_loop:Nw - #2 - \s__fp \__fp_chk:w { \__fp_ternary_loop_break:w } ; - \__fp_ternary_break_point:n { \exp_after:wN \__fp_ternary_auxi:NwwN } + \if_meaning:w \__fp_parse_infix_::N #5 + \if_charcode:w 0 + \__fp_if_type_fp:NTwFw + #2 { \use_i:nn \use_i_delimit_by_q_stop:nw #3 \q_stop } + \s__fp 1 \q_stop + \exp_after:wN \exp_after:wN \exp_after:wN \__fp_ternary_auxii:NwwN + \else: + \exp_after:wN \exp_after:wN \exp_after:wN \__fp_ternary_auxi:NwwN + \fi: \exp_after:wN #1 \exp:w \exp_end_continue_f:w - \__fp_exp_after_array_f:w #3 \s__fp_stop + \__fp_exp_after_array_f:w #4 \s__fp_stop \exp_after:wN @ \exp:w \__fp_parse_operand:Nw \c__fp_prec_colon_int @@ -13850,25 +13898,11 @@ \exp_after:wN \__fp_parse_continue:NwN \exp_after:wN #1 \exp:w \exp_end_continue_f:w - \__fp_exp_after_array_f:w #3 \s__fp_stop - \exp_after:wN #4 + \__fp_exp_after_array_f:w #4 \s__fp_stop + \exp_after:wN #5 \exp_after:wN #1 \fi: } -\cs_new:Npn \__fp_ternary_loop_break:w - #1 \fi: #2 \__fp_ternary_break_point:n #3 - { - 0 = 0 \exp_stop_f: \fi: - \exp_after:wN \__fp_ternary_auxii:NwwN - } -\cs_new:Npn \__fp_ternary_loop:Nw \s__fp \__fp_chk:w #1#2; - { - \if_int_compare:w #1 > 0 \exp_stop_f: - \exp_after:wN \__fp_ternary_map_break: - \fi: - \__fp_ternary_loop:Nw - } -\cs_new:Npn \__fp_ternary_map_break: #1 \__fp_ternary_break_point:n #2 {#2} \cs_new:Npn \__fp_ternary_auxi:NwwN #1#2@#3@#4 { \exp_after:wN \__fp_parse_continue:NwN @@ -21184,26 +21218,29 @@ } \cs_generate_variant:Nn \__box_show:NNnn { NNff } \cs_new_protected:Npn \hbox:n #1 - { \tex_hbox:D \scan_stop: { \group_begin: #1 \group_end: } } + { \tex_hbox:D \scan_stop: { \color_group_begin: #1 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { } \cs_new_protected:Npn \hbox_set:Nn #1#2 - { \tex_setbox:D #1 \tex_hbox:D { \group_begin: #2 \group_end: } } + { \tex_setbox:D #1 \tex_hbox:D { \color_group_begin: #2 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \hbox_gset:Nn #1#2 - { \tex_global:D \tex_setbox:D #1 \tex_hbox:D { \group_begin: #2 \group_end: } } + { + \tex_global:D \tex_setbox:D #1 \tex_hbox:D + { \color_group_begin: #2 \color_group_end: } + } \cs_generate_variant:Nn \hbox_set:Nn { c } \cs_generate_variant:Nn \hbox_gset:Nn { c } \__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { } \cs_new_protected:Npn \hbox_set_to_wd:Nnn #1#2#3 { \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2} - { \group_begin: #3 \group_end: } + { \color_group_begin: #3 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \hbox_gset_to_wd:Nnn #1#2#3 { \tex_global:D \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2} - { \group_begin: #3 \group_end: } + { \color_group_begin: #3 \color_group_end: } } \cs_generate_variant:Nn \hbox_set_to_wd:Nnn { c } \cs_generate_variant:Nn \hbox_gset_to_wd:Nnn { c } @@ -21212,20 +21249,20 @@ { \tex_setbox:D #1 \tex_hbox:D \c_group_begin_token - \group_begin: + \color_group_begin: } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \hbox_gset:Nw #1 { \tex_global:D \tex_setbox:D #1 \tex_hbox:D \c_group_begin_token - \group_begin: + \color_group_begin: } \cs_generate_variant:Nn \hbox_set:Nw { c } \cs_generate_variant:Nn \hbox_gset:Nw { c } \cs_new_protected:Npn \hbox_set_end: { - \group_end: + \color_group_end: \c_group_end_token } \cs_new_eq:NN \hbox_gset_end: \hbox_set_end: @@ -21234,24 +21271,24 @@ { \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2} \c_group_begin_token - \group_begin: + \color_group_begin: } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \hbox_gset_to_wd:Nnw #1#2 { \tex_global:D \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2} \c_group_begin_token - \group_begin: + \color_group_begin: } \cs_generate_variant:Nn \hbox_set_to_wd:Nnw { c } \cs_generate_variant:Nn \hbox_gset_to_wd:Nnw { c } \cs_new_protected:Npn \hbox_to_wd:nn #1#2 { \tex_hbox:D to \__dim_eval:n {#1} - { \group_begin: #2 \group_end: } + { \color_group_begin: #2 \color_group_end: } } \cs_new_protected:Npn \hbox_to_zero:n #1 - { \tex_hbox:D to \c_zero_dim { \group_begin: #1 \group_end: } } + { \tex_hbox:D to \c_zero_dim { \color_group_begin: #1 \color_group_end: } } \cs_new_protected:Npn \hbox_overlap_left:n #1 { \hbox_to_zero:n { \tex_hss:D #1 } } \cs_new_protected:Npn \hbox_overlap_right:n #1 @@ -21261,30 +21298,30 @@ \cs_generate_variant:Nn \hbox_unpack:N { c } \cs_generate_variant:Nn \hbox_unpack_clear:N { c } \cs_new_protected:Npn \vbox:n #1 - { \tex_vbox:D { \group_begin: #1 \par \group_end: } } + { \tex_vbox:D { \color_group_begin: #1 \color_group_end: } } \cs_new_protected:Npn \vbox_top:n #1 - { \tex_vtop:D { \group_begin: #1 \par \group_end: } } + { \tex_vtop:D { \color_group_begin: #1 \color_group_end: } } \cs_new_protected:Npn \vbox_to_ht:nn #1#2 { \tex_vbox:D to \__dim_eval:n {#1} - { \group_begin: #2 \par \group_end: } + { \color_group_begin: #2 \color_group_end: } } \cs_new_protected:Npn \vbox_to_zero:n #1 { \tex_vbox:D to \c_zero_dim - { \group_begin: #1 \par \group_end: } + { \color_group_begin: #1 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { } \cs_new_protected:Npn \vbox_set:Nn #1#2 { \tex_setbox:D #1 \tex_vbox:D - { \group_begin: #2 \par \group_end: } + { \color_group_begin: #2 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \vbox_gset:Nn #1#2 { \tex_global:D \tex_setbox:D #1 \tex_vbox:D - { \group_begin: #2 \par \group_end: } + { \color_group_begin: #2 \color_group_end: } } \cs_generate_variant:Nn \vbox_set:Nn { c } \cs_generate_variant:Nn \vbox_gset:Nn { c } @@ -21292,13 +21329,13 @@ \cs_new_protected:Npn \vbox_set_top:Nn #1#2 { \tex_setbox:D #1 \tex_vtop:D - { \group_begin: #2 \par \group_end: } + { \color_group_begin: #2 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \vbox_gset_top:Nn #1#2 { \tex_global:D \tex_setbox:D #1 \tex_vtop:D - { \group_begin: #2 \par \group_end: } + { \color_group_begin: #2 \color_group_end: } } \cs_generate_variant:Nn \vbox_set_top:Nn { c } \cs_generate_variant:Nn \vbox_gset_top:Nn { c } @@ -21306,13 +21343,13 @@ \cs_new_protected:Npn \vbox_set_to_ht:Nnn #1#2#3 { \tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2} - { \group_begin: #3 \par \group_end: } + { \color_group_begin: #3 \color_group_end: } } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \vbox_gset_to_ht:Nnn #1#2#3 { \tex_global:D \tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2} - { \group_begin: #3 \par \group_end: } + { \color_group_begin: #3 \color_group_end: } } \cs_generate_variant:Nn \vbox_set_to_ht:Nnn { c } \cs_generate_variant:Nn \vbox_gset_to_ht:Nnn { c } @@ -21321,21 +21358,20 @@ { \tex_setbox:D #1 \tex_vbox:D \c_group_begin_token - \group_begin: + \color_group_begin: } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \vbox_gset:Nw #1 { \tex_global:D \tex_setbox:D #1 \tex_vbox:D \c_group_begin_token - \group_begin: + \color_group_begin: } \cs_generate_variant:Nn \vbox_set:Nw { c } \cs_generate_variant:Nn \vbox_gset:Nw { c } \cs_new_protected:Npn \vbox_set_end: { - \par - \group_end: + \color_group_end: \c_group_end_token } \cs_new_eq:NN \vbox_gset_end: \vbox_set_end: @@ -21344,14 +21380,14 @@ { \tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2} \c_group_begin_token - \group_begin: + \color_group_begin: } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } \cs_new_protected:Npn \vbox_gset_to_ht:Nnw #1#2 { \tex_global:D \tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2} \c_group_begin_token - \group_begin: + \color_group_begin: } \cs_generate_variant:Nn \vbox_set_to_ht:Nnw { c } \cs_generate_variant:Nn \vbox_gset_to_ht:Nnw { c } @@ -21675,7 +21711,34 @@ \__kernel_patch_deprecation:nnNNpn { 2018-12-31 } { \box_use_drop:c } \cs_new_protected:Npn \box_use_clear:c { \box_use_drop:c } -%% File: l3coffins.dtx Copyright(C) 2010-2017 The LaTeX3 Project +%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2018 The LaTeX3 Project +\cs_new_eq:NN \color_group_begin: \group_begin: +\cs_new_protected:Npn \color_group_end: + { + \par + \group_end: + } +\cs_new_protected:Npn \color_ensure_current: + { + \driver_color_pickup:N \l__color_current_tl + \__color_select:V \l__color_current_tl + } +\cs_new_protected:Npn \__color_select:n #1 + { \__color_select:w #1 \q_stop } +\cs_generate_variant:Nn \__color_select:n { V } +\cs_new_protected:Npn \__color_select:w #1 ~ #2 \q_stop + { \use:c { __color_select_ #1 :w } #2 \q_stop } +\cs_new_protected:Npn \__color_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop + { \driver_color_cmyk:nnnn {#1} {#2} {#3} {#4} } +\cs_new_protected:Npn \__color_select_gray:w #1 \q_stop + { \driver_color_gray:n {#1} } +\cs_new_protected:Npn \__color_select_rgb:w #1 ~ #2 ~ #3 \q_stop + { \driver_color_rgb:nnn {#1} {#2} {#3} } +\cs_new_protected:Npn \__color_select_spot:w #1 ~ #2 \q_stop + { \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-2018 The LaTeX3 Project \box_new:N \l__coffin_internal_box \dim_new:N \l__coffin_internal_dim \tl_new:N \l__coffin_internal_tl @@ -21853,9 +21916,7 @@ } \cs_generate_variant:Nn \coffin_set_eq:NN { c , Nc , cc } \coffin_new:N \c_empty_coffin -\debug_suspend: -\hbox_set:Nn \c_empty_coffin { } -\debug_resume: +\tex_setbox:D \c_empty_coffin = \tex_hbox:D { } \coffin_new:N \l__coffin_aligned_coffin \coffin_new:N \l__coffin_aligned_internal_coffin \coffin_new:N \l_tmpa_coffin @@ -22477,34 +22538,6 @@ Size~of~coffin~#1 : #2 \\ Poles~of~coffin~#1 : #3 . } -%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2018 The LaTeX3 Project -\cs_new_eq:NN \color_group_begin: \group_begin: -\cs_new_protected:Npn \color_group_end: - { - \par - \group_end: - } -\cs_new_protected:Npn \color_ensure_current: - { - \driver_color_pickup:N \l__color_current_tl - \__color_select:V \l__color_current_tl - \group_insert_after:N \driver_color_reset: - } -\cs_new_protected:Npn \__color_select:n #1 - { \__color_select:w #1 \q_stop } -\cs_generate_variant:Nn \__color_select:n { V } -\cs_new_protected:Npn \__color_select:w #1 ~ #2 \q_stop - { \use:c { __color_select_ #1 :w } #2 \q_stop } -\cs_new_protected:Npn \__color_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop - { \driver_color_cmyk:nnnn {#1} {#2} {#3} {#4} } -\cs_new_protected:Npn \__color_select_gray:w #1 \q_stop - { \driver_color_gray:n {#1} } -\cs_new_protected:Npn \__color_select_rgb:w #1 ~ #2 ~ #3 \q_stop - { \driver_color_rgb:nnn {#1} {#2} {#3} } -\cs_new_protected:Npn \__color_select_spot:w #1 ~ #2 \q_stop - { \driver_color_spot:nn {#1} {#2} } -\tl_new:N \l__color_current_tl -\tl_set:Nn \l__color_current_tl { gray~0 } %% File: l3sys.dtx Copyright (C) 2015-2017 The LaTeX3 Project \str_const:Nx \c_sys_jobname_str { \tex_jobname:D } \int_const:Nn \c_sys_minute_int @@ -22602,6 +22635,8 @@ { \tl_to_str:n {#3} } { \token_to_str:N #1 } { \tl_to_str:n {#2} } } } +\__deprecation_error:Nnn \file_if_exist_input:nT { \file_if_exist:nT and~ \file_input:n } { 2018-03-05 } +\__deprecation_error:Nnn \file_if_exist_input:nTF { \file_if_exist:nT and~ \file_input:n } { 2018-03-05 } \__deprecation_error:Nnn \c_job_name_tl { \c_sys_jobname_str } { 2017-01-01 } \__deprecation_error:Nnn \dim_case:nnn { \dim_case:nnF } { 2015-07-14 } \__deprecation_error:Nnn \int_case:nnn { \int_case:nnF } { 2015-07-14 } @@ -22611,6 +22646,7 @@ \__deprecation_error:Nnn \int_to_binary:n { \int_to_bin:n } { 2016-01-05 } \__deprecation_error:Nnn \int_to_hexadecimal:n { \int_to_hex:n } { 2016-01-05 } \__deprecation_error:Nnn \int_to_octal:n { \int_to_oct:n } { 2016-01-05 } +\__deprecation_error:Nnn \ior_get_str:NN { \ior_str_get:NN } { 2018-03-05 } \__deprecation_error:Nnn \luatex_if_engine_p: { \sys_if_engine_luatex_p: } { 2017-01-01 } \__deprecation_error:Nnn \luatex_if_engine:F { \sys_if_engine_luatex:F } { 2017-01-01 } \__deprecation_error:Nnn \luatex_if_engine:T { \sys_if_engine_luatex:T } { 2017-01-01 } @@ -22629,6 +22665,8 @@ \__deprecation_error:Nnn \str_case_x:nnn { \str_case_x:nnF } { 2015-07-14 } \__deprecation_error:Nnn \tl_case:cnn { \tl_case:cnF } { 2015-07-14 } \__deprecation_error:Nnn \tl_case:Nnn { \tl_case:NnF } { 2015-07-14 } +\__deprecation_error:Nnn \tl_to_lowercase:n { \tex_lowercase:D } { 2018-03-05 } +\__deprecation_error:Nnn \tl_to_uppercase:n { \tex_uppercase:D } { 2018-03-05 } \__deprecation_error:Nnn \xetex_if_engine_p: { \sys_if_engine_xetex_p: } { 2017-01-01 } \__deprecation_error:Nnn \xetex_if_engine:F { \sys_if_engine_xetex:F } { 2017-01-01 } \__deprecation_error:Nnn \xetex_if_engine:T { \sys_if_engine_xetex:T } { 2017-01-01 } @@ -23063,22 +23101,6 @@ {#2} { \__file_input:V \l__file_full_name_str } } -\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } - { \file_if_exist:nTF and~ \file_input:n } -\cs_new_protected:Npn \file_if_exist_input:nTF #1#2#3 - { - \file_get_full_name:nN {#1} \l__file_full_name_str - \str_if_empty:NTF \l__file_full_name_str - {#3} { #2 \__file_input:V \l__file_full_name_str } - } -\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } - { \file_if_exist:nT and~ \file_input:n } -\cs_new_protected:Npn \file_if_exist_input:nT #1#2 - { - \file_get_full_name:nN {#1} \l__file_full_name_str - \str_if_empty:NF \l__file_full_name_str - { #2 \__file_input:V \l__file_full_name_str } - } \cs_new_protected:Npn \file_input_stop: { \tex_endinput:D } \cs_if_exist:NTF \pdftex_uniformdeviate:D { |