diff options
author | Karl Berry <karl@freefriends.org> | 2013-03-12 22:38:22 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-03-12 22:38:22 +0000 |
commit | 574c4946ce553944c797750da25ba8844775996f (patch) | |
tree | 9ea4729ca09c49a4564d99d9134a5417eb7b2af3 /Master/texmf-dist/tex/latex/l3kernel | |
parent | 5c30ca128a813719715e012a0d72c1ccaba2d811 (diff) |
latex3 (12mar13)
git-svn-id: svn://tug.org/texlive/trunk@29361 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
19 files changed, 263 insertions, 579 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index 653499b0ca4..7108cae2f3e 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: expl3.dtx Copyright (C) 1990-2012 The LaTeX3 Project +%% File: expl3.dtx Copyright (C) 1990-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -60,8 +60,8 @@ } \def\ExplFileName{expl3} \def\ExplFileDescription{L3 Experimental code bundle wrapper} -\def\ExplFileDate{2012/12/21} -\def\ExplFileVersion{4390} +\def\ExplFileDate{2013/03/12} +\def\ExplFileVersion{4467} \RequirePackage{etex} \relax \reserveinserts{32} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty index bc53602f68f..52e7a7f3735 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3basics.dtx Copyright (C) 1990-2012 The LaTeX3 project +%% File: l3basics.dtx Copyright (C) 1990-2013 The LaTeX3 project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3basics.dtx 4339 2012-11-24 19:16:43Z joseph $ +\GetIdInfo$Id: l3basics.dtx 4428 2013-01-10 13:23:29Z bruno $ {L3 Basic definitions} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -562,7 +562,7 @@ \cs_new_protected_nopar:Npn \cs_new_eq:Nc { \exp_args:NNc \cs_new_eq:NN } \cs_new_protected_nopar:Npn \cs_new_eq:cc { \exp_args:Ncc \cs_new_eq:NN } \cs_new_protected:Npn \cs_undefine:N #1 - { \cs_gset_eq:NN #1 \c_undefined:D } + { \cs_gset_eq:NN #1 \tex_undefined:D } \cs_new_protected:Npn \cs_undefine:c #1 { \if_cs_exist:w #1 \cs_end: @@ -570,7 +570,7 @@ \else: \exp_after:wN \use_none:n \fi: - { \cs_gset_eq:cN {#1} \c_undefined:D } + { \cs_gset_eq:cN {#1} \tex_undefined:D } } \cs_set_protected:Npn \__cs_parm_from_arg_count:nnF #1#2 { @@ -845,11 +845,6 @@ \cs_new_eq:NN \__prg_break_point: \prg_do_nothing: \cs_new:Npn \__prg_break: #1 \__prg_break_point: { } \cs_new:Npn \__prg_break:n #1#2 \__prg_break_point: {#1} -\cs_new_eq:NN \str_if_eq_p:xx \str_if_eq_x_p:nn -\cs_new_eq:NN \str_if_eq:xxT \str_if_eq_x:nnT -\cs_new_eq:NN \str_if_eq:xxF \str_if_eq_x:nnF -\cs_new_eq:NN \str_if_eq:xxTF \str_if_eq_x:nnTF -\cs_new_eq:NN \chk_if_free_cs:N \__chk_if_free_cs:N %% %% %% End of file `l3basics.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty index 263ab7bf875..89dd24ceae5 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3bootstrap.dtx Copyright (C) 2011-2012 The LaTeX3 project +%% File: l3bootstrap.dtx Copyright (C) 2011-2013 The LaTeX3 project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -102,7 +102,7 @@ {% \def\ExplFileDate{#1/#2/#3}% } -\GetIdInfo$Id: l3bootstrap.dtx 3991 2012-07-16 19:00:35Z joseph $ +\GetIdInfo$Id: l3bootstrap.dtx 4420 2013-01-08 20:00:04Z joseph $ {L3 Bootstrap code} \ProvidesPackage{l3bootstrap} [% @@ -255,20 +255,6 @@ }% }% } -\protected\edef\ExplSyntaxNamesOn - {% - \expandafter\noexpand - \csname\detokenize{char_set_catcode_letter:n}\endcsname{58}% - \expandafter\noexpand - \csname\detokenize{char_set_catcode_letter:n}\endcsname{95}% - } -\protected\edef\ExplSyntaxNamesOff - {% - \expandafter\noexpand - \csname\detokenize{char_set_catcode_other:n}\endcsname{58}% - \expandafter\noexpand - \csname\detokenize{char_set_catcode_math_subscript:n}\endcsname{95}% - } %% %% %% End of file `l3bootstrap.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty index 56016c45566..af3070bcaaa 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3box.dtx 4347 2012-12-08 09:11:29Z joseph $ +\GetIdInfo$Id: l3box.dtx 4411 2013-01-08 12:21:52Z bruno $ {L3 Experimental boxes} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -81,14 +81,8 @@ { \tex_global:D \box_set_eq_clear:NN } \cs_generate_variant:Nn \box_set_eq_clear:NN { c , Nc , cc } \cs_generate_variant:Nn \box_gset_eq_clear:NN { c , Nc , cc } -\cs_new_eq:NN \box_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \box_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \box_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \box_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \box_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \box_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \box_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \box_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \box_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \box_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_eq:NN \box_ht:N \tex_ht:D \cs_new_eq:NN \box_dp:N \tex_dp:D \cs_new_eq:NN \box_wd:N \tex_wd:D diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty index 65919abf3ec..058849f5f60 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3candidates.dtx 4383 2012-12-20 15:10:48Z bruno $ +\GetIdInfo$Id: l3candidates.dtx 4466 2013-03-09 14:58:43Z joseph $ {L3 Experimental additions to l3kernel} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -785,12 +785,14 @@ \cs_new:Npn \prop_map_tokens:Nn #1#2 { \exp_last_unbraced:Nno \__prop_map_tokens:nwn {#2} #1 - \q_recursion_tail \q__prop { } + \s__prop \q_recursion_tail \s__prop { } \__prg_break_point:Nn \prop_map_break: { } } -\cs_new:Npn \__prop_map_tokens:nwn #1 \q__prop #2 \q__prop #3 +\cs_new:Npn \__prop_map_tokens:nwn #1 \s__prop #2 \s__prop #3 { - \__quark_if_recursion_tail_break:NN #2 \prop_map_break: + \if_meaning:w \q_recursion_tail #2 + \exp_after:wN \prop_map_break: + \fi: \use:n {#1} {#2} {#3} \__prop_map_tokens:nwn {#1} } @@ -1129,11 +1131,11 @@ \exp_after:wN \__peek_false:w \fi: } - \cs_new_protected_nopar:Npn \__peek_N_type:w #1 OUTER #2 \q_mark #3 + \cs_new_protected:Npn \__peek_N_type:w #1 OUTER #2 \q_mark #3 { #3 {#1} {#2} } } \group_end: -\cs_new_protected_nopar:Npn \__peek_N_type_aux:nnw #1 #2 #3 \fi: +\cs_new_protected:Npn \__peek_N_type_aux:nnw #1 #2 #3 \fi: { \fi: \tl_if_in:noTF {#1} { \tl_to_str:n {ma} } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty index 6edd2295361..c06c5498149 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty @@ -15,7 +15,7 @@ %% %% File: l3clist.dtx Copyright (C) 2004-2011 Frank Mittelbach, %% The LaTeX3 project -%% (C) 2012 The LaTeX3 Project +%% (C) 2012,2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -48,7 +48,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3clist.dtx 4339 2012-11-24 19:16:43Z joseph $ +\GetIdInfo$Id: l3clist.dtx 4414 2013-01-08 12:32:12Z bruno $ {L3 Comma separated lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -89,14 +89,8 @@ } \cs_generate_variant:Nn \clist_concat:NNN { ccc } \cs_generate_variant:Nn \clist_gconcat:NNN { ccc } -\cs_new_eq:NN \clist_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \clist_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \clist_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \clist_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \clist_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \clist_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \clist_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \clist_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \clist_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \clist_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new:Npn \__clist_trim_spaces_generic:nw #1#2 , { \__tl_trim_spaces:nn {#2} @@ -432,15 +426,6 @@ \clist_new:N \l_tmpb_clist \clist_new:N \g_tmpa_clist \clist_new:N \g_tmpb_clist -\prg_new_eq_conditional:NNn \clist__if_eq:NN \tl_if_eq:NN { p , T , F , TF } -\prg_new_eq_conditional:NNn \clist_if_eq:Nc \tl_if_eq:Nc { p , T , F , TF } -\prg_new_eq_conditional:NNn \clist_if_eq:cN \tl_if_eq:cN { p , T , F , TF } -\prg_new_eq_conditional:NNn \clist_if_eq:cc \tl_if_eq:cc { p , T , F , TF } -\cs_new_eq:NN \clist_length:N \clist_count:N -\cs_new_eq:NN \clist_length:n \clist_count:c -\cs_new_eq:NN \clist_length:c \clist_count:n -\cs_new_eq:NN \clist_use:N \tl_use:N -\cs_new_eq:NN \clist_use:c \tl_use:c %% %% %% End of file `l3clist.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls index 4aa57de4d9d..d3dd89238cb 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -4,8 +4,7 @@ %% %% The original source files were: %% -%% l3doc.dtx (with options: `class,cfg') -%% +%% l3doc.dtx (with options: `class') %% %% EXPERIMENTAL CODE %% @@ -14,7 +13,6 @@ %% %% 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 @@ -52,7 +50,7 @@ \let \fileversionOld \ExplFileVersion \let \filedescriptionOld \ExplFileDescription \RequirePackage{expl3,xparse,calc} -\GetIdInfo$Id: l3doc.dtx 4267 2012-11-04 19:42:13Z joseph $ +\GetIdInfo$Id: l3doc.dtx 4442 2013-01-13 08:56:27Z bruno $ {L3 Experimental documentation class} \ProvidesExplClass {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -960,6 +958,7 @@ { \seq_use:Nnnn \g__codedoc_tmpa_seq { \,~and~ } { \,,~ } { \,,~and~ } + \@. } { \seq_item:Nn \g__codedoc_tmpa_seq {1}\,~and~others. } @@ -1458,51 +1457,6 @@ \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/l3expan.sty b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty index 6dceea954ad..efd3425ec59 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3expan.dtx 4149 2012-08-28 10:50:40Z bruno $ +\GetIdInfo$Id: l3expan.dtx 4458 2013-02-03 15:49:37Z bruno $ {L3 Argument expansion} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty index b1a119b7fd3..f86225c08d8 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3file.dtx Copyright (C) 1990-2012 The LaTeX3 Project +%% File: l3file.dtx Copyright (C) 1990-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3file.dtx 4377 2012-12-20 11:13:29Z bruno $ +\GetIdInfo$Id: l3file.dtx 4446 2013-01-14 00:03:17Z bruno $ {L3 File and I/O operations} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -182,33 +182,12 @@ { \seq_gput_right:No \g__file_record_seq { \tl_to_str:n {#1} } } } \cs_new_eq:NN \c_term_ior \c_sixteen -\tl_const:Nn \c__ior_streams_tl - { - \c_zero - \c_one - \c_two - \c_three - \c_four - \c_five - \c_six - \c_seven - \c_eight - \c_nine - \c_ten - \c_eleven - \c_twelve - \c_thirteen - \c_fourteen - \c_fifteen - } +\seq_new:N \g__ior_streams_seq +\tl_new:N \l__ior_stream_tl \prop_new:N \g__ior_streams_prop -\prop_put:Nnn \g__ior_streams_prop { 0 } { LaTeX2e~reserved } -\int_new:N \l__ior_stream_int -\cs_set_eq:NN \__ior_new:N \newread -\cs_generate_variant:Nn \__ior_new:N { c } +\prop_gput:Nnn \g__ior_streams_prop { 0 } { LaTeX2e~reserved } \cs_new_protected:Npn \ior_new:N #1 { \cs_new_eq:NN #1 \c_term_ior } \cs_generate_variant:Nn \ior_new:N { c } -\ior_new:N \g__file_internal_ior \cs_new_protected:Npn \ior_open:Nn #1#2 { \__file_name_sanitize:nn {#2} { \__ior_open_aux:Nn #1 } } \cs_generate_variant:Nn \ior_open:Nn { c } @@ -220,7 +199,10 @@ { \__ior_open:No #1 \l__file_internal_name_tl } } \prg_new_protected_conditional:Npnn \ior_open:Nn #1#2 { T , F , TF } - { \__file_name_sanitize:nn {#2} { \__ior_open_aux:NnTF #1 } } + { \__file_name_sanitize:nn {#2} { \__ior_open:NnTF #1 } } +\cs_generate_variant:Nn \ior_open:NnT { c } +\cs_generate_variant:Nn \ior_open:NnF { c } +\cs_generate_variant:Nn \ior_open:NnTF { c } \cs_new_protected:Npn \__ior_open_aux:NnTF #1#2 { \file_add_path:nN {#2} \l__file_internal_name_tl @@ -231,71 +213,33 @@ \prg_return_true: } } -\cs_generate_variant:Nn \ior_open:NnT { c } -\cs_generate_variant:Nn \ior_open:NnF { c } -\cs_generate_variant:Nn \ior_open:NnTF { c } \cs_new_protected:Npn \__ior_open:Nn #1#2 { \ior_close:N #1 - \int_set_eq:NN \l__ior_stream_int \c_sixteen - \tl_map_function:NN \c__ior_streams_tl \__ior_alloc:n - \int_compare:nNnTF \l__ior_stream_int = \c_sixteen - { \__msg_kernel_fatal:nn { kernel } { input-streams-exhausted } } + \seq_gpop:NNTF \g__ior_streams_seq \l__ior_stream_tl + { \__ior_open_stream:Nn #1 {#2} } { - \__ior_alloc:N #1 - \prop_gput:NVn \g__ior_streams_prop \l__ior_stream_int {#2} - \tex_openin:D #1#2 \scan_stop: + \newread #1 + \tl_set:Nx \l__ior_stream_tl { \int_eval:n {#1} } + \__ior_open_stream:Nn #1 {#2} } } \cs_generate_variant:Nn \__ior_open:Nn { No } -\cs_new_protected:Npn \__ior_alloc:n #1 +\cs_new_protected:Npn \__ior_open_stream:Nn #1#2 { - \prop_if_in:NnF \g__ior_streams_prop {#1} - { - \int_set:Nn \l__ior_stream_int {#1} - \tl_map_break: - } - } -\ior_new:N \g__ior_internal_ior -\cs_new_protected:Npn \__ior_alloc:N #1 - { - \cs_if_exist:cF { g_ior_ \int_use:N \l__ior_stream_int _ior } - { - \__ior_alloc: - \int_compare:nNnT \l__ior_stream_int = \c_sixteen - { - \__ior_new:N \g__ior_internal_ior - \int_set:Nn \l__ior_stream_int { \g__ior_internal_ior } - \cs_gset_eq:cN - { g_ior_ \int_use:N \l__ior_stream_int _ior } \g__ior_internal_ior - } - } - \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l__ior_stream_int _ior } - } -\cs_new_protected_nopar:Npn \__ior_alloc: - { - \int_incr:N \l__ior_stream_int - \int_compare:nNnT \l__ior_stream_int < \c_sixteen - { - \cs_if_exist:cTF { g_ior_ \int_use:N \l__ior_stream_int _ior } - { - \prop_if_in:NVT \g__ior_streams_prop \l__ior_stream_int - { \__ior_alloc: } - } - { \__ior_alloc: } - } + \tex_global:D \tex_chardef:D #1 = \l__ior_stream_tl \scan_stop: + \prop_gput:NVn \g__ior_streams_prop #1 {#2} + \tex_openin:D #1 #2 \scan_stop: } \cs_new_protected:Npn \ior_close:N #1 { - \__chk_if_exist_cs:N #1 - \int_compare:nNnF #1 < \c_zero + \int_compare:nT { \c_minus_one < #1 < \c_sixteen } { - \int_compare:nNnF #1 > \c_fifteen - { - \tex_closein:D #1 - \prop_gremove:NV \g__ior_streams_prop #1 - \cs_gset_eq:NN #1 \c_term_ior - } + \tex_closein:D #1 + \prop_gremove:NV \g__ior_streams_prop #1 + \seq_if_in:NVF \g__ior_streams_seq #1 + { \seq_gpush:NV \g__ior_streams_seq #1 } + \cs_gset_eq:NN #1 \c_term_ior } } \cs_generate_variant:Nn \ior_close:N { c } @@ -337,16 +281,15 @@ \int_set:Nn \tex_endlinechar:D { \int_use:N \tex_endlinechar:D } } } +\ior_new:N \g__file_internal_ior \cs_new_eq:NN \c_log_iow \c_minus_one \cs_new_eq:NN \c_term_iow \c_sixteen -\cs_new_eq:NN \c__iow_streams_tl \c__ior_streams_tl +\seq_new:N \g__iow_streams_seq +\tl_new:N \l__iow_stream_tl \prop_new:N \g__iow_streams_prop \prop_put:Nnn \g__iow_streams_prop { 0 } { LaTeX2e~reserved } \prop_put:Nnn \g__iow_streams_prop { 1 } { LaTeX2e~reserved } \prop_put:Nnn \g__iow_streams_prop { 2 } { LaTeX2e~reserved } -\cs_new_eq:NN \l__iow_stream_int \l__ior_stream_int -\cs_set_eq:NN \__iow_new:N \newwrite -\cs_generate_variant:Nn \__iow_new:N { c } \cs_new_protected:Npn \iow_new:N #1 { \cs_new_eq:NN #1 \c_term_iow } \cs_generate_variant:Nn \iow_new:N { c } \cs_new_protected:Npn \iow_open:Nn #1#2 @@ -355,64 +298,30 @@ \cs_new_protected:Npn \__iow_open:Nn #1#2 { \iow_close:N #1 - \int_set_eq:NN \l__iow_stream_int \c_sixteen - \tl_map_function:NN \c__iow_streams_tl \__iow_alloc:n - \int_compare:nNnTF \l__iow_stream_int = \c_sixteen - { \__msg_kernel_fatal:nn { kernel } { output-streams-exhausted } } - { - \__iow_alloc:N #1 - \prop_gput:NVn \g__iow_streams_prop \l__iow_stream_int {#2} - \tex_immediate:D \tex_openout:D #1#2 \scan_stop: - } - } -\cs_new_protected:Npn \__iow_alloc:n #1 - { - \prop_if_in:NnF \g__iow_streams_prop {#1} - { - \int_set:Nn \l__iow_stream_int {#1} - \tl_map_break: - } - } -\iow_new:N \g__iow_internal_iow -\cs_new_protected:Npn \__iow_alloc:N #1 - { - \cs_if_exist:cF { g_iow_ \int_use:N \l__iow_stream_int _iow } + \seq_gpop:NNTF \g__iow_streams_seq \l__iow_stream_tl + { \__iow_open_stream:Nn #1 {#2} } { - \__iow_alloc: - \int_compare:nNnT \l__iow_stream_int = \c_sixteen - { - \__iow_new:N \g__iow_internal_iow - \int_set:Nn \l__iow_stream_int { \g__iow_internal_iow } - \cs_gset_eq:cN - { g_iow_ \int_use:N \l__iow_stream_int _iow } \g__iow_internal_iow - } + \newwrite #1 + \tl_set:Nx \l__iow_stream_tl { \int_eval:n {#1} } + \__iow_open_stream:Nn #1 {#2} } - \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l__iow_stream_int _iow } } -\cs_new_protected_nopar:Npn \__iow_alloc: +\cs_generate_variant:Nn \__iow_open:Nn { No } +\cs_new_protected:Npn \__iow_open_stream:Nn #1#2 { - \int_incr:N \l__iow_stream_int - \int_compare:nNnT \l__iow_stream_int < \c_sixteen - { - \cs_if_exist:cTF { g_iow_ \int_use:N \l__iow_stream_int _iow } - { - \prop_if_in:NVT \g__iow_streams_prop \l__iow_stream_int - { \__iow_alloc: } - } - { \__iow_alloc: } - } + \tex_global:D \tex_chardef:D #1 = \l__iow_stream_tl \scan_stop: + \prop_gput:NVn \g__iow_streams_prop #1 {#2} + \tex_immediate:D \tex_openout:D #1 #2 \scan_stop: } \cs_new_protected:Npn \iow_close:N #1 { - \__chk_if_exist_cs:N #1 - \int_compare:nNnF #1 < \c_zero + \int_compare:nT { \c_minus_one < #1 < \c_sixteen } { - \int_compare:nNnF #1 > \c_fifteen - { - \tex_immediate:D \tex_closeout:D #1 - \prop_gremove:NV \g__iow_streams_prop #1 - \cs_gset_eq:NN #1 \c_term_iow - } + \tex_immediate:D \tex_closeout:D #1 + \prop_gremove:NV \g__iow_streams_prop #1 + \seq_if_in:NVF \g__iow_streams_seq #1 + { \seq_gpush:NV \g__iow_streams_seq #1 } + \cs_gset_eq:NN #1 \c_term_ior } } \cs_generate_variant:Nn \iow_close:N { c } @@ -634,9 +543,6 @@ Spaces~are~not~permitted~in~files~loaded~by~LaTeX: \\ Further~errors~may~follow! } -\cs_new_protected:Npn \iow_wrap:xnnnN #1#2#3#4#5 - { \iow_wrap:nnnN {#1} {#2} {#4} #5 } -\cs_new_eq:NN \l_iow_line_length_int \l_iow_line_count_int \cs_new_eq:NN \ior_to:NN \ior_get:NN \cs_new_protected_nopar:Npn \ior_gto:NN { \tex_global:D \ior_to:NN } \cs_new_eq:NN \ior_str_to:NN \ior_get_str:NN diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty index ec67d73f5d5..6bbe576f511 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 4305 2012-11-10 08:40:25Z joseph $ +\GetIdInfo$Id: l3fp.dtx 4449 2013-01-19 23:55:05Z bruno $ {L3 Floating points} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -400,7 +400,7 @@ %% ----------------------------------------------------------------------- %% \cs_new_protected:Npn \fp_flag_off:n #1 - { \cs_set_eq:cN { l__fp_ #1 _flag_token } \c_undefined:D } + { \cs_set_eq:cN { l__fp_ #1 _flag_token } \tex_undefined:D } \cs_new:Npn \fp_flag_on:n #1 { \exp_args:Nc \use_none:n { l__fp_ #1 _flag_token } } \prg_new_conditional:Npnn \fp_if_flag_on:n #1 { p , T , F , TF } @@ -411,10 +411,10 @@ \prg_return_false: \fi: } -\cs_new_eq:NN \l__fp_invalid_operation_flag_token \c_undefined:D -\cs_new_eq:NN \l__fp_division_by_zero_flag_token \c_undefined:D -\cs_new_eq:NN \l__fp_overflow_flag_token \c_undefined:D -\cs_new_eq:NN \l__fp_underflow_flag_token \c_undefined:D +\cs_new_eq:NN \l__fp_invalid_operation_flag_token \tex_undefined:D +\cs_new_eq:NN \l__fp_division_by_zero_flag_token \tex_undefined:D +\cs_new_eq:NN \l__fp_overflow_flag_token \tex_undefined:D +\cs_new_eq:NN \l__fp_underflow_flag_token \tex_undefined:D \cs_new_protected:Npn \fp_trap:nn #1#2 { \cs_if_exist_use:cF { __fp_trap_#1_set_#2: } @@ -1917,14 +1917,8 @@ %% %% ----------------------------------------------------------------------- %% -\cs_new_eq:NN \fp_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \fp_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \fp_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \fp_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \fp_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \fp_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \fp_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \fp_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \fp_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \fp_if_exist:c \cs_if_exist:c { TF , T , F , p } \prg_new_conditional:Npnn \fp_compare:n #1 { p , T , F , TF } { \exp_after:wN \__fp_compare_return:w diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty index cd2ab964888..b104958c41f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3int.dtx Copyright (C) 1990-2012 The LaTeX3 Project +%% File: l3int.dtx Copyright (C) 1990-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3int.dtx 4237 2012-09-26 10:18:58Z bruno $ +\GetIdInfo$Id: l3int.dtx 4444 2013-01-13 20:27:20Z bruno $ {L3 Integers} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -173,14 +173,8 @@ \cs_new_protected:Npn \int_gset_eq:NN #1#2 { \tex_global:D #1 = #2 } \cs_generate_variant:Nn \int_gset_eq:NN { c } \cs_generate_variant:Nn \int_gset_eq:NN { Nc , cc } -\cs_new_eq:NN \int_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \int_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \int_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \int_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \int_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \int_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \int_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \int_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \int_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \int_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \int_add:Nn #1#2 { \tex_advance:D #1 by \__int_eval:w #2 \__int_eval_end: } \cs_new_protected:Npn \int_sub:Nn #1#2 @@ -219,46 +213,62 @@ \__prg_compare_error: } \cs_new:Npn \__prg_compare_error:Nw - #1#2 \prg_return_true: \else: \prg_return_false: \fi: + #1#2 \q_stop { + { } + \c_zero \fi: \__msg_kernel_expandable_error:nnn { kernel } { unknown-comparison } {#1} \prg_return_false: } \prg_new_conditional:Npnn \int_compare:n #1 { p , T , F , TF } { - \exp_after:wN \__int_compare_aux:Nw \int_use:N \__int_eval:w #1 - \__prg_compare_error: \__int_eval_end: - \prg_return_true: - \else: - \prg_return_false: - \fi: + \exp_after:wN \__int_compare:w + \int_use:N \__int_eval:w #1 \__prg_compare_error: + } +\cs_new:Npn \__int_compare:w #1 \__prg_compare_error: + { + \exp_after:wN \if_false: \__int_value:w + \__int_compare:Nw #1 e { = nd_ } \q_stop } -\cs_new:Npn \__int_compare_aux:Nw #1#2 \__prg_compare_error: +\cs_new:Npn \__int_compare:Nw #1#2 \q_stop { - \exp_after:wN \__int_compare_aux:NNw - \__int_to_roman:w - 0 #2 ?? \q_mark - #1#2 + \exp_after:wN \__int_compare:NNw + \__int_to_roman:w - 0 #2 \q_mark + #1#2 \q_stop } -\cs_new:Npn \__int_compare_aux:NNw #1#2#3 \q_mark +\cs_new:Npn \__int_compare:NNw #1#2#3 \q_mark { + \etex_unexpanded:D \use:c { __int_compare_ #1 \if_meaning:w = #2 = \fi: :NNw } \__prg_compare_error:Nw #1 } +\cs_new:cpn { __int_compare_end_=:NNw } #1#2#3 e #4 \q_stop + { + {#3} \exp_stop_f: + \prg_return_false: \else: \prg_return_true: \fi: + } +\cs_new:Npn \__int_compare:nnN #1#2#3 + { + {#2} \exp_stop_f: + \prg_return_false: \exp_after:wN \use_none_delimit_by_q_stop:w + \fi: + #1 #2 #3 \exp_after:wN \__int_compare:Nw \__int_value:w \__int_eval:w + } \cs_new:cpn { __int_compare_=:NNw } #1#2#3 = - { \if_int_compare:w #3 = \__int_eval:w } + { \__int_compare:nnN { \reverse_if:N \if_int_compare:w } {#3} = } \cs_new:cpn { __int_compare_<:NNw } #1#2#3 < - { \if_int_compare:w #3 < \__int_eval:w } + { \__int_compare:nnN { \reverse_if:N \if_int_compare:w } {#3} < } \cs_new:cpn { __int_compare_>:NNw } #1#2#3 > - { \if_int_compare:w #3 > \__int_eval:w } + { \__int_compare:nnN { \reverse_if:N \if_int_compare:w } {#3} > } \cs_new:cpn { __int_compare_==:NNw } #1#2#3 == - { \if_int_compare:w #3 = \__int_eval:w } + { \__int_compare:nnN { \reverse_if:N \if_int_compare:w } {#3} = } \cs_new:cpn { __int_compare_!=:NNw } #1#2#3 != - { \reverse_if:N \if_int_compare:w #3 = \__int_eval:w } + { \__int_compare:nnN { \if_int_compare:w } {#3} = } \cs_new:cpn { __int_compare_<=:NNw } #1#2#3 <= - { \reverse_if:N \if_int_compare:w #3 > \__int_eval:w } + { \__int_compare:nnN { \if_int_compare:w } {#3} > } \cs_new:cpn { __int_compare_>=:NNw } #1#2#3 >= - { \reverse_if:N \if_int_compare:w #3 < \__int_eval:w } + { \__int_compare:nnN { \if_int_compare:w } {#3} < } \prg_new_conditional:Npnn \int_compare:nNn #1#2#3 { p , T , F , TF } { \if_int_compare:w \__int_eval:w #1 #2 \__int_eval:w #3 \__int_eval_end: @@ -767,11 +777,6 @@ \int_new:N \l_tmpb_int \int_new:N \g_tmpa_int \int_new:N \g_tmpb_int -\cs_new_eq:NN \if_num:w \if_int_compare:w -\int_new:N \l_tmpc_int -\cs_new_eq:NN \int_eval:w \__int_eval:w -\cs_new_eq:NN \int_eval_end: \__int_eval_end: -\cs_new_eq:NN \int_value:w \__int_value:w %% %% %% End of file `l3int.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty index fd2cac0632c..e232f8e1645 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3keys.dtx Copyright (C) 2006-2012 The LaTeX3 Project +%% File: l3keys.dtx Copyright (C) 2006-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3keys.dtx 4256 2012-11-02 08:47:41Z joseph $ +\GetIdInfo$Id: l3keys.dtx 4461 2013-02-24 18:55:17Z joseph $ {L3 Experimental key-value interfaces} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -110,8 +110,7 @@ { \tl_if_head_eq_meaning:nNTF {#3} \q_no_value } \cs_new_protected:Npn \__keyval_split_key:n #1 { - \str_if_eq_x:nnTF - { \exp_not:N \q_nil } { \exp_not:o { \use_none:nnn #1 \q_nil \q_nil } } + \quark_if_nil:oTF { \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 } } @@ -699,7 +698,6 @@ The~key~'#1'~must~have~a~value.\\ No~value~was~present:~the~key~will~be~ignored. } -\cs_new_eq:NN \c_keys_code_root_tl \c__keys_code_root_tl %% %% %% End of file `l3keys.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty index 584b54ac427..5ceb1e0e81c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3msg.dtx Copyright (C) 2009-2012 The LaTeX3 Project +%% File: l3msg.dtx Copyright (C) 2009-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3msg.dtx 4212 2012-09-09 12:24:04Z bruno $ +\GetIdInfo$Id: l3msg.dtx 4412 2013-01-08 12:23:19Z joseph $ {L3 Messages} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -776,29 +776,6 @@ \\ > \ \ \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 } -\cs_generate_variant:Nn \msg_log:n { x } -\cs_generate_variant:Nn \msg_term:n { x } -\cs_generate_variant:Nn \msg_interrupt:nnn { xxx } -\cs_new_protected:Npn \msg_class_set:nn #1#2 - { - \cs_if_exist:cTF { __msg_ #1 _code:nnnnnn } - \cs_set_protected:cpn - \cs_new_protected:cpn - { __msg_ #1 _code:nnnnnn } ##1##2##3##4##5##6 {#2} - \prop_clear_new:c { l__msg_redirect_ #1 _prop } - \cs_set_protected_nopar:cpn { msg_ #1 :nnxxxx } - { \__msg_use:nnnnnnn {#1} } - \cs_set_protected:cpx { msg_ #1 :nnxxx } ##1##2##3##4##5 - { \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} {##3} {##4} {##5} { } } - \cs_set_protected:cpx { msg_ #1 :nnxx } ##1##2##3##4 - { \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} {##3} {##4} { } { } } - \cs_set_protected:cpx { msg_ #1 :nnx } ##1##2##3 - { \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} {##3} { } { } { } } - \cs_set_protected:cpx { msg_ #1 :nn } ##1##2 - { \exp_not:c { msg_ #1 :nnxxxx } {##1} {##2} { } { } { } { } } - } %% %% %% End of file `l3msg.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty index 4a544ab6720..957a8300b4c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3prg.dtx Copyright (C) 2005-2012 The LaTeX3 Project +%% File: l3prg.dtx Copyright (C) 2005-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3prg.dtx 4339 2012-11-24 19:16:43Z joseph $ +\GetIdInfo$Id: l3prg.dtx 4459 2013-02-13 09:21:15Z will $ {L3 Control structures} %% \ProvidesExplPackage @@ -114,14 +114,8 @@ \bool_new:N \l_tmpb_bool \bool_new:N \g_tmpa_bool \bool_new:N \g_tmpb_bool -\cs_new_eq:NN \bool_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \bool_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \bool_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \bool_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \bool_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \bool_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \bool_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \bool_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \bool_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \bool_if_exist:c \cs_if_exist:c { TF , T , F , p } \prg_new_conditional:Npnn \bool_if:n #1 { T , F , TF } { \if_predicate:w \bool_if_p:n {#1} @@ -339,15 +333,6 @@ } } \int_new:N \g__prg_map_int -\cs_new_eq:NN \prg_case_int:nnn \int_case:nnn -\cs_new_eq:NN \prg_case_str:nnn \str_case:nnn -\cs_new_eq:NN \prg_case_str:onn \str_case:onn -\cs_new_eq:NN \prg_case_str:xxn \str_case_x:nnn -\cs_new_eq:NN \prg_case_tl:Nnn \tl_case:Nnn -\cs_new_eq:NN \prg_case_tl:cnn \tl_case:cnn -\cs_new_eq:NN \prg_stepwise_function:nnnN \int_step_function:nnnN -\cs_new_eq:NN \prg_stepwise_inline:nnnn \int_step_inline:nnnn -\cs_new_eq:NN \prg_stepwise_variable:nnnNn \int_step_variable:nnnNn %% %% %% End of file `l3prg.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty index 916ff713332..85cff451ddb 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3prop.dtx Copyright (C) 1990-2012 The LaTeX3 Project +%% File: l3prop.dtx Copyright (C) 1990-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,25 +46,24 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3prop.dtx 4212 2012-09-09 12:24:04Z bruno $ +\GetIdInfo$Id: l3prop.dtx 4423 2013-01-09 00:05:30Z bruno $ {L3 Property lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \__expl_package_check: -\quark_new:N \q__prop -\tl_const:Nn \c_empty_prop { \q__prop } -\cs_new_protected:Npn \prop_new:N #1 { \cs_new_eq:NN #1 \c_empty_prop } -\cs_new_protected:Npn \prop_new:c #1 { \cs_new_eq:cN {#1} \c_empty_prop } -\cs_new_protected:Npn \prop_clear:N #1 { \cs_set_eq:NN #1 \c_empty_prop } -\cs_generate_variant:Nn \prop_clear:N { c } -\cs_new_protected:Npn \prop_gclear:N #1 { \cs_gset_eq:NN #1 \c_empty_prop } -\cs_generate_variant:Nn \prop_gclear:N { c } -\cs_new_protected:Npn \prop_clear_new:N #1 - { \prop_if_exist:NTF #1 { \prop_clear:N #1 } { \prop_new:N #1 } } -\cs_generate_variant:Nn \prop_clear_new:N { c } -\cs_new_protected:Npn \prop_gclear_new:N #1 - { \prop_if_exist:NTF #1 { \prop_gclear:N #1 } { \prop_new:N #1 } } -\cs_generate_variant:Nn \prop_gclear_new:N { c } +\__scan_new:N \s__prop +\tl_new:N \l__prop_internal_tl +\cs_new_eq:NN \c_empty_prop \c_empty_tl +\cs_new_eq:NN \prop_new:N \tl_new:N +\cs_new_eq:NN \prop_new:c \tl_new:c +\cs_new_eq:NN \prop_clear:N \tl_clear:N +\cs_new_eq:NN \prop_clear:c \tl_clear:c +\cs_new_eq:NN \prop_gclear:N \tl_gclear:N +\cs_new_eq:NN \prop_gclear:c \tl_gclear:c +\cs_new_eq:NN \prop_clear_new:N \tl_clear_new:N +\cs_new_eq:NN \prop_clear_new:c \tl_clear_new:c +\cs_new_eq:NN \prop_gclear_new:N \tl_gclear_new:N +\cs_new_eq:NN \prop_gclear_new:c \tl_gclear_new:c \cs_new_eq:NN \prop_set_eq:NN \tl_set_eq:NN \cs_new_eq:NN \prop_set_eq:Nc \tl_set_eq:Nc \cs_new_eq:NN \prop_set_eq:cN \tl_set_eq:cN @@ -79,22 +78,27 @@ \prop_new:N \g_tmpb_prop \cs_new_protected:Npn \__prop_split:NnTF #1#2 { \exp_args:NNo \__prop_split_aux:NnTF #1 { \tl_to_str:n {#2} } } -\cs_new_protected:Npn \__prop_split_aux:NnTF #1#2 +\cs_new_protected:Npn \__prop_split_aux:NnTF #1#2#3#4 { - \cs_set_protected:Npn \__prop_split_aux:w - ##1 \q__prop #2 \q__prop ##2 ##3 ##4 \q_mark ##5 \q_stop - { \__prop_split_aux:nnnn ##3 { {##1 \q__prop } {##2} {##4} } } - \exp_after:wN \__prop_split_aux:w #1 \q_mark - \q__prop #2 \q__prop { } { ? \use_ii:nn { } } \q_mark \q_stop + \cs_set:Npn \__prop_split_aux:w ##1 + \s__prop #2 \s__prop ##2 ##3 \q_mark ##4 ##5 \q_stop + { ##4 {#3} {#4} } + \exp_after:wN \__prop_split_aux:w #1 \q_mark \use_i:nn + \s__prop #2 \s__prop { } \q_mark \use_ii:nn \q_stop } -\cs_new:Npn \__prop_split_aux:nnnn #1#2#3#4 { #3 #2 } -\cs_new_protected:Npn \__prop_split_aux:w { } +\cs_new:Npn \__prop_split_aux:w { } \cs_new_protected:Npn \prop_remove:Nn #1#2 - { \__prop_split:NnTF #1 {#2} { \__prop_remove:NNnnn \tl_set:Nn #1 } { } } + { + \__prop_split:NnTF #1 {#2} + { \tl_set:Nn #1 { ##1 ##3 } } + { } + } \cs_new_protected:Npn \prop_gremove:Nn #1#2 - { \__prop_split:NnTF #1 {#2} { \__prop_remove:NNnnn \tl_gset:Nn #1 } { } } -\cs_new_protected:Npn \__prop_remove:NNnnn #1#2#3#4#5 - { #1 #2 { #3 #5 } } + { + \__prop_split:NnTF #1 {#2} + { \tl_gset:Nn #1 { ##1 ##3 } } + { } + } \cs_generate_variant:Nn \prop_remove:Nn { NV } \cs_generate_variant:Nn \prop_remove:Nn { c , cV } \cs_generate_variant:Nn \prop_gremove:Nn { NV } @@ -102,30 +106,29 @@ \cs_new_protected:Npn \prop_get:NnN #1#2#3 { \__prop_split:NnTF #1 {#2} - { \__prop_get:Nnnn #3 } + { \tl_set:Nn #3 {##2} } { \tl_set:Nn #3 { \q_no_value } } } -\cs_new_protected:Npn \__prop_get:Nnnn #1#2#3#4 - { \tl_set:Nn #1 {#3} } \cs_generate_variant:Nn \prop_get:NnN { NV , No } \cs_generate_variant:Nn \prop_get:NnN { c , cV , co } \cs_new_protected:Npn \prop_pop:NnN #1#2#3 { \__prop_split:NnTF #1 {#2} - { \__prop_pop:NNNnnn \tl_set:Nn #1 #3 } + { + \tl_set:Nn #3 {##2} + \tl_set:Nn #1 { ##1 ##3 } + } { \tl_set:Nn #3 { \q_no_value } } } \cs_new_protected:Npn \prop_gpop:NnN #1#2#3 { \__prop_split:NnTF #1 {#2} - { \__prop_pop:NNNnnn \tl_gset:Nn #1 #3 } + { + \tl_set:Nn #3 {##2} + \tl_gset:Nn #1 { ##1 ##3 } + } { \tl_set:Nn #3 { \q_no_value } } } -\cs_new_protected:Npn \__prop_pop:NNNnnn #1#2#3#4#5#6 - { - \tl_set:Nn #3 {#5} - #1 #2 { #4 #6 } - } \cs_generate_variant:Nn \prop_pop:NnN { No } \cs_generate_variant:Nn \prop_pop:NnN { c , co } \cs_generate_variant:Nn \prop_gpop:NnN { No } @@ -133,45 +136,40 @@ \prg_new_protected_conditional:Npnn \prop_pop:NnN #1#2#3 { T , F , TF } { \__prop_split:NnTF #1 {#2} - { \__prop_pop_true:NNNnnn \tl_set:Nn #1 #3 } + { + \tl_set:Nn #3 {##2} + \tl_set:Nn #1 { ##1 ##3 } + \prg_return_true: + } { \prg_return_false: } } \prg_new_protected_conditional:Npnn \prop_gpop:NnN #1#2#3 { T , F , TF } { \__prop_split:NnTF #1 {#2} - { \__prop_pop_true:NNNnnn \tl_gset:Nn #1 #3 } + { + \tl_set:Nn #3 {##2} + \tl_gset:Nn #1 { ##1 ##3 } + \prg_return_true: + } { \prg_return_false: } } -\cs_new_protected:Npn \__prop_pop_true:NNNnnn #1#2#3#4#5#6 - { - \tl_set:Nn #3 {#5} - #1 #2 { #4 #6 } - \prg_return_true: - } \cs_generate_variant:Nn \prop_pop:NnNT { c } \cs_generate_variant:Nn \prop_pop:NnNF { c } \cs_generate_variant:Nn \prop_pop:NnNTF { c } \cs_generate_variant:Nn \prop_gpop:NnNT { c } \cs_generate_variant:Nn \prop_gpop:NnNF { c } \cs_generate_variant:Nn \prop_gpop:NnNTF { c } -\cs_new_protected:Npn \prop_put:Nnn +\cs_new_protected_nopar:Npn \prop_put:Nnn { \__prop_put:NNNnn \tl_set:Nx \tl_put_right:Nx } -\cs_new_protected:Npn \prop_gput:Nnn +\cs_new_protected_nopar:Npn \prop_gput:Nnn { \__prop_put:NNNnn \tl_gset:Nx \tl_gput_right:Nx } \cs_new_protected:Npn \__prop_put:NNNnn #1#2#3#4#5 { + \tl_set:Nn \l__prop_internal_tl + { \s__prop \tl_to_str:n {#4} \s__prop { \exp_not:n {#5} } } \__prop_split:NnTF #3 {#4} - { \__prop_put:NNnnnnn #1 #3 {#4} {#5} } - { #2 #3 { \tl_to_str:n {#4} \exp_not:n { \q__prop {#5} \q__prop } } } - } -\cs_new_protected:Npn \__prop_put:NNnnnnn #1#2#3#4#5#6#7 - { - #1 #2 - { - \exp_not:n {#5} - \tl_to_str:n {#3} \exp_not:n { \q__prop {#4} \q__prop } - \exp_not:n {#7} - } + { #1 #3 { \exp_not:n {##1} \l__prop_internal_tl \exp_not:n {##3} } } + { #2 #3 { \l__prop_internal_tl } } } \cs_generate_variant:Nn \prop_put:Nnn { NnV , Nno , Nnx , NV , NVV , No , Noo } @@ -187,44 +185,29 @@ { \__prop_put_if_new:NNnn \tl_gput_right:Nx } \cs_new_protected:Npn \__prop_put_if_new:NNnn #1#2#3#4 { + \tl_set:Nn \l__prop_internal_tl + { \s__prop \tl_to_str:n {#3} \s__prop \exp_not:n { {#4} } } \__prop_split:NnTF #2 {#3} - { \use_none:nnn } - { - #1 #2 - { \tl_to_str:n {#3} \exp_not:n { \q__prop {#4} \q__prop } } - } + { } + { #1 #2 { \l__prop_internal_tl } } } \cs_generate_variant:Nn \prop_put_if_new:Nnn { c } \cs_generate_variant:Nn \prop_gput_if_new:Nnn { c } -\cs_new_eq:NN \prop_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \prop_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \prop_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \prop_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \prop_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \prop_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \prop_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \prop_if_exist_p:c \cs_if_exist_p:c -\prg_new_conditional:Npnn \prop_if_empty:N #1 { p, T , F , TF } - { - \if_meaning:w #1 \c_empty_prop - \prg_return_true: - \else: - \prg_return_false: - \fi: - } -\cs_generate_variant:Nn \prop_if_empty_p:N {c} -\cs_generate_variant:Nn \prop_if_empty:NTF {c} -\cs_generate_variant:Nn \prop_if_empty:NT {c} -\cs_generate_variant:Nn \prop_if_empty:NF {c} +\prg_new_eq_conditional:NNn \prop_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \prop_if_exist:c \cs_if_exist:c { TF , T , F , p } +\prg_new_eq_conditional:NNn \prop_if_empty:N \tl_if_empty:N + { p , T , F , TF } +\prg_new_eq_conditional:NNn \prop_if_empty:c \tl_if_empty:c + { p , T , F , TF } \prg_new_conditional:Npnn \prop_if_in:Nn #1#2 { p , T , F , TF } { \exp_last_unbraced:Noo \__prop_if_in:nwn { \tl_to_str:n {#2} } #1 - \tl_to_str:n {#2} \q__prop { } - \q_recursion_tail % could be any cs != \q__prop + \s__prop \tl_to_str:n {#2} \s__prop { } + \q_recursion_tail \__prg_break_point: } -\cs_new:Npn \__prop_if_in:nwn #1 \q__prop #2 \q__prop #3 +\cs_new:Npn \__prop_if_in:nwn #1 \s__prop #2 \s__prop #3 { \str_if_eq_x:nnTF {#1} {#2} { \__prop_if_in:N } @@ -232,7 +215,7 @@ } \cs_new:Npn \__prop_if_in:N #1 { - \if_meaning:w \q__prop #1 + \if_meaning:w \s__prop #1 \prg_return_true: \else: \prg_return_false: @@ -250,14 +233,12 @@ \prg_new_protected_conditional:Npnn \prop_get:NnN #1#2#3 { T , F , TF } { \__prop_split:NnTF #1 {#2} - { \__prop_get_true:Nnnn #3 } + { + \tl_set:Nn #3 {##2} + \prg_return_true: + } { \prg_return_false: } } -\cs_new_protected:Npn \__prop_get_true:Nnnn #1#2#3#4 - { - \tl_set:Nn #1 {#3} - \prg_return_true: - } \cs_generate_variant:Nn \prop_get:NnNT { NV , No } \cs_generate_variant:Nn \prop_get:NnNF { NV , No } \cs_generate_variant:Nn \prop_get:NnNTF { NV , No } @@ -267,12 +248,14 @@ \cs_new:Npn \prop_map_function:NN #1#2 { \exp_last_unbraced:NNo \__prop_map_function:Nwn #2 - #1 \q_recursion_tail \q__prop { } + #1 \s__prop \q_recursion_tail \s__prop { } \__prg_break_point:Nn \prop_map_break: { } } -\cs_new:Npn \__prop_map_function:Nwn #1 \q__prop #2 \q__prop #3 +\cs_new:Npn \__prop_map_function:Nwn #1 \s__prop #2 \s__prop #3 { - \__quark_if_recursion_tail_break:nN {#2} \prop_map_break: + \if_meaning:w \q_recursion_tail #2 + \exp_after:wN \prop_map_break: + \fi: #1 {#2} {#3} \__prop_map_function:Nwn #1 } @@ -285,7 +268,7 @@ \exp_last_unbraced:Nco \__prop_map_function:Nwn { __prg_map_ \int_use:N \g__prg_map_int :w } #1 - \q_recursion_tail \q__prop { } + \s__prop \q_recursion_tail \s__prop { } \__prg_break_point:Nn \prop_map_break: { \int_gdecr:N \g__prg_map_int } } \cs_generate_variant:Nn \prop_map_inline:Nn { c } @@ -299,14 +282,6 @@ { \prop_map_function:NN #1 \__msg_show_item:nn } } \cs_generate_variant:Nn \prop_show:N { c } -\cs_new_eq:NN \prop_del:Nn \prop_remove:Nn -\cs_new_eq:NN \prop_del:NV \prop_remove:NV -\cs_new_eq:NN \prop_del:cn \prop_remove:cn -\cs_new_eq:NN \prop_del:cV \prop_remove:cV -\cs_new_eq:NN \prop_gdel:Nn \prop_gremove:Nn -\cs_new_eq:NN \prop_gdel:NV \prop_gremove:NV -\cs_new_eq:NN \prop_gdel:cn \prop_gremove:cn -\cs_new_eq:NN \prop_gdel:cV \prop_gremove:cV %% %% %% End of file `l3prop.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty index 55cb5f18fb0..b80717c08ec 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3seq.dtx Copyright (C) 1990-2012 The LaTeX3 Project +%% File: l3seq.dtx Copyright (C) 1990-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3seq.dtx 4339 2012-11-24 19:16:43Z joseph $ +\GetIdInfo$Id: l3seq.dtx 4434 2013-01-12 09:33:40Z bruno $ {L3 Sequences and stacks} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -111,20 +111,12 @@ { \__seq_wrap_item:n {#1} } \cs_generate_variant:Nn \seq_set_split:Nnn { NnV } \cs_generate_variant:Nn \seq_gset_split:Nnn { NnV } -\cs_new_protected:Npn \seq_concat:NNN #1#2#3 - { \tl_set:Nx #1 { \exp_not:o {#2} \exp_not:o {#3} } } -\cs_new_protected:Npn \seq_gconcat:NNN #1#2#3 - { \tl_gset:Nx #1 { \exp_not:o {#2} \exp_not:o {#3} } } -\cs_generate_variant:Nn \seq_concat:NNN { ccc } -\cs_generate_variant:Nn \seq_gconcat:NNN { ccc } -\cs_new_eq:NN \seq_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \seq_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \seq_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \seq_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \seq_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \seq_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \seq_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \seq_if_exist_p:c \cs_if_exist_p:c +\cs_new_eq:NN \seq_concat:NNN \tl_concat:NNN +\cs_new_eq:NN \seq_gconcat:NNN \tl_gconcat:NNN +\cs_new_eq:NN \seq_concat:ccc \tl_concat:ccc +\cs_new_eq:NN \seq_gconcat:ccc \tl_gconcat:ccc +\prg_new_eq_conditional:NNn \seq_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \seq_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \seq_put_left:Nn #1#2 { \tl_put_left:Nn #1 { \__seq_item:n {#2} } } \cs_new_protected:Npn \seq_put_right:Nn #1#2 @@ -441,10 +433,6 @@ \seq_new:N \l_tmpb_seq \seq_new:N \g_tmpa_seq \seq_new:N \g_tmpb_seq -\cs_new_eq:NN \seq_length:N \seq_count:N -\cs_new_eq:NN \seq_length:c \seq_count:c -\cs_new:Npn \seq_use:N #1 { \seq_map_function:NN #1 \use:n } -\cs_generate_variant:Nn \seq_use:N { c } %% %% %% End of file `l3seq.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty index c9e6836ca2b..20f3c09ebcd 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty @@ -14,7 +14,7 @@ %% Do not distribute a modified version of this file. %% %% File: l3skip.dtx Copyright (C) 2004-2011 Frank Mittelbach, The LaTeX3 Project -%% (C) 2012 The LaTeX3 Project +%% (C) 2012,2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -47,7 +47,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3skip.dtx 4260 2012-11-04 17:20:25Z joseph $ +\GetIdInfo$Id: l3skip.dtx 4444 2013-01-13 20:27:20Z bruno $ {L3 Dimensions and skips} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -77,14 +77,8 @@ { \dim_if_exist:NTF #1 { \dim_gzero:N #1 } { \dim_new:N #1 } } \cs_generate_variant:Nn \dim_zero_new:N { c } \cs_generate_variant:Nn \dim_gzero_new:N { c } -\cs_new_eq:NN \dim_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \dim_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \dim_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \dim_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \dim_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \dim_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \dim_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \dim_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \dim_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \dim_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \dim_set:Nn #1#2 { #1 ~ \__dim_eval:w #2 \__dim_eval_end: } \cs_new_protected:Npn \dim_gset:Nn { \tex_global:D \dim_set:Nn } @@ -148,40 +142,40 @@ } \prg_new_conditional:Npnn \dim_compare:n #1 { p , T , F , TF } { - \exp_after:wN \__dim_compare_aux:w \dim_use:N \__dim_eval:w #1 - \__prg_compare_error: \__dim_eval_end: - \prg_return_true: - \else: - \prg_return_false: - \fi: + \exp_after:wN \__dim_compare:w + \dim_use:N \__dim_eval:w #1 \__prg_compare_error: } -\exp_args:Nno \use:nn - { \cs_new:Npn \__dim_compare_aux:w #1 } - { \tl_to_str:n { pt } } - #2 \__prg_compare_error: +\cs_new:Npn \__dim_compare:w #1 \__prg_compare_error: { - \exp_after:wN \__dim_compare_aux:NNw #2 ?? \q_mark - #1 pt #2 + \exp_after:wN \if_false: \tex_romannumeral:D -`0 + \__dim_compare:wNN #1 ? { = \__dim_compare_end:w \else: } \q_stop } -\cs_new:Npn \__dim_compare_aux:NNw #1#2#3 \q_mark +\exp_args:Nno \use:nn + { \cs_new:Npn \__dim_compare:wNN #1 } + { \tl_to_str:n {pt} } + #2#3 { - \use:c { __dim_compare_ #1 \if_meaning:w = #2 = \fi: :NNw } - \__prg_compare_error:Nw #1 + \if_meaning:w = #3 + \use:c { __dim_compare_#2:w } + \fi: + #1 pt \exp_stop_f: + \prg_return_false: + \exp_after:wN \use_none_delimit_by_q_stop:w + \fi: + \reverse_if:N \if_dim:w #1 pt #2 + \exp_after:wN \__dim_compare:wNN + \dim_use:N \__dim_eval:w #3 } -\cs_new:cpn { __dim_compare_=:NNw } #1#2#3 = - { \if_dim:w #3 = \__dim_eval:w } -\cs_new:cpn { __dim_compare_<:NNw } #1#2#3 < - { \if_dim:w #3 < \__dim_eval:w } -\cs_new:cpn { __dim_compare_>:NNw } #1#2#3 > - { \if_dim:w #3 > \__dim_eval:w } -\cs_new:cpn { __dim_compare_==:NNw } #1#2#3 == - { \if_dim:w #3 = \__dim_eval:w } -\cs_new:cpn { __dim_compare_!=:NNw } #1#2#3 != - { \reverse_if:N \if_dim:w #3 = \__dim_eval:w } -\cs_new:cpn { __dim_compare_<=:NNw } #1#2#3 <= - { \reverse_if:N \if_dim:w #3 > \__dim_eval:w } -\cs_new:cpn { __dim_compare_>=:NNw } #1#2#3 >= - { \reverse_if:N \if_dim:w #3 < \__dim_eval:w } +\cs_new:cpn { __dim_compare_ ! :w } + #1 \reverse_if:N #2 ! #3 = { #1 #2 = #3 } +\cs_new:cpn { __dim_compare_ = :w } + #1 \__dim_eval:w = { #1 \__dim_eval:w } +\cs_new:cpn { __dim_compare_ < :w } + #1 \reverse_if:N #2 < #3 = { #1 #2 > #3 } +\cs_new:cpn { __dim_compare_ > :w } + #1 \reverse_if:N #2 > #3 = { #1 #2 < #3 } +\cs_new:Npn \__dim_compare_end:w #1 \prg_return_false: #2 \q_stop + { #1 \prg_return_false: \else: \prg_return_true: \fi: } \cs_new:Npn \dim_case:nnn #1 { \tex_romannumeral:D @@ -305,14 +299,8 @@ { \skip_if_exist:NTF #1 { \skip_gzero:N #1 } { \skip_new:N #1 } } \cs_generate_variant:Nn \skip_zero_new:N { c } \cs_generate_variant:Nn \skip_gzero_new:N { c } -\cs_new_eq:NN \skip_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \skip_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \skip_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \skip_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \skip_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \skip_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \skip_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \skip_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \skip_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \skip_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \skip_set:Nn #1#2 { #1 ~ \etex_glueexpr:D #2 \scan_stop: } \cs_new_protected:Npn \skip_gset:Nn { \tex_global:D \skip_set:Nn } @@ -400,14 +388,8 @@ { \muskip_if_exist:NTF #1 { \muskip_gzero:N #1 } { \muskip_new:N #1 } } \cs_generate_variant:Nn \muskip_zero_new:N { c } \cs_generate_variant:Nn \muskip_gzero_new:N { c } -\cs_new_eq:NN \muskip_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \muskip_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \muskip_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \muskip_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \muskip_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \muskip_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \muskip_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \muskip_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \muskip_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \muskip_if_exist:c \cs_if_exist:c { TF , T , F , p } \cs_new_protected:Npn \muskip_set:Nn #1#2 { #1 ~ \etex_muexpr:D #2 \scan_stop: } \cs_new_protected:Npn \muskip_gset:Nn { \tex_global:D \muskip_set:Nn } @@ -443,25 +425,6 @@ \muskip_new:N \l_tmpb_muskip \muskip_new:N \g_tmpa_muskip \muskip_new:N \g_tmpb_muskip -\prg_new_conditional:Npnn \skip_if_infinite_glue:n #1 { p , T , F , TF } - { \skip_if_finite:nTF {#1} \prg_return_false: \prg_return_true: } -\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 6035dfe2f07..28148389931 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3tl.dtx Copyright (C) 1990-2012 The LaTeX3 Project +%% File: l3tl.dtx Copyright (C) 1990-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3tl.dtx 4339 2012-11-24 19:16:43Z joseph $ +\GetIdInfo$Id: l3tl.dtx 4415 2013-01-08 12:32:51Z bruno $ {L3 Token lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -95,14 +95,8 @@ { \tl_gset:Nx #1 { \exp_not:o {#2} \exp_not:o {#3} } } \cs_generate_variant:Nn \tl_concat:NNN { ccc } \cs_generate_variant:Nn \tl_gconcat:NNN { ccc } -\cs_new_eq:NN \tl_if_exist:NTF \cs_if_exist:NTF -\cs_new_eq:NN \tl_if_exist:NT \cs_if_exist:NT -\cs_new_eq:NN \tl_if_exist:NF \cs_if_exist:NF -\cs_new_eq:NN \tl_if_exist_p:N \cs_if_exist_p:N -\cs_new_eq:NN \tl_if_exist:cTF \cs_if_exist:cTF -\cs_new_eq:NN \tl_if_exist:cT \cs_if_exist:cT -\cs_new_eq:NN \tl_if_exist:cF \cs_if_exist:cF -\cs_new_eq:NN \tl_if_exist_p:c \cs_if_exist_p:c +\prg_new_eq_conditional:NNn \tl_if_exist:N \cs_if_exist:N { TF , T , F , p } +\prg_new_eq_conditional:NNn \tl_if_exist:c \cs_if_exist:c { TF , T , F , p } \tl_const:Nn \c_empty_tl { } \tl_const:Nx \c_job_name_tl { \tex_jobname:D } \tl_const:Nn \c_space_tl { ~ } @@ -743,7 +737,7 @@ } \cs_new_protected:Npn \tl_show:N #1 { - \cs_if_exist:NTF #1 + \tl_if_exist:NTF #1 { \cs_show:N #1 } { \__msg_kernel_error:nnx { kernel } { variable-not-defined } @@ -757,21 +751,6 @@ \tl_new:N \g_tmpb_tl \tl_new:N \l_tmpa_tl \tl_new:N \l_tmpb_tl -\cs_new_eq:NN \tl_length_tokens:n \tl_count_tokens:n -\cs_new_eq:NN \tl_length:N \tl_count:N -\cs_new_eq:NN \tl_length:c \tl_count:c -\cs_new_eq:NN \tl_length:n \tl_count:n -\cs_new_eq:NN \tl_length:V \tl_count:V -\cs_new_eq:NN \tl_length:o \tl_count:o -\prg_new_conditional:Npnn \tl_if_empty:x #1 { p , T , F , TF } - { \__str_if_eq_x_return:nn { } {#1} } -\prg_new_eq_conditional:NNn \tl_if_head_group:n \tl_if_head_is_group:n - { p , T , F , TF } -\prg_new_eq_conditional:NNn \tl_if_head_N_type:n \tl_if_head_is_N_type:n - { p , T , F , TF } -\prg_new_eq_conditional:NNn \tl_if_head_space:n \tl_if_head_is_space:n - { p , T , F , TF } -\cs_new:Npn \tl_tail:w #1#2 \q_stop {#2} %% %% %% End of file `l3tl.sty'. diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty index c4b3a28e6a5..5dd39858b49 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3token.dtx Copyright (C) 2005-2012 The LaTeX3 Project +%% File: l3token.dtx Copyright (C) 2005-2013 The LaTeX3 Project %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3token.dtx 4384 2012-12-20 15:47:56Z bruno $ +\GetIdInfo$Id: l3token.dtx 4428 2013-01-10 13:23:29Z bruno $ {L3 Experimental token manipulation} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -617,15 +617,13 @@ \cs_new_protected_nopar:Npn \__peek_ignore_spaces_execute_branches: { \if_meaning:w \l_peek_token \c_space_token - \tex_afterassignment:D \__peek_ignore_spaces_execute_branches_aux: - \exp_after:wN \cs_set_eq:NN - \exp_after:wN \__peek_tmp:w + \exp_after:wN \peek_after:Nw + \exp_after:wN \__peek_ignore_spaces_execute_branches: + \tex_romannumeral:D -`0 \else: \exp_after:wN \__peek_execute_branches: \fi: } -\cs_new_protected_nopar:Npn \__peek_ignore_spaces_execute_branches_aux: - { \peek_after:Nw \__peek_ignore_spaces_execute_branches: } \group_begin: \cs_set:Npn \__peek_def:nnnn #1#2#3#4 { |