From c9172879c19139ba8d262e615a535073caea2e54 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 12 Aug 2011 23:14:34 +0000 Subject: l3kernel (11aug11) git-svn-id: svn://tug.org/texlive/trunk@23524 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/l3kernel/expl3.sty | 6 +- .../texmf-dist/tex/latex/l3kernel/l3bootstrap.sty | 59 +++++++++++++--- Master/texmf-dist/tex/latex/l3kernel/l3box.sty | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3int.sty | 17 +++-- Master/texmf-dist/tex/latex/l3kernel/l3prg.sty | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3skip.sty | 2 +- Master/texmf-dist/tex/latex/l3kernel/l3tl.sty | 79 ++++++++++++++++++---- 7 files changed, 130 insertions(+), 37 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index d0ac38f18e1..73956b2e93d 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -46,8 +46,10 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: expl3.dtx 2478 2011-06-19 21:34:23Z joseph $ - {L3 Experimental code bundle wrapper} +\def\ExplFileName{expl3} +\def\ExplFileDescription{L3 Experimental code bundle wrapper} +\def\ExplFileDate{2011/08/10} +\def\ExplFileVersion{2535} %\subsubsection{Variables: scope and type} \RequirePackage{etex} \reserveinserts{32} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty index 54b4a0cf7c4..9b0e0c03fe4 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty @@ -45,13 +45,56 @@ %% prior consultation with the LaTeX3 Project. %% %% ----------------------------------------------------------------------- -\def\GetIdInfo$% - Id: #1 #2 #3-#4-#5 #6 #7 $#8% +\protected\def\GetIdInfo + { + \begingroup + \catcode 32 = 10 \relax + \GetIdInfoAuxI + } +\protected\def\GetIdInfoAuxI$#1$#2% + { + \def\tempa{#1}% + \def\tempb{Id}% + \ifx\tempa\tempb + \def\tempa + {% + \endgroup + \def\ExplFileDate{9999/99/99}% + \def\ExplFileDescription{#2}% + \def\ExplFileName{[unknown name]}% + \def\ExplFileExtension{[unknown extension]}% + \def\ExplFileVersion{999}% + }% + \else + \def\tempa + {% + \endgroup + \GetIdInfoAuxII$#1${#2}% + }% + \fi + \tempa + } +\protected\def\GetIdInfoAuxII$#1 #2.#3 #4 #5 #6 #7 #8$#9% {% - \def\ExplFileDate{#3/#4/#5}% - \def\ExplFileVersion{#2}% + \def\ExplFileName{#2}% + \def\ExplFileExtension{#3}% + \def\ExplFileVersion{#4}% + \def\ExplFileDescription{#9}% + \GetIdInfoAuxIII#5\relax#3\relax#5\relax#6\relax } -\GetIdInfo$Id: l3bootstrap.dtx 2478 2011-06-19 21:34:23Z joseph $ +\protected\def\GetIdInfoAuxIII#1#2#3#4#5#6\relax + {% + \ifx#5/% + \expandafter\GetIdInfoAuxCVS + \else + \expandafter\GetIdInfoAuxSVN + \fi + } +\protected\def\GetIdInfoAuxCVS#1,v\relax#2\relax#3\relax + {\def\ExplFileDate{#2}} +\protected\def\GetIdInfoAuxSVN#1\relax#2-#3-#4\relax#5Z\relax + {\def\ExplFileDate{#2/#3/#4}} +\GetIdInfo$Id: l3bootstrap.dtx 2519 2011-08-08 09:35:54Z mittelba $ {L3 experimental bootstrap code} \ProvidesPackage{l3bootstrap} [% @@ -112,10 +155,10 @@ \def\tempa {% \endgroup - \def\ExplFileDate{0000/00/00}% + \def\ExplFileDate{9999/99/99}% \def\ExplFileDescription{#2}% - \def\ExplFileName{[unknown~name]}% - \def\ExplFileVersion{000}% + \def\ExplFileName{[unknown name]}% + \def\ExplFileVersion{999}% }% \else \def\tempa diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty index 68db799fdf3..2b2175e3d7c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3box.dtx 2478 2011-06-19 21:34:23Z joseph $ +\GetIdInfo$Id: l3box.dtx 2526 2011-08-09 08:58:42Z joseph $ {L3 Experimental boxes} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty index 7f009832fcf..be7df6fe8c9 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty @@ -46,19 +46,18 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3int.dtx 2478 2011-06-19 21:34:23Z joseph $ +\GetIdInfo$Id: l3int.dtx 2526 2011-08-09 08:58:42Z joseph $ {L3 Experimental integers} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} \package_check_loaded_expl: -\cs_set_eq:NN \int_value:w \tex_number:D -\cs_set_eq:NN \int_eval:w \etex_numexpr:D -\cs_new_eq:NN \int_eval_end: \tex_relax:D -\cs_new_eq:NN \if_num:w \tex_ifnum:D -\cs_set_eq:NN \if_int_odd:w \tex_ifodd:D -\cs_new_eq:NN \if_case:w \tex_ifcase:D -\cs_new:Npn \int_eval:n #1 - { \int_value:w \int_eval:w #1 \int_eval_end: } +\cs_new_eq:NN \int_value:w \tex_number:D +\cs_new_eq:NN \int_eval:w \etex_numexpr:D +\cs_new_eq:NN \int_eval_end: \tex_relax:D +\cs_new_eq:NN \if_num:w \tex_ifnum:D +\cs_new_eq:NN \if_int_odd:w \tex_ifodd:D +\cs_new_eq:NN \if_case:w \tex_ifcase:D +\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 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty index 4a20c040547..349cb85655d 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3prg.dtx 2495 2011-07-06 16:57:08Z bruno $ +\GetIdInfo$Id: l3prg.dtx 2509 2011-08-07 11:21:26Z bruno $ {L3 Experimental control structures} %% \ProvidesExplPackage diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty index ae4a46fc805..787981891fd 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3skip.dtx 2478 2011-06-19 21:34:23Z joseph $ +\GetIdInfo$Id: l3skip.dtx 2526 2011-08-09 08:58:42Z joseph $ {L3 Experimental dimensions and skips} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty index 34238f643f0..e86c27e6c34 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty @@ -46,7 +46,7 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3tl.dtx 2498 2011-07-09 17:51:47Z joseph $ +\GetIdInfo$Id: l3tl.dtx 2534 2011-08-10 18:21:44Z joseph $ {L3 Experimental token lists} \ProvidesExplPackage {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} @@ -498,24 +498,29 @@ \group_end: \cs_generate_variant:Nn \tl_trim_spaces:N { c } \cs_generate_variant:Nn \tl_gtrim_spaces:N { c } -\cs_new:Npn \tl_head:n #1 { \tl_head:w #1 \q_stop } -\cs_new:Npn \tl_tail:n #1 { \tl_tail:w #1 \q_stop } \cs_new:Npn \tl_head:w #1#2 \q_stop {#1} \cs_new:Npn \tl_tail:w #1#2 \q_stop {#2} +\cs_new:Npn \tl_head:n #1 + { \tl_if_blank:nF {#1} { \tl_head:w #1 \q_stop } } +\cs_new:Npn \tl_tail:n #1 + { \tl_if_blank:nF {#1} { \tl_tail:w #1 \q_stop } } \cs_generate_variant:Nn \tl_head:n { V , v , f } \cs_generate_variant:Nn \tl_tail:n { V , v , f } -\prg_new_conditional:Npnn \tl_if_head_eq_meaning:nN #1#2 { p , T , F , TF } +\cs_new:Npn \str_head:n #1 { - \exp_after:wN \if_meaning:w \tl_head:w #1 \q_stop #2 - \prg_return_true: - \else: - \prg_return_false: - \fi: + \exp_after:wN \str_head_aux:w + \tl_to_str:n {#1} + { \scan_stop: } ~ \q_stop } +\cs_new_nopar:Npn \str_head_aux:w #1 ~ % + { \tl_head:w #1 { ~ } } \prg_new_conditional:Npnn \tl_if_head_eq_charcode:nN #1#2 { p , T , F , TF } { - \exp_after:wN \if:w - \exp_after:wN \exp_not:N \tl_head:w #1 \q_stop \exp_not:N #2 + \if_charcode:w + \exp_not:N #2 + \str_if_eq:onTF { \use:n #1 ? } { #1 ? } + { \exp_after:wN \exp_not:N \tl_head:w #1 \q_nil \q_stop } + { \str_head:n {#1} } \prg_return_true: \else: \prg_return_false: @@ -525,11 +530,55 @@ \cs_generate_variant:Nn \tl_if_head_eq_charcode:nNTF { f } \cs_generate_variant:Nn \tl_if_head_eq_charcode:nNT { f } \cs_generate_variant:Nn \tl_if_head_eq_charcode:nNF { f } -\prg_new_conditional:Npnn \tl_if_head_eq_catcode:nN #1#2 { p , T , F , TF } +\prg_new_conditional:Npnn \tl_if_head_eq_catcode:nN #1 #2 { p , T , F , TF } + { + \if_catcode:w + \exp_not:N #2 + \str_if_eq:onTF { \use:n #1 ? } { #1 ? } + { \exp_after:wN \exp_not:N \tl_head:w #1 \q_nil \q_stop } + { + \tl_if_head_begin_group:nTF {#1} + { \c_group_begin_token } + { \c_space_token } + } + \prg_return_true: + \else: + \prg_return_false: + \fi: + } +\prg_new_conditional:Npnn \tl_if_head_eq_meaning:nN #1#2 { p , T , F , TF } { - \exp_after:wN \if_catcode:w \exp_after:wN \exp_not:N - \tl_head:w #1 \q_stop \exp_not:N #2 - \prg_return_true: \else: \prg_return_false: \fi: + \str_if_eq:onTF { \use:n #1 ? } { #1 ? } + { \tl_if_head_eq_meaning_aux_normal:nN } + { \tl_if_head_eq_meaning_aux_special:nN } + {#1} #2 + } +\cs_new:Npn \tl_if_head_eq_meaning_aux_normal:nN #1 #2 + { + \exp_after:wN \if_meaning:w \tl_head:w #1 \q_nil \q_stop #2 + \prg_return_true: + \else: + \prg_return_false: + \fi: + } +\cs_new:Npn \tl_if_head_eq_meaning_aux_special:nN #1 #2 + { + \if_charcode:w \str_head:n {#1} \exp_not:N #2 + \exp_after:wN \use:n + \else: + \prg_return_false: + \exp_after:wN \use_none:n + \fi: + { + \if_catcode:w \exp_not:N #2 + \tl_if_head_begin_group:nTF {#1} + { \c_group_begin_token } + { \c_space_token } + \prg_return_true: + \else: + \prg_return_false: + \fi: + } } \cs_new_protected:Npn \tl_show:N #1 { \cs_show:N #1 } \cs_generate_variant:Nn \tl_show:N { c } -- cgit v1.2.3