From 4562c8ef52feafaa80dee3acb04703260908e35f Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Sun, 22 Jun 2008 11:23:03 +0000 Subject: xbase 2008/06/20 git-svn-id: svn://tug.org/texlive/trunk@8930 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/xbase/ldcsetup.sty | 23 ++++++------- Master/texmf-dist/tex/latex/xbase/template.sty | 47 +++++++++++++++----------- Master/texmf-dist/tex/latex/xbase/xparse.sty | 12 ++++--- 3 files changed, 46 insertions(+), 36 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/xbase/ldcsetup.sty b/Master/texmf-dist/tex/latex/xbase/ldcsetup.sty index 286097bd17c..57d5e448d17 100644 --- a/Master/texmf-dist/tex/latex/xbase/ldcsetup.sty +++ b/Master/texmf-dist/tex/latex/xbase/ldcsetup.sty @@ -20,7 +20,7 @@ %% ====================================================================== %% %% File: ldcsetup.dtx (C) Copyright 1999 Frank Mittelbach, Chris Rowley, David Carlisle -%% (C) Copyright 2004-2006 Frank Mittelbach, LaTeX3 Project +%% (C) Copyright 2004-2007 Frank Mittelbach, 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 @@ -54,11 +54,12 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: ldcsetup.dtx 574 2006-08-21 23:30:10Z morten $ +\GetIdInfo$Id: ldcsetup.dtx 636 2007-09-12 20:03:06Z mittelba $ {coding conventions and stuff} -\CodeStop -\RequirePackage{keyval,calc} -\makeatletter +\ProvidesExplPackage + {\filename}{\filedate}{\fileversion}{\filedescription} +\RequirePackage{keyval,l3calc} +\ExplSyntaxOff %% Puts an ignored space at the end of the line, so `|\ |' does the right \def\IgnoreWhiteSpace{% \edef\@tempa{% @@ -111,7 +112,7 @@ \relax } \let\InternalSyntaxOff\relax -\IgnoreWhiteSpace +\ExplSyntaxOn \def\define@key#1#2{% \@ifnextchar[ {\KV@def{#1}{\string#2}} @@ -180,13 +181,11 @@ \expandafter \endgroup \the\KV@toks} -\let\SetInternalCounter\calc@assign@count -\def\GsetInternalCounter#1{\SetInternalCounter{\global#1}} -\def\gsetlength#1{\setlength{\global#1}} +\let:NN \SetInternalCounter \calc_int_set:Nn +\let:NN \GSetInternalCounter\calc_int_gset:Nn \def\UndeclareRobustCommand#1{% - \global\let#1\undefined - \global\expandafter - \let\csname\expandafter\@gobble\string#1~\endcsname\undefined + \cs_gundefine:N #1 + \exp_args:Nc \cs_gundefine:N {\cs_to_str:N #1~} } \endinput %% diff --git a/Master/texmf-dist/tex/latex/xbase/template.sty b/Master/texmf-dist/tex/latex/xbase/template.sty index 53365373ddb..1a00efd1107 100644 --- a/Master/texmf-dist/tex/latex/xbase/template.sty +++ b/Master/texmf-dist/tex/latex/xbase/template.sty @@ -20,7 +20,7 @@ %% ====================================================================== %% %% File: template.dtx (C) Copyright 1999-2001 David Carlisle, Frank Mittelbach -%% (C) Copyright 2004-2006 Frank Mittelbach, LaTeX3 Project +%% (C) Copyright 2004-2007 Frank Mittelbach, 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 @@ -54,12 +54,12 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: template.dtx 584 2006-12-12 17:29:34Z morten $ +\GetIdInfo$Id: template.dtx 652 2007-09-21 20:35:36Z morten $ {template} - +\ProvidesExplPackage + {\filename}{\filedate}{\fileversion}{\filedescription} \RequirePackage{ldcsetup,xparse} -\RequirePackage{l3toks,l3tlp,l3skip,l3int,l3clist,l3token} -\CodeStart +\RequirePackage{l3toks,l3tlp,l3skip,l3int,l3clist,l3token,l3calc} \toks_new:N\l_TP_KV_assignments_toks \toks_new:N\l_TP_default_assignments_toks \def_new:NNn \TP_declare_instance:Nnn 3{ @@ -92,14 +92,15 @@ #1} \toks_new:N \g_TP_assignments_stack_toks \toks_gset:Nn \g_TP_assignments_stack_toks {\scan_stop:}% avoid brace loss -\def_new:Npn \TP_push_assignments:n{ - \tex_afterassignment:D \TP_push_assignments: - \l_TP_KV_assignments_toks} +\def_long_new:Npn \TP_push_assignments:n#1{ + \toks_gput_left:Nn\g_TP_assignments_stack_toks{{#1}} +} \def_new:Npn \TP_push_assignments:{ \toks_gset:No \g_TP_assignments_stack_toks {\exp_after:NN {\toks_use:N\exp_after:NN\l_TP_KV_assignments_toks\exp_after:NN} - \toks_use:N\g_TP_assignments_stack_toks}} + \toks_use:N\g_TP_assignments_stack_toks} +} \def_new:NNn \DeclareTemplateType 2{ \tlp_set:cn {TP@<#1>} {{}#2}} \def_new:Npn \TP_get_csname_prefix:n#1{ @@ -383,7 +384,7 @@ \TP_templdecl_multiselection:nnnn ##1 \group_end: \toks_put_right:Nx\l_TP_KV_assignments_toks { - \exp_not:n{\tlp_set:No #1} { \toks_use:N \g_TP_multiselection_toks} + \exp_not:n{\tlp_set:Nf #1} { \toks_use:N \g_TP_multiselection_toks} } } { @@ -395,8 +396,12 @@ } \def_new:Npn \TP_templdecl_multiselection:nnnn #1#2#3#4{ \toks_gset:Nn \g_TP_multiselection_toks {\if_case:w #2} - \clist_map_inline:nn {#3}{ \TP_multiselection_add_or_case:n {##1} } - \toks_gput_right:Nn\g_TP_multiselection_toks { \else: #4\fi: } + \clist_map_inline:nn {#3}{ + \TP_multiselection_add_or_case:n {\exp_stop_f:##1} + } + \toks_gput_right:Nn\g_TP_multiselection_toks { + \else: \use_arg_i_after_fi:nw { \exp_stop_f: #4} \fi: + } } \def_new:Npn \DeclareInstance { \DeclareCollectionInstance{} } \def_long_new:Npn \DeclareCollectionInstance#1#2#3#4{ @@ -450,9 +455,9 @@ { \toks_set:No \l_tmpa_toks {\use_arg_ii:nn ##1} \toks_put_right:Nx \l_TP_KV_assignments_toks { - {\exp_not:n{#1#2}{\toks_use:N \l_tmpa_toks} + \exp_not:n{#1#2}{\toks_use:N \l_tmpa_toks} \exp_not:n{ \def:Npx #3{\toks_use:N#2} } - } + } } { @@ -482,16 +487,20 @@ } { #1#2{##1} - \TP_multiselection_add_or_case:n { \toks_use:N #2 } + \TP_multiselection_add_or_case:o { \toks_use:N #2 } } } - \toks_gput_right:Nn \g_TP_multiselection_toks { \else: #6\fi: } + \toks_gput_right:Nn \g_TP_multiselection_toks { + \else: \use_arg_i_after_fi:nw{#6}\fi: + } } \def_new:Npn \TP_multiselection_add_or_case:n #1 { - \toks_gput_right:Nn \g_TP_multiselection_toks { \or: #1 } + \toks_gput_right:Nn \g_TP_multiselection_toks { + \or: \use_arg_i_after_orelse:nw{#1} + } } \def_new:Npn \TP_multiselection_add_or_case:o { - \exp_args:NNo \TP_multiselection_add_or_case:n + \exp_args:No \TP_multiselection_add_or_case:n } \def_new:Npn \IfExistsInstanceTF#1#2{ \cs_if_exist:cTF{<>#1/#2} @@ -513,7 +522,7 @@ \setkeys {\cs:w TPO>/#1/#3\cs_end:}{#4} - \tlp_set:co { TPR>/#1/#2 } + \tlp_set:cx { TPR>/#1/#2 } { \toks_use:N \l_TP_KV_assignments_toks } \cs_if_free:cTF { TPO>/#1/#3 } { \tlp_set:cn {TPO>/#1/#2}{#1/#3} } diff --git a/Master/texmf-dist/tex/latex/xbase/xparse.sty b/Master/texmf-dist/tex/latex/xbase/xparse.sty index 05e4758cf52..193844abbdf 100644 --- a/Master/texmf-dist/tex/latex/xbase/xparse.sty +++ b/Master/texmf-dist/tex/latex/xbase/xparse.sty @@ -20,7 +20,7 @@ %% ====================================================================== %% %% File: xparse.dtx (C) Copyright 1999 Frank Mittelbach, Chris Rowley, David Carlisle -%% (C) Copyright 2004-2006 Frank Mittelbach, LaTeX3 Project +%% (C) Copyright 2004-2007 Frank Mittelbach, 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 @@ -54,8 +54,10 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3names} -\GetIdInfo$Id: xparse.dtx 574 2006-08-21 23:30:10Z morten $ +\GetIdInfo$Id: xparse.dtx 700 2007-11-27 14:18:29Z morten $ {generic document command parser} +\ProvidesExplPackage + {\filename}{\filedate}{\fileversion}{\filedescription} \RequirePackage{l3tlp,l3num,l3toks,l3prg,l3int,l3seq,l3token} \def_new:NNn \xparse_already_defined_error_msg:N 1 { \xparse_error:x { @@ -497,9 +499,9 @@ } } \DeclareArgumentTypeShorthand s {S{*}} -\let_new:NN \IfBooleanTF \prg_if_predicate:nTF -\let_new:NN \IfBooleanT \prg_if_predicate:nT -\let_new:NN \IfBooleanF \prg_if_predicate:nF +\let_new:NN \IfBooleanTF \bool_if:NTF +\let_new:NN \IfBooleanT \bool_if:NT +\let_new:NN \IfBooleanF \bool_if:NF \tlp_new:Nn \NoValue {-NoValue-} \tlp_new:Nn \c_xparse_hidden_no_value_tlp {\NoValue} \def_long_new:Npn \xparse_if_no_value:nTF #1{ -- cgit v1.2.3