summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex346
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
{