diff options
author | Karl Berry <karl@freefriends.org> | 2018-10-18 20:31:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-10-18 20:31:59 +0000 |
commit | f78ef933642c4be9fd32c6ec1d846912f751ae65 (patch) | |
tree | beb179870f7e226889c112201a34ab0ff5dde4c2 /Master/texmf-dist/tex | |
parent | cd9c32dfd264eb7b5dc559f8a8355140b63d12ba (diff) |
l3 (18oct18)
git-svn-id: svn://tug.org/texlive/trunk@48935 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
21 files changed, 384 insertions, 242 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty index 9e62cd77840..4754353e190 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty @@ -20,7 +20,7 @@ %% %% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3color}{2018-09-24}{} +\ProvidesExplPackage{l3color}{2018-10-17}{} {L3 Experimental color support} \tl_new:N \l__color_tmp_tl \prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty index 985a7416322..259c3b24cb9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty @@ -27,7 +27,7 @@ %% %% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3draw}{2018-09-24}{} +\ProvidesExplPackage{l3draw}{2018-10-17}{} {L3 Experimental core drawing support} \RequirePackage { l3color } %% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty index 28eb1833ecf..d726025fd56 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -20,7 +20,7 @@ %% %% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-convert}{2018-09-24}{} +\ProvidesExplPackage{l3str-convert}{2018-10-17}{} {L3 Experimental string encoding conversions} \cs_if_exist:NF \use_ii_i:nn { \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty index 973b4a66596..6ef7b439c39 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty @@ -20,7 +20,7 @@ %% %% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-format}{2018-09-24}{} +\ProvidesExplPackage{l3str-format}{2018-10-17}{} {L3 Experimental string formatting} \cs_generate_variant:Nn \use:nn { nf } \cs_generate_variant:Nn \use:nnn { fnf } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty index c4dab988943..2e6fd685666 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty @@ -20,7 +20,7 @@ %% %% File: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3sys-shell}{2018-09-24}{} +\ProvidesExplPackage{l3sys-shell}{2018-10-17}{} {L3 Experimental system shell functions} \cs_new:Npn \__sys_path_to_win:n #1 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty index c15b03bd533..ec312d9174f 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty @@ -20,7 +20,7 @@ %% %% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project \RequirePackage{xparse} -\ProvidesExplPackage{xcoffins}{2018-09-24}{} +\ProvidesExplPackage{xcoffins}{2018-10-17}{} {L3 Experimental design level coffins} \keys_define:nn { coffin } { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index 34d34ae22ec..9addf19a18d 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -33,7 +33,7 @@ }% \endinput } -\ProvidesExplPackage{l3galley}{2018-09-24}{} +\ProvidesExplPackage{l3galley}{2018-10-17}{} {L3 Experimental galley code} \int_new:N \l__galley_tmp_int \seq_new:N \g__galley_tmpa_seq diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty index feec640d3b3..79e2bc7cfe2 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty @@ -21,7 +21,7 @@ %% File: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach %% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project \RequirePackage{xparse} -\ProvidesExplPackage{xgalley}{2018-09-24}{} +\ProvidesExplPackage{xgalley}{2018-10-17}{} {L3 Experimental galley} \RequirePackage{xparse,xtemplate,l3galley} \clist_new:N \l__galley_tmpa_clist @@ -29,13 +29,13 @@ \DeclareObjectType { measure } { 0 } \DeclareTemplateInterface { measure } { absolute } { 0 } { - left-margin : length = 0 pt , - right-margin : length = 0 pt + left-margin : length = 0pt , + right-margin : length = 0pt } \DeclareTemplateInterface { measure } { relative } { 0 } { - left-margin : length = 0 pt , - right-margin : length = 0 pt + left-margin : length = 0pt , + right-margin : length = 0pt } \cs_new_eq:NN \l__galley_left_margin_dim \leftmargin \cs_new_eq:NN \l__galley_right_margin_dim \rightmargin @@ -62,13 +62,13 @@ \DeclareObjectType { parshape } { 0 } \DeclareTemplateInterface { parshape } { hang } { 0 } { - indent : length = 0 pt , + indent : length = 0pt , on-left-side : boolean = true , lines : integer = 1 } \DeclareTemplateInterface { parshape } { initial } { 0 } { - indent : length = 0 pt , + indent : length = 0pt , on-left-side : boolean = true , lines : integer = 2 } @@ -182,22 +182,22 @@ \DeclareObjectType { justification } { 0 } \DeclareTemplateInterface { justification } { std } { 0 } { - end-skip : skip = 0 pt plus 1 fil , - fixed-word-spacing : boolean = false , - indent-width : length , - left-skip : skip = 0 pt , - right-skip : skip = 0 pt , - start-skip : skip = 0 pt , + end-skip : skip = 0pt plus 1fil , + fixed-word-spacing : boolean = false , + indent-width : length , + left-skip : skip = 0pt , + right-skip : skip = 0pt , + start-skip : skip = 0pt , stretch-last-line : boolean = false } \DeclareTemplateInterface { justification } { single } { 0 } { - end-skip : skip = 0 pt plus 1 fil , - fixed-word-spacing : boolean = false , - indent-width : length , - left-skip : skip = 0 pt , - right-skip : skip = 0 pt , - start-skip : skip = 0 pt , + end-skip : skip = 0pt plus 1fil , + fixed-word-spacing : boolean = false , + indent-width : length , + left-skip : skip = 0pt , + right-skip : skip = 0pt , + start-skip : skip = 0pt , stretch-last-line : boolean = false } \DeclareTemplateCode { justification } { std } { 0 } @@ -262,36 +262,36 @@ \skip_set:Nn \@rightskip { \l_galley_line_right_skip } } \DeclareInstance { justification } { justified } { std } - { indent-width = 15 pt } + { indent-width = 15pt } \UseInstance { justification } { justified } \DeclareInstance { justification } { noindent } { std } { - end-skip = 15 pt plus 1 fil , - indent-width = 0 pt + end-skip = 15pt plus 1fil , + indent-width = 0pt } \DeclareInstance { justification } { ragged-left } { std } { - end-skip = 0 pt , - fixed-word-spacing = true , - indent-width = 0 pt , - left-skip = 0 pt plus 2 em , - right-skip = 0 pt + end-skip = 0pt , + fixed-word-spacing = true , + indent-width = 0pt , + left-skip = 0pt plus 2em , + right-skip = 0pt } \DeclareInstance { justification } { ragged-right } { std } { - end-skip = 0 pt plus 1 fil , - fixed-word-spacing = true , - indent-width = 0 pt , - left-skip = 0 pt , - right-skip = 0 pt plus 2 em + end-skip = 0pt plus 1fil , + fixed-word-spacing = true , + indent-width = 0pt , + left-skip = 0pt , + right-skip = 0pt plus 2em } \DeclareInstance { justification } { center } { std } { - end-skip = 0 pt , - fixed-word-spacing = true , - indent-width = 0 pt , - left-skip = 0 pt plus 1 fil , - right-skip = 0 pt plus 1 fil + end-skip = 0pt , + fixed-word-spacing = true , + indent-width = 0pt , + left-skip = 0pt plus 1fil , + right-skip = 0pt plus 1fil } \DeclareTemplateInterface { justification } { compound } { 0 } { @@ -314,16 +314,16 @@ \DeclareObjectType { line-breaking } { 0 } \DeclareTemplateInterface { line-breaking } { std } { 0 } { - badness : integer = 1000 , - binop-penalty : integer = 700 , - double-hyphen-demerits : integer = 10 000 , - emergency-stretch : skip = 0 pt , - final-hyphen-demerits : integer = 5000 , - fuzz : length = 0.1 pt , - line-penalty : integer = 10 , - mismatch-demerits : integer = 10 000 , - pretolerance : integer = 100 , - relation-penalty : integer = 500 , + badness : integer = 1000 , + binop-penalty : integer = 700 , + double-hyphen-demerits : integer = 10000 , + emergency-stretch : skip = 0pt , + final-hyphen-demerits : integer = 5000 , + fuzz : length = 0.1pt , + line-penalty : integer = 10 , + mismatch-demerits : integer = 10000 , + pretolerance : integer = 100 , + relation-penalty : integer = 500 , tolerance : integer = 200 } \DeclareTemplateCode{ line-breaking } { std } { 0 } @@ -346,15 +346,15 @@ \DeclareObjectType { paragraph-breaking } { 0 } \DeclareTemplateInterface { paragraph-breaking } { std } { 0 } { - badness : integer = 1000 , - broken-penalty : integer = 100 , - club-penalty : integer = 150 , - display-club-penalty : integer = 150 , - display-widow-penalty : integer = 150 , - fuzz : length = 0.1 pt , - interline-penalty : integer = 0 , - post-display-penalty : integer = 0 , - pre-display-penalty : integer = 10 000 , + badness : integer = 1000 , + broken-penalty : integer = 100 , + club-penalty : integer = 150 , + display-club-penalty : integer = 150 , + display-widow-penalty : integer = 150 , + fuzz : length = 0.1pt , + interline-penalty : integer = 0 , + post-display-penalty : integer = 0 , + pre-display-penalty : integer = 10000 , widow-penalty : integer = 150 } \DeclareTemplateCode { paragraph-breaking } { std } { 0 } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index cf7dd09bf49..2dc9acf97aa 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-09-24}% +\def\ExplFileDate{2018-10-17}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -8770,6 +8770,22 @@ \tex_afterassignment:D \__peek_true_aux:w \cs_set_eq:NN \__peek_tmp:w } +\cs_new_protected:Npn \peek_remove_spaces:n #1 + { + \cs_set:Npx \__peek_false:w { \exp_not:n {#1} } + \group_align_safe_begin: + \cs_set:Npn \__peek_true_aux:w { \peek_after:Nw \__peek_remove_spaces: } + \__peek_true_aux:w + } +\cs_new_protected:Npn \__peek_remove_spaces: + { + \if_meaning:w \l_peek_token \c_space_token + \exp_after:wN \__peek_true_remove:w + \else: + \group_align_safe_end: + \exp_after:wN \__peek_false:w + \fi: + } \cs_new_protected:Npn \__peek_token_generic_aux:NNNTF #1#2#3#4#5 { \group_align_safe_begin: @@ -8841,82 +8857,43 @@ \exp_after:wN \__peek_false:w \fi: } -\cs_new_protected:Npn \__peek_ignore_spaces_execute_branches: +\tl_map_inline:nn { { catcode } { charcode } { meaning } } { - \if_meaning:w \l_peek_token \c_space_token - \exp_after:wN \peek_after:Nw - \exp_after:wN \__peek_ignore_spaces_execute_branches: - \exp:w \exp_end_continue_f:w - \else: - \exp_after:wN \__peek_execute_branches: - \fi: + \tl_map_inline:nn { { } { _remove } } + { + \tl_map_inline:nn { { TF } { T } { F } } + { + \cs_new_protected:cpx { peek_ #1 ##1 :N ####1 } + { + \exp_not:c { __peek_token ##1 _generic:NN ####1 } + \exp_not:c { __peek_execute_branches_ #1 : } + } + } + } + } +\tl_map_inline:nn + { + { catcode } { catcode_remove } + { charcode } { charcode_remove } + { meaning } { meaning_remove } + } + { + \cs_new_protected:cpx { peek_#1_ignore_spaces:NTF } ##1##2##3 + { + \peek_remove_spaces:n + { \exp_not:c { peek_#1:NTF } ##1 {##2} {##3} } + } + \cs_new_protected:cpx { peek_#1_ignore_spaces:NT } ##1##2 + { + \peek_remove_spaces:n + { \exp_not:c { peek_#1:NT } ##1 {##2} } + } + \cs_new_protected:cpx { peek_#1_ignore_spaces:NF } ##1##2 + { + \peek_remove_spaces:n + { \exp_not:c { peek_#1:NF } ##1 {##2} } + } } -\group_begin: - \cs_set:Npn \__peek_def:nnnn #1#2#3#4 - { - \__peek_def:nnnnn {#1} {#2} {#3} {#4} { TF } - \__peek_def:nnnnn {#1} {#2} {#3} {#4} { T } - \__peek_def:nnnnn {#1} {#2} {#3} {#4} { F } - } - \cs_set:Npn \__peek_def:nnnnn #1#2#3#4#5 - { - \cs_new_protected:cpx { #1 #5 } - { - \tl_if_empty:nF {#2} - { \exp_not:n { \cs_set_eq:NN \__peek_execute_branches: #2 } } - \exp_not:c { #3 #5 } - \exp_not:n {#4} - } - } - \__peek_def:nnnn { peek_catcode:N } - { } - { __peek_token_generic:NN } - { \__peek_execute_branches_catcode: } - \__peek_def:nnnn { peek_catcode_ignore_spaces:N } - { \__peek_execute_branches_catcode: } - { __peek_token_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_catcode_remove:N } - { } - { __peek_token_remove_generic:NN } - { \__peek_execute_branches_catcode: } - \__peek_def:nnnn { peek_catcode_remove_ignore_spaces:N } - { \__peek_execute_branches_catcode: } - { __peek_token_remove_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_charcode:N } - { } - { __peek_token_generic:NN } - { \__peek_execute_branches_charcode: } - \__peek_def:nnnn { peek_charcode_ignore_spaces:N } - { \__peek_execute_branches_charcode: } - { __peek_token_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_charcode_remove:N } - { } - { __peek_token_remove_generic:NN } - { \__peek_execute_branches_charcode: } - \__peek_def:nnnn { peek_charcode_remove_ignore_spaces:N } - { \__peek_execute_branches_charcode: } - { __peek_token_remove_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_meaning:N } - { } - { __peek_token_generic:NN } - { \__peek_execute_branches_meaning: } - \__peek_def:nnnn { peek_meaning_ignore_spaces:N } - { \__peek_execute_branches_meaning: } - { __peek_token_generic:NN } - { \__peek_ignore_spaces_execute_branches: } - \__peek_def:nnnn { peek_meaning_remove:N } - { } - { __peek_token_remove_generic:NN } - { \__peek_execute_branches_meaning: } - \__peek_def:nnnn { peek_meaning_remove_ignore_spaces:N } - { \__peek_execute_branches_meaning: } - { __peek_token_remove_generic:NN } - { \__peek_ignore_spaces_execute_branches: } -\group_end: \exp_args:Nno \use:nn { \cs_new:Npn \__peek_get_prefix_arg_replacement:wN #1 } { \tl_to_str:n { macro : } #2 -> #3 \q_stop #4 } @@ -9264,8 +9241,9 @@ } } %% File: l3msg.dtx Copyright (C) 2009-2018 The LaTeX3 Project -\tl_new:N \l__msg_internal_tl -\bool_new:N \l__msg_line_context_bool +\tl_new:N \l__msg_tmp_tl +\str_new:N \l__msg_name_str +\str_new:N \l__msg_text_str \tl_const:Nn \c__msg_text_prefix_tl { msg~text~>~ } \tl_const:Nn \c__msg_more_text_prefix_tl { msg~extra~text~>~ } \prg_new_conditional:Npnn \msg_if_exist:nn #1#2 { p , T , F , TF } @@ -9350,49 +9328,61 @@ \c_space_tl \msg_line_number: } -\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3 +\cs_new_protected:Npn \__msg_interrupt:Nnnn #1#2#3#4 { - \tl_if_empty:nTF {#3} + \str_set:Nx \l__msg_text_str { #1 {#2} } + \str_set:Nx \l__msg_name_str { \msg_module_name:n {#2} } + \tl_if_empty:nTF {#4} { - \__msg_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl } - {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl } + \__msg_interrupt_wrap:nnn {#3} + { \c__msg_continue_text_tl } + { \c__msg_no_info_text_tl } } { - \__msg_interrupt_wrap:nn { \\ #3 } - {#1 \\\\ #2 \\\\ \c__msg_help_text_tl } + \__msg_interrupt_wrap:nnn {#3} + { \c__msg_help_text_tl } + {#4} } } -\cs_new_protected:Npn \__msg_interrupt_wrap:nn #1#2 +\cs_new_protected:Npn \__msg_interrupt_wrap:nnn #1#2#3 { - \iow_wrap:nnnN {#1} { | ~ } { } \__msg_interrupt_more_text:n - \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_interrupt_text:n + \iow_wrap:nnnN { \\ #3 } { } { } \__msg_interrupt_more_text:n + \group_begin: + \int_sub:Nn \l_iow_line_count_int { 2 } + \iow_wrap:nxnN { \l__msg_text_str : ~ #1 } + { + ( \l__msg_name_str ) + \prg_replicate:nn + { + \str_count:N \l__msg_text_str + - \str_count:N \l__msg_name_str + + 2 + } + { ~ } + } + { } \__msg_interrupt_text:n + \iow_wrap:nnnN { \l__msg_tmp_tl \\ \\ #2 } { } { } + \__msg_interrupt:n } -\cs_new_protected:Npn \__msg_interrupt_more_text:n #1 +\cs_new_protected:Npn \__msg_interrupt_text:n #1 { - \exp_args:Nx \tex_errhelp:D - { - |''''''''''''''''''''''''''''''''''''''''''''''' - #1 \iow_newline: - |............................................... - } + \group_end: + \tl_set:Nn \l__msg_tmp_tl {#1} } +\cs_new_protected:Npn \__msg_interrupt_more_text:n #1 + { \exp_args:Nx \tex_errhelp:D { #1 \iow_newline: } } \group_begin: - \char_set_lccode:nn {`\{} {`\ } - \char_set_lccode:nn {`\}} {`\ } - \char_set_lccode:nn {`\&} {`\!} + \char_set_lccode:nn { 38 } { 32 } % & + \char_set_lccode:nn { 46 } { 32 } % . + \char_set_lccode:nn { 123 } { 32 } % { + \char_set_lccode:nn { 125 } { 32 } % } \char_set_catcode_active:N \& \tex_lowercase:D { \group_end: - \cs_new_protected:Npn \__msg_interrupt_text:n #1 + \cs_new_protected:Npn \__msg_interrupt:n #1 { - \iow_term:x - { - \iow_newline: - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - \iow_newline: - ! - } + \iow_term:n { } \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J } { \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 } @@ -9414,47 +9404,52 @@ } } } -\cs_new_protected:Npn \msg_log:n #1 - { - \iow_log:n { ................................................. } - \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n - \iow_log:n { ................................................. } - } -\cs_new_protected:Npn \msg_term:n #1 - { - \iow_term:n { ************************************************* } - \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n - \iow_term:n { ************************************************* } - } \cs_new:Npn \msg_fatal_text:n #1 { - Fatal~#1~error - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + Fatal ~ + \msg_error_text:n {#1} } \cs_new:Npn \msg_critical_text:n #1 { - Critical~#1~error - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + Critical ~ + \msg_error_text:n {#1} } \cs_new:Npn \msg_error_text:n #1 + { \__msg_text:nn {#1} { Error } } +\cs_new:Npn \msg_warning_text:n #1 + { \__msg_text:nn {#1} { Warning } } +\cs_new:Npn \msg_info_text:n #1 + { \__msg_text:nn {#1} { Info } } +\cs_new:Npn \__msg_text:nn #1#2 { - #1~error - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + \exp_args:Nf \__msg_text:n { \msg_module_type:n {#1} } + \msg_module_name:n {#1} ~ + #2 } -\cs_new:Npn \msg_warning_text:n #1 +\cs_new:Npn \__msg_text:n #1 { - #1~warning - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + \tl_if_blank:nF {#1} + { #1 ~ } } -\cs_new:Npn \msg_info_text:n #1 +\prop_new:N \g_msg_module_name_prop +\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 } +\prop_new:N \g_msg_module_type_prop +\prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { } +\cs_new:Npn \msg_module_type:n #1 { - #1~info - \bool_if:NT \l__msg_line_context_bool { ~ \msg_line_context: } + \prop_if_in:NnTF \g_msg_module_type_prop {#1} + { \prop_item:Nn \g_msg_module_type_prop {#1} } + { Package } + } +\cs_new:Npn \msg_module_name:n #1 + { + \prop_if_in:NnTF \g_msg_module_name_prop {#1} + { \prop_item:Nn \g_msg_module_name_prop {#1} } + {#1} } \cs_new:Npn \msg_see_documentation_text:n #1 { - \\ \\ See~the~ - \str_if_eq:nnTF {#1} { LaTeX } { LaTeX3 } {#1} ~ + See~the~ \msg_module_name:n {#1} ~ documentation~for~further~information. } \group_begin: @@ -9498,23 +9493,19 @@ } \__msg_class_new:nn { fatal } { - \msg_interrupt:nnn - { \msg_fatal_text:n {#1} : ~ "#2" } - { - \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} - \msg_see_documentation_text:n {#1} - } + \__msg_interrupt:Nnnn + \msg_fatal_text:n + {#1} + { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } { \c__msg_fatal_text_tl } \tex_end:D } \__msg_class_new:nn { critical } { - \msg_interrupt:nnn - { \msg_critical_text:n {#1} : ~ "#2" } - { - \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} - \msg_see_documentation_text:n {#1} - } + \__msg_interrupt:Nnnn + \msg_critical_text:n + {#1} + { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } { \c__msg_critical_text_tl } \tex_endinput:D } @@ -9524,12 +9515,10 @@ { \c__msg_more_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} { - \msg_interrupt:nnn - { \msg_error_text:n {#1} : ~ "#2" } - { - \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} - \msg_see_documentation_text:n {#1} - } + \__msg_interrupt:Nnnn + \msg_error_text:n + {#1} + { \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } } } \cs_new_protected:Npn \__msg_error:cnnnnn #1#2#3#4#5#6 @@ -9541,19 +9530,47 @@ \cs_new:Npn \__msg_no_more_text:nnnn #1#2#3#4 { } \__msg_class_new:nn { warning } { - \msg_term:n + \str_set:Nx \l__msg_text_str { \msg_warning_text:n {#1} } + \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} } + \iow_term:n { } + \iow_wrap:nxnN { - \msg_warning_text:n {#1} : ~ "#2" \\ \\ + \l__msg_text_str : ~ \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } + { + ( \l__msg_name_str ) + \prg_replicate:nn + { + \str_count:N \l__msg_text_str + - \str_count:N \l__msg_name_str + } + { ~ } + } + { } \iow_term:n + \iow_term:n { } } \__msg_class_new:nn { info } { - \msg_log:n + \str_set:Nx \l__msg_text_str { \msg_info_text:n {#1} } + \str_set:Nx \l__msg_name_str { \msg_module_name:n {#1} } + \iow_log:n { } + \iow_wrap:nxnN { - \msg_info_text:n {#1} : ~ "#2" \\ \\ + \l__msg_text_str : ~ \use:c { \c__msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} } + { + ( \l__msg_name_str ) + \prg_replicate:nn + { + \str_count:N \l__msg_text_str + - \str_count:N \l__msg_name_str + } + { ~ } + } + { } \iow_log:n + \iow_log:n { } } \__msg_class_new:nn { log } { @@ -9586,13 +9603,13 @@ { \tl_if_empty:nF {#1} { \exp_args:No \iow_term:n { \use_none:n #1 } } - \tl_set:Nn \l__msg_internal_tl {#2} + \tl_set:Nn \l__msg_tmp_tl {#2} \__kernel_iow_with:Nnn \tex_newlinechar:D { 10 } { \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 } { \tex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN - { \exp_after:wN \l__msg_internal_tl } + { \exp_after:wN \l__msg_tmp_tl } } } } @@ -10148,6 +10165,85 @@ \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnnn { nnfff } \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnnn { nnff } \cs_generate_variant:Nn \__kernel_msg_expandable_error:nnn { nnf } +\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_log:n } +\cs_new_protected:Npn \msg_log:n #1 + { + \iow_log:n { ................................................. } + \iow_wrap:nnnN { . ~ #1} { . ~ } { } \iow_log:n + \iow_log:n { ................................................. } + } +\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \iow_term:n } +\cs_new_protected:Npn \msg_term:n #1 + { + \iow_term:n { ************************************************* } + \iow_wrap:nnnN { * ~ #1} { * ~ } { } \iow_term:n + \iow_term:n { ************************************************* } + } +\__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { [Defined~error~message] } +\cs_new_protected:Npn \msg_interrupt:nnn #1#2#3 + { + \tl_if_empty:nTF {#3} + { + \__msg_old_interrupt_wrap:nn { \\ \c__msg_no_info_text_tl } + {#1 \\\\ #2 \\\\ \c__msg_continue_text_tl } + } + { + \__msg_old_interrupt_wrap:nn { \\ #3 } + {#1 \\\\ #2 \\\\ \c__msg_help_text_tl } + } + } +\cs_new_protected:Npn \__msg_old_interrupt_wrap:nn #1#2 + { + \iow_wrap:nnnN {#1} { | ~ } { } \__msg_old_interrupt_more_text:n + \iow_wrap:nnnN {#2} { ! ~ } { } \__msg_old_interrupt_text:n + } +\cs_new_protected:Npn \__msg_old_interrupt_more_text:n #1 + { + \exp_args:Nx \tex_errhelp:D + { + |''''''''''''''''''''''''''''''''''''''''''''''' + #1 \iow_newline: + |............................................... + } + } +\group_begin: + \char_set_lccode:nn {`\{} {`\ } + \char_set_lccode:nn {`\}} {`\ } + \char_set_lccode:nn {`\&} {`\!} + \char_set_catcode_active:N \& +\tex_lowercase:D + { + \group_end: + \cs_new_protected:Npn \__msg_old_interrupt_text:n #1 + { + \iow_term:x + { + \iow_newline: + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + \iow_newline: + ! + } + \__kernel_iow_with:Nnn \tex_newlinechar:D { `\^^J } + { + \__kernel_iow_with:Nnn \tex_errorcontextlines:D { -1 } + { + \group_begin: + \cs_set_protected:Npn & + { + \tex_errmessage:D + { + #1 + \use_none:n + { ............................................ } + } + } + \exp_after:wN + \group_end: + & + } + } + } + } %% File: l3file.dtx Copyright (C) 1990-2018 The LaTeX3 Project \tl_new:N \l__ior_internal_tl \int_const:Nn \c_term_ior { 16 } @@ -10476,6 +10572,7 @@ \exp_args:NNf \group_end: #4 { \tl_to_str:N \l__iow_wrap_tl } } +\cs_generate_variant:Nn \iow_wrap:nnnN { nx } \cs_new_protected:Npn \__iow_wrap_do: { \tl_set:Nx \l__iow_wrap_tl @@ -11766,6 +11863,7 @@ \bool_new:N \l__keys_no_value_bool \bool_new:N \l__keys_only_known_bool \tl_new:N \l_keys_path_tl +\tl_new:N \l__keys_inherit_tl \tl_new:N \l__keys_property_tl \bool_new:N \l__keys_selective_bool \bool_new:N \l__keys_filtered_bool @@ -12409,6 +12507,7 @@ \cs_if_exist:cT { \c__keys_code_root_tl ##1 / \l_keys_key_tl } { + \tl_set:Nn \l__keys_inherit_tl {##1} \cs:w \c__keys_code_root_tl ##1 / \l_keys_key_tl \exp_after:wN \cs_end: \exp_after:wN { \l_keys_value_tl } @@ -12450,8 +12549,18 @@ } \cs_new:Npn \__keys_choice_find:n #1 { - \__keys_execute:nn { \l_keys_path_tl / \__keys_remove_spaces:n {#1} } - { \__keys_execute:nn { \l_keys_path_tl / unknown } { } } + \tl_if_empty:NTF \l__keys_inherit_tl + { \__keys_choice_find:nn { \l_keys_path_tl } {#1} } + { + \__keys_choice_find:nn + { \l__keys_inherit_tl / \l_keys_key_tl } {#1} + } + } +\cs_new:Npn \__keys_choice_find:nn #1#2 + { + \cs_if_exist:cTF { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} } + { \use:c { \c__keys_code_root_tl #1 / \__keys_remove_spaces:n {#2} } {#2} } + { \use:c { \c__keys_code_root_tl #1 / unknown } {#2} } } \cs_new:Npn \__keys_multichoice_find:n #1 { \clist_map_function:nN {#1} \__keys_choice_find:n } @@ -20017,7 +20126,7 @@ \__regex_build_for_cs:n {#1} \bool_set_eq:NN \l__regex_saved_success_bool \g__regex_success_bool - \exp_args:NV \__regex_match:n \l__regex_cs_name_tl + \exp_args:NV \__regex_match_cs:n \l__regex_cs_name_tl \if_meaning:w \c_true_bool \g__regex_success_bool \group_insert_after:N \__regex_break_true:w \fi: @@ -21488,6 +21597,7 @@ } \cs_new_protected:Npn \__regex_build_for_cs:n #1 { + \int_set_eq:NN \l__regex_min_state_int \l__regex_max_active_int \int_set_eq:NN \l__regex_max_state_int \l__regex_min_state_int \__regex_build_new_state: \__regex_build_new_state: @@ -21867,6 +21977,34 @@ \__regex_match_once: } \__kernel_patch:nnNNpn + { + \__regex_trace_push:nnN { regex } { 1 } \__regex_match_cs:n + \__regex_trace:nnx { regex } { 1 } { analyzing~query~token~list } + } + { \__regex_trace_pop:nnN { regex } { 1 } \__regex_match_cs:n } +\cs_new_protected:Npn \__regex_match_cs:n #1 + { + \int_zero:N \l__regex_balance_int + \int_set:Nn \l__regex_curr_pos_int + { + \int_max:nn { 2 * \l__regex_max_state_int - \l__regex_min_state_int } + { \l__regex_max_pos_int } + + 1 + } + \__regex_query_set:nnn { } { -1 } { -2 } + \int_set_eq:NN \l__regex_min_pos_int \l__regex_curr_pos_int + \str_map_inline:nn {#1} + { + \__regex_query_set:nnn { \exp_not:n {##1} } + { \tl_if_blank:nTF {##1} { 10 } { 12 } } + { `##1 } + } + \int_set_eq:NN \l__regex_max_pos_int \l__regex_curr_pos_int + \__regex_query_set:nnn { } { -1 } { -2 } + \__regex_match_init: + \__regex_match_once: + } +\__kernel_patch:nnNNpn { \__regex_trace:nnx { regex } { 1 } { initializing } } { } \cs_new_protected:Npn \__regex_match_init: @@ -22850,7 +22988,8 @@ { Invalid~nested~'\iow_char:N\\c'~escape~in~regular~expression. } { The~'\iow_char:N\\c'~escape~cannot~be~used~within~ - a~control~sequence~test~'\iow_char:N\\c{...}'.~ + a~control~sequence~test~'\iow_char:N\\c{...}'~ + nor~another~category~test.~ To~combine~several~category~tests,~use~'\iow_char:N\\c[...]'. } \__kernel_msg_new:nnnn { kernel } { c-C-invalid } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index f2b84f74d19..d3418218871 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project -\def\ExplFileDate{2018-09-24}% +\def\ExplFileDate{2018-10-17}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 5252ad1cbe0..01e187d6e17 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project -\def\ExplFileDate{2018-09-24}% +\def\ExplFileDate{2018-10-17}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index cf97021907a..b198d0276eb 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvidpfmx.def}{2018-09-24}{} + {l3dvidpfmx.def}{2018-10-17}{} {L3 Experimental driver: dvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index 6c8e6f89389..66e022fa358 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvips.def}{2018-09-24}{} + {l3dvips.def}{2018-10-17}{} {L3 Experimental driver: dvips} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def index 467baf479fb..2b962c28bd7 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3dvisvgm.def}{2018-09-24}{} + {l3dvisvgm.def}{2018-10-17}{} {L3 Experimental driver: dvisvgm} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index 0435270fb92..b298d97cb86 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3pdfmode.def}{2018-09-24}{} + {l3pdfmode.def}{2018-10-17}{} {L3 Experimental driver: PDF mode} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index d1e6c9c80d0..61064499c28 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project \ProvidesExplFile - {l3xdvidpfmx.def}{2018-09-24}{} + {l3xdvidpfmx.def}{2018-10-17}{} {L3 Experimental driver: xdvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty index 00afbb1d7aa..313a87f39e9 100644 --- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{l3keys2e}{2018-09-24}{} +\ProvidesExplPackage{l3keys2e}{2018-10-17}{} {LaTeX2e option processing using LaTeX3 keys} \cs_generate_variant:Nn \clist_put_right:Nn { Nv } \cs_generate_variant:Nn \keys_if_exist:nnT { nx } diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty index 3c2cf74d5ca..a7d23a886ac 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty @@ -33,7 +33,7 @@ \endinput } \RequirePackage{xparse} -\ProvidesExplPackage{xfp}{2018-09-24}{} +\ProvidesExplPackage{xfp}{2018-10-17}{} {L3 Floating point unit} \NewExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} } \NewExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} } diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty index 12cac2d08a9..3d9c05410ca 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty @@ -34,7 +34,7 @@ \endinput } \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate} -\ProvidesExplPackage{xfrac}{2018-09-24}{} +\ProvidesExplPackage{xfrac}{2018-10-17}{} {L3 Experimental split-level fractions} \keys_define:nn { xfrac } { diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty index 4c7ef80fcfb..df25d3823f7 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty @@ -36,7 +36,7 @@ }% \endinput } -\ProvidesExplPackage{xparse}{2018-09-24}{} +\ProvidesExplPackage{xparse}{2018-10-17}{} {L3 Experimental document command parser} \tl_new:N \l__xparse_arg_spec_tl \tl_new:N \l__xparse_args_tl @@ -1293,15 +1293,18 @@ \group_align_safe_begin: \tex_escapechar:D = 92 \scan_stop: \tl_clear:N \l__xparse_v_arg_tl - \peek_meaning_remove_ignore_spaces:NTF \c_group_begin_token + \peek_remove_spaces:n { - \group_align_safe_end: - \__xparse_grab_v_bgroup: - } - { - \peek_N_type:TF - { \__xparse_grab_v_aux_test:N } - { \__xparse_grab_v_aux_abort:n { } } + \peek_meaning_remove:NTF \c_group_begin_token + { + \group_align_safe_end: + \__xparse_grab_v_bgroup: + } + { + \peek_N_type:TF + { \__xparse_grab_v_aux_test:N } + { \__xparse_grab_v_aux_abort:n { } } + } } } \cs_new_protected:Npn \__xparse_grab_v_group_end: @@ -2216,7 +2219,7 @@ \keys_define:nn { xparse } { log-declarations .bool_set:N = \l__xparse_log_bool , - log-declarations .initial:n = true + log-declarations .initial:n = false } \keys_set:nV { xparse } \l__xparse_options_clist \bool_if:NF \l__xparse_log_bool diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty index b233a8b362f..b6fa39fa49d 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty @@ -36,7 +36,7 @@ }% \endinput } -\ProvidesExplPackage{xtemplate}{2018-09-24}{} +\ProvidesExplPackage{xtemplate}{2018-10-17}{} {L3 Experimental prototype document functions} \tl_const:Nn \c__xtemplate_code_root_tl { template~code~>~ } \tl_const:Nn \c__xtemplate_defaults_root_tl { template~defaults~>~ } |