diff options
author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2012-10-06 09:34:54 +0000 |
---|---|---|
committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2012-10-06 09:34:54 +0000 |
commit | 11eb9a3891b7dd3261bf06e2421e6ae87aba4153 (patch) | |
tree | 0a1ec8718e0c0ac641c4e7630e2278a438d9b11a /Master/texmf-dist/tex/latex/l3kernel | |
parent | a9a23194b1cababcf9c24e48937a726cb465813a (diff) |
l3kernel update
git-svn-id: svn://tug.org/texlive/trunk@27898 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
17 files changed, 253 insertions, 126 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index d18bfd8148c..0991128f880 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -60,8 +60,8 @@ } \def\ExplFileName{expl3} \def\ExplFileDescription{L3 Experimental code bundle wrapper} -\def\ExplFileDate{2012/09/05} -\def\ExplFileVersion{4205} +\def\ExplFileDate{2012/09/29} +\def\ExplFileVersion{4249} \RequirePackage{etex} \reserveinserts{32} \ProvidesExplPackage diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty index d9dfc41083c..e9dc558a962 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3basics.dtx 4144 2012-08-27 19:37:16Z bruno $ +\GetIdInfo$Id: l3basics.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Basic definitions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -75,7 +75,6 @@ \tex_let:D \token_to_meaning:N \tex_meaning:D \tex_let:D \token_to_str:N \tex_string:D \tex_let:D \cs_meaning:N \tex_meaning:D -\tex_let:D \cs_show:N \tex_show:D \tex_let:D \scan_stop: \tex_relax:D \tex_let:D \group_begin: \tex_begingroup:D \tex_let:D \group_end: \tex_endgroup:D @@ -98,8 +97,6 @@ { \tl_to_str:n {undefined} } } \tex_let:D \token_to_meaning:c = \cs_meaning:c -\etex_protected:D \tex_def:D \cs_show:c - { \group_begin: \exp_args:NNc \group_end: \cs_show:N } \tex_let:D \c_minus_one \m@ne \tex_chardef:D \c_sixteen = 16 ~ \tex_chardef:D \c_zero = 0 ~ @@ -739,6 +736,25 @@ } \cs_new_protected_nopar:Npn \__kernel_register_show:c { \exp_args:Nc \__kernel_register_show:N } +\group_begin: + \tex_lccode:D `? = `: \scan_stop: + \tex_catcode:D `? = 12 \scan_stop: +\tex_lowercase:D + { + \group_end: + \cs_new_protected:Npn \cs_show:N #1 + { + \__msg_show_variable:n + { + > ~ \token_to_str:N #1 = + \exp_after:wN \__cs_show:www \cs_meaning:N #1 + \use_none:nn ? \prg_do_nothing: + } + } + \cs_new:Npn \__cs_show:www #1 ? { #1 ? \\ } + } +\cs_new_protected_nopar:Npn \cs_show:c + { \group_begin: \exp_args:NNc \group_end: \cs_show:N } \cs_new_eq:NN \luatex_if_engine:T \use_none:n \cs_new_eq:NN \luatex_if_engine:F \use:n \cs_new_eq:NN \luatex_if_engine:TF \use_ii:nn diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty index 6ee3e3a018b..433ff506d60 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty @@ -578,10 +578,14 @@ } \cs_new_protected:Npn \__coffin_find_corner_maxima_aux:nn #1#2 { - \dim_set_min:Nn \l__coffin_left_corner_dim {#1} - \dim_set_max:Nn \l__coffin_right_corner_dim {#1} - \dim_set_min:Nn \l__coffin_bottom_corner_dim {#2} - \dim_set_max:Nn \l__coffin_top_corner_dim {#2} + \dim_set:Nn \l__coffin_left_corner_dim + { \dim_min:nn { \l__coffin_left_corner_dim } {#1} } + \dim_set:Nn \l__coffin_right_corner_dim + { \dim_max:nn { \l__coffin_right_corner_dim } {#1} } + \dim_set:Nn \l__coffin_bottom_corner_dim + { \dim_min:nn { \l__coffin_bottom_corner_dim } {#2} } + \dim_set:Nn \l__coffin_top_corner_dim + { \dim_max:nn { \l__coffin_top_corner_dim } {#2} } } \cs_new_protected_nopar:Npn \__coffin_find_bounding_shift: { @@ -590,7 +594,10 @@ { \__coffin_find_bounding_shift_aux:nn ##2 } } \cs_new_protected:Npn \__coffin_find_bounding_shift_aux:nn #1#2 - { \dim_set_min:Nn \l__coffin_bounding_shift_dim {#1} } + { + \dim_set:Nn \l__coffin_bounding_shift_dim + { \dim_min:nn { \l__coffin_bounding_shift_dim } {#1} } + } \cs_new_protected:Npn \__coffin_shift_corner:Nnnn #1#2#3#4 { \prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _ prop } {#2} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty index 18cee384adc..284830694db 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3clist.dtx 4102 2012-08-15 16:08:27Z bruno $ +\GetIdInfo$Id: l3clist.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Comma separated lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -419,7 +419,7 @@ } \cs_new_protected:Npn \clist_show:N #1 { - \__msg_show_variable:Nnx #1 { clist } + \__msg_show_variable:Nnn #1 { clist } { \clist_map_function:NN #1 \__msg_show_item:n } } \cs_new_protected:Npn \clist_show:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty index 1b8d88d4761..a3743a477ad 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3coffins.dtx 4092 2012-08-14 14:04:41Z bruno $ +\GetIdInfo$Id: l3coffins.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Coffin code layer} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -807,7 +807,7 @@ { \__coffin_if_exist:NT #1 { - \__msg_show_variable:Nnx #1 { coffins } + \__msg_show_variable:Nnn #1 { coffins } { \prop_map_function:cN { l__coffin_poles_ \__int_value:w #1 _prop } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls index 81daef1452a..b75f0c5779c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -4,7 +4,8 @@ %% %% The original source files were: %% -%% l3doc.dtx (with options: `class') +%% l3doc.dtx (with options: `class,cfg') +%% %% %% EXPERIMENTAL CODE %% @@ -13,6 +14,7 @@ %% %% Do not distribute a modified version of this file. %% +%% %% File: l3doc.dtx Copyright (C) 1990-2012 The LaTeX3 project %% %% It may be distributed and/or modified under the conditions of the @@ -50,7 +52,7 @@ \let \fileversionOld \ExplFileVersion \let \filedescriptionOld \ExplFileDescription \RequirePackage{expl3,xparse,calc} -\GetIdInfo$Id: l3doc.dtx 4130 2012-08-20 21:30:22Z joseph $ +\GetIdInfo$Id: l3doc.dtx 4230 2012-09-24 21:44:28Z joseph $ {L3 Experimental documentation class} \ProvidesExplClass {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -1173,6 +1175,7 @@ \clist_map_inline:nn {#1} { \clist_put_right:Nn \g_docinput_clist {##1} + \tl_gclear:N \g__codedoc_module_name_tl \MakePercentIgnore \input{##1} \MakePercentComment @@ -1183,6 +1186,7 @@ \clist_map_inline:Nn \g_docinput_clist { \MakePercentIgnore + \tl_gclear:N \g__codedoc_module_name_tl \input{##1} \MakePercentComment } @@ -1446,6 +1450,51 @@ \DisableCrossrefs \OnlyDescription } +\tl_new:N \Team +\tl_set:Nn \Team + { + The~\LaTeX3~Project\thanks + { + Frank~Mittelbach,~Denys~Duchier,~Chris~Rowley,~ + Rainer~Sch\"opf,~Johannes~Braams,~Michael~Downes,~ + David~Carlisle,~Alan~Jeffrey,~Morten~H\o{}gholm,~Thomas~Lotze,~ + Javier~Bezos,~Will~Robertson,~Joseph~Wright,~Bruno~Le~Floch + } + } +\NewDocumentCommand{\ExplMakeTitle}{mm} + { + \title + { + The~\pkg{#1}~package \\ #2 + \thanks + { + This~file~describes~v\ExplFileVersion,~ + last~revised~\ExplFileDate. + } + } + \author + { + The~\LaTeX3~Project\thanks{E-mail:~ + \href{mailto:latex-l@listserv.uni-heidelberg.de} + {latex-l@listserv.uni-heidelberg.de}} + } + \date{Released~\ExplFileDate} + \maketitle + } +\DeclareDocumentCommand\ie{}{\emph{i.e.}} +\DeclareDocumentCommand\eg{}{\emph{e.g.}} +\DeclareDocumentCommand\Ie{}{\emph{I.e.}} +\DeclareDocumentCommand\Eg{}{\emph{E.g.}} +\AtBeginDocument + { + \clist_map_inline:nn + { + asin, acos, atan, acot, + asinh, acosh, atanh, acoth, round, floor, ceil + } + { \exp_args:Nc \DeclareMathOperator{#1}{#1} } + } +\NewDocumentCommand { \nan } { } { \text { \texttt { nan } } } %% %% %% End of file `l3doc.cls'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty index 44e02bdff7c..b3c04f68873 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3file.dtx 4101 2012-08-15 16:05:33Z bruno $ +\GetIdInfo$Id: l3file.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 File and I/O operations} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -307,7 +307,7 @@ \__msg_term:nnn { LaTeX / kernel } { \prop_if_empty:NTF #1 { show-no-stream } { show-open-streams } } {#2} - \__msg_show_variable:x + \__msg_show_variable:n { \prop_map_function:NN #1 \__msg_show_item_unbraced:nn } } \cs_new_eq:NN \if_eof:w \tex_ifeof:D @@ -420,13 +420,14 @@ \cs_new_protected_nopar:Npn \iow_list_streams: { \__iow_list_streams:Nn \g__iow_streams_prop { output } } \cs_new_eq:NN \__iow_list_streams:Nn \__ior_list_streams:Nn -\cs_new_eq:NN \iow_shipout_x:Nn \tex_write:D +\cs_new_protected:Npn \iow_shipout_x:Nn #1#2 + { \tex_write:D #1 {#2} } \cs_generate_variant:Nn \iow_shipout_x:Nn { Nx } \cs_new_protected:Npn \iow_shipout:Nn #1#2 - { \iow_shipout_x:Nn #1 { \exp_not:n {#2} } } + { \tex_write:D #1 { \exp_not:n {#2} } } \cs_generate_variant:Nn \iow_shipout:Nn { Nx } \cs_new_protected:Npn \iow_now:Nn #1#2 - { \tex_immediate:D \iow_shipout_x:Nn #1 { \exp_not:n {#2} } } + { \tex_immediate:D \tex_write:D #1 { \exp_not:n {#2} } } \cs_generate_variant:Nn \iow_now:Nn { Nx } \cs_set_protected_nopar:Npn \iow_log:x { \iow_now:Nx \c_log_iow } \cs_new_protected_nopar:Npn \iow_log:n { \iow_now:Nn \c_log_iow } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty index eac513e519c..6c9d3b3bc2e 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty @@ -59,7 +59,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3fp.dtx 4151 2012-08-28 11:51:52Z bruno $ +\GetIdInfo$Id: l3fp.dtx 4234 2012-09-26 09:43:31Z bruno $ {L3 Floating points} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -4419,6 +4419,10 @@ \cs_new_eq:NN \fp_eval:n \fp_to_decimal:n \cs_new:Npn \fp_abs:n #1 { \fp_to_decimal:n { abs \__fp_parse:n {#1} } } +\cs_new:Npn \fp_max:nn #1#2 + { \fp_to_decimal:n { max ( \__fp_parse:n {#1} , \__fp_parse:n {#2} ) } } +\cs_new:Npn \fp_min:nn #1#2 + { \fp_to_decimal:n { min ( \__fp_parse:n {#1} , \__fp_parse:n {#2} ) } } \cs_new:Npn \__fp_array_to_clist:n #1 { \tl_if_empty:nF {#1} @@ -4516,14 +4520,14 @@ \cs_new_protected:Npn \fp_show:N #1 { \fp_if_exist:NTF #1 - { \__msg_show_variable:x { > \fp_to_tl:N #1 } } + { \__msg_show_variable:n { > ~ \fp_to_tl:N #1 } } { \__msg_kernel_error:nnx { kernel } { variable-not-defined } { \token_to_str:N #1 } } } \cs_new_protected:Npn \fp_show:n #1 - { \__msg_show_variable:x { > \fp_to_tl:n {#1} } } + { \__msg_show_variable:n { > ~ \fp_to_tl:n {#1} } } \cs_generate_variant:Nn \fp_show:N { c } \fp_const:Nn \c_e_fp { 2.718 2818 2845 9045 } \fp_const:Nn \c_one_fp { 1 } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty index 25667fc8c75..cd2ab964888 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3int.dtx 4121 2012-08-17 01:36:30Z bruno $ +\GetIdInfo$Id: l3int.dtx 4237 2012-09-26 10:18:58Z bruno $ {L3 Integers} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -59,33 +59,35 @@ \cs_new:Npn \int_eval:n #1 { \__int_value:w \__int_eval:w #1 \__int_eval_end: } \cs_new:Npn \int_abs:n #1 { - \__int_value:w - \if_int_compare:w \__int_eval:w #1 < \c_zero - - - \fi: - \__int_eval:w #1 \__int_eval_end: + \__int_value:w \exp_after:wN \__int_abs:N + \int_use:N \__int_eval:w #1 \__int_eval_end: + \exp_stop_f: } -\cs_new:Npn \int_max:nn #1#2 +\cs_new:Npn \__int_abs:N #1 + { \if_meaning:w - #1 \else: \exp_after:wN #1 \fi: } +\cs_set:Npn \int_max:nn #1#2 { - \__int_value:w \__int_eval:w - \if_int_compare:w - \__int_eval:w #1 > \__int_eval:w #2 \__int_eval_end: - #1 - \else: - #2 - \fi: - \__int_eval_end: + \__int_value:w \exp_after:wN \__int_maxmin:wwN + \int_use:N \__int_eval:w #1 \exp_after:wN ; + \int_use:N \__int_eval:w #2 ; + > + \exp_stop_f: } -\cs_new:Npn \int_min:nn #1#2 +\cs_set:Npn \int_min:nn #1#2 { - \__int_value:w \__int_eval:w - \if_int_compare:w - \__int_eval:w #1 < \__int_eval:w #2 \__int_eval_end: - #1 - \else: - #2 - \fi: - \__int_eval_end: + \__int_value:w \exp_after:wN \__int_maxmin:wwN + \int_use:N \__int_eval:w #1 \exp_after:wN ; + \int_use:N \__int_eval:w #2 ; + < + \exp_stop_f: + } +\cs_new:Npn \__int_maxmin:wwN #1 ; #2 ; #3 + { + \if_int_compare:w #1 #3 #2 ~ + #1 + \else: + #2 + \fi: } \cs_new:Npn \int_div_truncate:nn #1#2 { @@ -108,13 +110,17 @@ \fi: / #3#4 } -\cs_new:Npn \int_div_round:nn #1#2 { \int_eval:n { ( #1 ) / ( #2 ) } } +\cs_new:Npn \int_div_round:nn #1#2 + { \__int_value:w \__int_eval:w ( #1 ) / ( #2 ) \__int_eval_end: } \cs_new:Npn \int_mod:nn #1#2 { - \__int_value:w \__int_eval:w - #1 - \int_div_truncate:nn {#1} {#2} * ( #2 ) + \__int_value:w \__int_eval:w \exp_after:wN \__int_mod:ww + \__int_value:w \__int_eval:w #1 \exp_after:wN ; + \__int_value:w \__int_eval:w #2 ; \__int_eval_end: } +\cs_new:Npn \__int_mod:ww #1; #2; + { #1 - ( \__int_div_truncate:NwNw #1 ; #2 ; ) * #2 } \cs_new_protected:Npn \int_new:N #1 { \__chk_if_free_cs:N #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty index 673001477d5..82dc4a656f7 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3keys.dtx 3991 2012-07-16 19:00:35Z joseph $ +\GetIdInfo$Id: l3keys.dtx 4248 2012-09-29 19:55:27Z joseph $ {L3 Experimental key-value interfaces} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -73,7 +73,7 @@ \tl_replace_all:Nnn \l__keyval_sanitise_tl { , } { 9 } \tl_clear:N \l__keyval_parse_tl \exp_after:wN \__keyval_parse_elt:w \exp_after:wN - \q_no_value \l__keyval_sanitise_tl 9 \q_nil 9 + \q_nil \l__keyval_sanitise_tl 9 \q_recursion_tail 9 \q_recursion_stop \exp_after:wN \group_end: \l__keyval_parse_tl } @@ -81,18 +81,16 @@ \cs_new_protected:Npn \__keyval_parse_elt:w #1 , { \tl_if_blank:oTF { \use_none:n #1 } - { \__keyval_parse_elt:w \q_no_value } + { \__keyval_parse_elt:w \q_nil } { - \quark_if_nil:oF { \use_ii:nn #1 } - { - \__keyval_split_key_value:w #1 = = \q_stop - \__keyval_parse_elt:w \q_no_value - } + \quark_if_recursion_tail_stop:o { \use_ii:nn #1 } + \__keyval_split_key_value:w #1 = = \q_stop + \__keyval_parse_elt:w \q_nil } } \cs_new_protected:Npn \__keyval_split_key_value:w #1 = #2 \q_stop { - \__keyval_split_key:w #1 \q_stop + \__keyval_split_key:n {#1} \str_if_eq:nnTF {#2} { = } { \tl_put_right:Nx \l__keyval_parse_tl @@ -110,11 +108,15 @@ } \cs_new:Npn \__keyval_split_key_value:wTF #1 = #2#3 \q_stop { \tl_if_head_eq_meaning:nNTF {#3} \q_no_value } -\cs_new_protected:Npn \__keyval_split_key:w #1 \q_stop +\cs_new_protected:Npn \__keyval_split_key:n #1 { - \tl_set:Nx \l__keyval_key_tl - { \exp_after:wN \tl_trim_spaces:n \exp_after:wN { \use_none:n #1 } } + \str_if_eq_x:nnTF + { \exp_not:N \q_nil } { \exp_not:o { \use_none:nnn #1 \q_nil \q_nil } } + { \tl_set:Nx \l__keyval_key_tl { \exp_not:o { \use_ii:nnn #1 \q_nil } } } + { \__keyval_split_key:w #1 \q_stop } } +\cs_new_protected:Npn \__keyval_split_key:w \q_nil #1 \q_stop + { \tl_set:Nx \l__keyval_key_tl { \tl_trim_spaces:n {#1} } } \cs_new_protected:Npn \__keyval_split_value:w #1 = = { \tl_put_right:Nx \l__keyval_parse_tl diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty index 0d717006172..584b54ac427 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3msg.dtx 4147 2012-08-28 10:27:33Z bruno $ +\GetIdInfo$Id: l3msg.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Messages} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -744,43 +744,37 @@ \cs_if_exist:NTF #1 { \__msg_term:nnn { LaTeX / kernel } { show- #2 } {#1} - \__msg_show_variable:x { \tl_to_str:n {#3} } + \__msg_show_variable:n {#3} } { \__msg_kernel_error:nnx { kernel } { variable-not-defined } { \token_to_str:N #1 } } } -\cs_generate_variant:Nn \__msg_show_variable:Nnn { Nnx } \cs_new_protected:Npn \__msg_show_variable:n #1 + { \iow_wrap:nnnN {#1} { } { } \__msg_show_variable_aux:n } +\cs_new_protected:Npn \__msg_show_variable_aux:n #1 { - \tl_set:Nn \l__msg_internal_tl {#1} - \tl_if_empty:NTF \l__msg_internal_tl - { \etex_showtokens:D \exp_after:wN { } } - { - \exp_args:Nf \etex_showtokens:D - { - \exp_after:wN \exp_after:wN - \exp_after:wN \__msg_show_variable:w - \exp_after:wN \l__msg_internal_tl - } - } + \tl_if_empty:nTF {#1} + { \tl_clear:N \l__msg_internal_tl } + { \tl_set:Nf \l__msg_internal_tl { \__msg_show_variable_aux:w #1 } } + \etex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN + { \exp_after:wN \l__msg_internal_tl } } -\cs_generate_variant:Nn \__msg_show_variable:n { x } -\cs_new:Npn \__msg_show_variable:w #1 > { } +\cs_new:Npn \__msg_show_variable_aux:w #1 > { } \cs_new:Npn \__msg_show_item:n #1 { - \iow_newline: > \c_space_tl \c_space_tl { \exp_not:n {#1} } + \\ > \ \ \{ \tl_to_str:n {#1} \} } \cs_new:Npn \__msg_show_item:nn #1#2 { - \iow_newline: > \c_space_tl \c_space_tl { \exp_not:n {#1} } - \c_space_tl \c_space_tl => \c_space_tl \c_space_tl { \exp_not:n {#2} } + \\ > \ \ \{ \tl_to_str:n {#1} \} + \ \ => \ \ \{ \tl_to_str:n {#2} \} } \cs_new:Npn \__msg_show_item_unbraced:nn #1#2 { - \iow_newline: > \c_space_tl \c_space_tl \exp_not:n {#1} - \c_space_tl \c_space_tl => \c_space_tl \c_space_tl \exp_not:n {#2} + \\ > \ \ \tl_to_str:n {#1} + \ \ => \ \ \tl_to_str:n {#2} } \cs_new_nopar:Npn \msg_newline: { ^^J } \cs_new_nopar:Npn \msg_two_newlines: { ^^J ^^J } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty index 660aa9e659b..7c12c601af2 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap}[2012/07/15] -\GetIdInfo$Id: l3names.dtx 3990 2012-07-16 07:46:03Z joseph $ +\GetIdInfo$Id: l3names.dtx 4230 2012-09-24 21:44:28Z joseph $ {L3 Namespace for primitives} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty index 93ef25ee4b6..0b719688663 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3prg.dtx 4114 2012-08-16 01:57:02Z bruno $ +\GetIdInfo$Id: l3prg.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Control structures} %% \ProvidesExplPackage @@ -106,8 +106,8 @@ \cs_new_protected:Npn \bool_show:n #1 { \bool_if:nTF {#1} - { \__msg_show_variable:n { > true } } - { \__msg_show_variable:n { > false } } + { \__msg_show_variable:n { > ~ true } } + { \__msg_show_variable:n { > ~ false } } } \cs_generate_variant:Nn \bool_show:N { c } \bool_new:N \l_tmpa_bool diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty index e9ecb340822..916ff713332 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3prop.dtx 4190 2012-09-03 00:23:31Z bruno $ +\GetIdInfo$Id: l3prop.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Property lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -295,7 +295,7 @@ { \__prg_map_break:Nn \prop_map_break: } \cs_new_protected:Npn \prop_show:N #1 { - \__msg_show_variable:Nnx #1 { prop } + \__msg_show_variable:Nnn #1 { prop } { \prop_map_function:NN #1 \__msg_show_item:nn } } \cs_generate_variant:Nn \prop_show:N { c } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty index 58e3b205359..1a59d7c4911 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3seq.dtx 4092 2012-08-14 14:04:41Z bruno $ +\GetIdInfo$Id: l3seq.dtx 4212 2012-09-09 12:24:04Z bruno $ {L3 Sequences and stacks} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -433,7 +433,7 @@ \prg_new_eq_conditional:NNn \seq_gpop:cN \seq_gpop_left:cN { T , F , TF } \cs_new_protected:Npn \seq_show:N #1 { - \__msg_show_variable:Nnx #1 { seq } + \__msg_show_variable:Nnn #1 { seq } { \seq_map_function:NN #1 \__msg_show_item:n } } \cs_generate_variant:Nn \seq_show:N { c } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty index adbdbc68d8c..4e7c82c333a 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty @@ -47,7 +47,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3skip.dtx 4121 2012-08-17 01:36:30Z bruno $ +\GetIdInfo$Id: l3skip.dtx 4235 2012-09-26 09:48:18Z bruno $ {L3 Dimensions and skips} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -96,20 +96,6 @@ \cs_new_protected:Npn \dim_gset_eq:NN #1#2 { \tex_global:D #1 = #2 } \cs_generate_variant:Nn \dim_gset_eq:NN { c } \cs_generate_variant:Nn \dim_gset_eq:NN { Nc , cc } -\cs_new_protected_nopar:Npn \dim_set_max:Nn - { \__dim_set_max:NNNn < \dim_set:Nn } -\cs_new_protected_nopar:Npn \dim_gset_max:Nn - { \__dim_set_max:NNNn < \dim_gset:Nn } -\cs_new_protected_nopar:Npn \dim_set_min:Nn - { \__dim_set_max:NNNn > \dim_set:Nn } -\cs_new_protected_nopar:Npn \dim_gset_min:Nn - { \__dim_set_max:NNNn > \dim_gset:Nn } -\cs_new_protected:Npn \__dim_set_max:NNNn #1#2#3#4 - { \dim_compare:nNnT {#3} #1 {#4} { #2 #3 {#4} } } -\cs_generate_variant:Nn \dim_set_max:Nn { c } -\cs_generate_variant:Nn \dim_gset_max:Nn { c } -\cs_generate_variant:Nn \dim_set_min:Nn { c } -\cs_generate_variant:Nn \dim_gset_min:Nn { c } \cs_new_protected:Npn \dim_add:Nn #1#2 { \tex_advance:D #1 by \__dim_eval:w #2 \__dim_eval_end: } \cs_new_protected:Npn \dim_gadd:Nn { \tex_global:D \dim_add:Nn } @@ -122,14 +108,35 @@ \cs_generate_variant:Nn \dim_gsub:Nn { c } \cs_new:Npn \dim_abs:n #1 { - \dim_use:N - \__dim_eval:w - \if_dim:w \__dim_eval:w #1 < \c_zero_dim - - - \fi: - \__dim_eval:w #1 \__dim_eval_end: + \exp_after:wN \__dim_abs:N + \dim_use:N \__dim_eval:w #1 \__dim_eval_end: + } +\cs_new:Npn \__dim_abs:N #1 + { \if_meaning:w - #1 \else: \exp_after:wN #1 \fi: } +\cs_set:Npn \dim_max:nn #1#2 + { + \dim_use:N \__dim_eval:w \exp_after:wN \__dim_maxmin:wwN + \dim_use:N \__dim_eval:w #1 \exp_after:wN ; + \dim_use:N \__dim_eval:w #2 ; + > + \__dim_eval_end: + } +\cs_set:Npn \dim_min:nn #1#2 + { + \dim_use:N \__dim_eval:w \exp_after:wN \__dim_maxmin:wwN + \dim_use:N \__dim_eval:w #1 \exp_after:wN ; + \dim_use:N \__dim_eval:w #2 ; + < \__dim_eval_end: } +\cs_new:Npn \__dim_maxmin:wwN #1 ; #2 ; #3 + { + \if_dim:w #1 #3 #2 ~ + #1 + \else: + #2 + \fi: + } \cs_new:Npn \dim_ratio:nn #1#2 { \__dim_ratio:n {#1} / \__dim_ratio:n {#2} } \cs_new:Npn \__dim_ratio:n #1 @@ -441,6 +448,20 @@ \cs_new_eq:NN \prg_case_dim:nnn \dim_case:nnn \cs_new_eq:NN \dim_eval:w \__dim_eval:w \cs_new_eq:NN \dim_eval_end: \__dim_eval_end: +\cs_new_protected_nopar:Npn \dim_set_max:Nn + { \__dim_set_max:NNNn < \dim_set:Nn } +\cs_new_protected_nopar:Npn \dim_gset_max:Nn + { \__dim_set_max:NNNn < \dim_gset:Nn } +\cs_new_protected_nopar:Npn \dim_set_min:Nn + { \__dim_set_max:NNNn > \dim_set:Nn } +\cs_new_protected_nopar:Npn \dim_gset_min:Nn + { \__dim_set_max:NNNn > \dim_gset:Nn } +\cs_new_protected:Npn \__dim_set_max:NNNn #1#2#3#4 + { \dim_compare:nNnT {#3} #1 {#4} { #2 #3 {#4} } } +\cs_generate_variant:Nn \dim_set_max:Nn { c } +\cs_generate_variant:Nn \dim_gset_max:Nn { c } +\cs_generate_variant:Nn \dim_set_min:Nn { c } +\cs_generate_variant:Nn \dim_gset_min:Nn { c } %% %% %% End of file `l3skip.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty index 8a8d89bb904..ef644d3dfd6 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3tl.dtx 4201 2012-09-05 08:00:54Z joseph $ +\GetIdInfo$Id: l3tl.dtx 4244 2012-09-28 22:46:36Z bruno $ {L3 Token lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -216,8 +216,10 @@ \cs_generate_variant:Nn \tl_set_rescan:Nnn { c , cno , cnx } \cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nno , Nnx } \cs_generate_variant:Nn \tl_gset_rescan:Nnn { c , cno } -\cs_new_eq:NN \tl_to_lowercase:n \tex_lowercase:D -\cs_new_eq:NN \tl_to_uppercase:n \tex_uppercase:D +\cs_new_protected:Npn \tl_to_lowercase:n #1 + { \tex_lowercase:D {#1} } +\cs_new_protected:Npn \tl_to_uppercase:n #1 + { \tex_uppercase:D {#1} } \cs_new_protected_nopar:Npn \tl_replace_once:Nnn { \__tl_replace:NNNnn \__tl_replace_once: \tl_set:Nx } \cs_new_protected_nopar:Npn \tl_greplace_once:Nnn @@ -340,9 +342,9 @@ \prg_new_protected_conditional:Npnn \tl_if_eq:nn #1#2 { T , F , TF } { \group_begin: - \tl_set:Nn \l_tl_internal_a_tl {#1} - \tl_set:Nn \l_tl_internal_b_tl {#2} - \if_meaning:w \l_tl_internal_a_tl \l_tl_internal_b_tl + \tl_set:Nn \l__tl_internal_a_tl {#1} + \tl_set:Nn \l__tl_internal_b_tl {#2} + \if_meaning:w \l__tl_internal_a_tl \l__tl_internal_b_tl \group_end: \prg_return_true: \else: @@ -350,8 +352,8 @@ \prg_return_false: \fi: } -\tl_new:N \l_tl_internal_a_tl -\tl_new:N \l_tl_internal_b_tl +\tl_new:N \l__tl_internal_a_tl +\tl_new:N \l__tl_internal_b_tl \cs_new_protected_nopar:Npn \tl_if_in:NnT { \exp_args:No \tl_if_in:nnT } \cs_new_protected_nopar:Npn \tl_if_in:NnF { \exp_args:No \tl_if_in:nnF } \cs_new_protected_nopar:Npn \tl_if_in:NnTF { \exp_args:No \tl_if_in:nnTF } @@ -588,10 +590,26 @@ { \tl_gset:Nx #1 { \exp_args:No \tl_reverse:n { #1 } } } \cs_generate_variant:Nn \tl_reverse:N { c } \cs_generate_variant:Nn \tl_greverse:N { c } -\cs_new:Npn \tl_head:w #1#2 \q_stop {#1} \cs_new:Npn \tl_head:n #1 - { \etex_unexpanded:D \exp_after:wN { \tl_head:w #1 { } \q_stop } } + { + \etex_unexpanded:D + \if_false: { \fi: \__tl_head_i:nw #1 { } \q_stop } + } +\cs_new:Npn \__tl_head_i:nw #1#2 \q_stop + { \exp_after:wN \__tl_head_ii:nw \exp_after:wN { \if_false: } \fi: {#1} } +\cs_new:Npn \__tl_head_ii:nw #1 + { + \exp_after:wN \if_meaning:w \exp_after:wN \q_nil + \tl_to_str:n \exp_after:wN { \use_none:n #1 } \q_nil + \exp_after:wN \use_i:nn + \else: + \exp_after:wN \use_ii:nn + \fi: + {#1} + { \if_false: { \fi: \__tl_head_i:nw #1 } } + } \cs_generate_variant:Nn \tl_head:n { V , v , f } +\cs_new:Npn \tl_head:w #1#2 \q_stop {#1} \cs_new_nopar:Npn \tl_head:N { \exp_args:No \tl_head:n } \cs_new:Npn \tl_tail:n #1 { @@ -723,9 +741,18 @@ { \exp_after:wN \c_zero \exp_after:wN \prg_return_false: } \exp_after:wN \use_none:n \exp_after:wN { \if_false: } \fi: } -\cs_new_protected:Npn \tl_show:N #1 { \cs_show:N #1 } +\cs_new_protected:Npn \tl_show:N #1 + { + \cs_if_exist:NTF #1 + { \cs_show:N #1 } + { + \__msg_kernel_error:nnx { kernel } { variable-not-defined } + { \token_to_str:N #1 } + } + } \cs_generate_variant:Nn \tl_show:N { c } -\cs_new_eq:NN \tl_show:n \etex_showtokens:D +\cs_new_protected:Npn \tl_show:n #1 + { \__msg_show_variable:n { > ~ \tl_to_str:n {#1} } } \tl_new:N \g_tmpa_tl \tl_new:N \g_tmpb_tl \tl_new:N \l_tmpa_tl |