diff options
author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2008-07-29 11:23:34 +0000 |
---|---|---|
committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2008-07-29 11:23:34 +0000 |
commit | ef285e6a49a93af098150d0b3125a34d3477ba55 (patch) | |
tree | 124a55595390d358e0cda8ae26f78e9a263e9a21 /Master/texmf-dist/tex/latex/expl3/l3quark.sty | |
parent | e7477f362711cc9d05dfa1ee71301fb34cce2d94 (diff) |
expl3 update (2008/06/20)
git-svn-id: svn://tug.org/texlive/trunk@9869 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3quark.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/expl3/l3quark.sty | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3quark.sty b/Master/texmf-dist/tex/latex/expl3/l3quark.sty index fd88bfa9cfa..c766400bcbb 100644 --- a/Master/texmf-dist/tex/latex/expl3/l3quark.sty +++ b/Master/texmf-dist/tex/latex/expl3/l3quark.sty @@ -48,8 +48,10 @@ %% %% ----------------------------------------------------------------------- \RequirePackage{l3names} -\GetIdInfo$Id: l3quark.dtx 573 2006-08-21 20:59:37Z morten $ +\GetIdInfo$Id: l3quark.dtx 705 2007-12-02 22:14:25Z morten $ {L3 Experimental Quark Commands} +\ProvidesExplPackage + {\filename}{\filedate}{\fileversion}{\filedescription} \RequirePackage{l3expan}\par \def_new:Npn \quark_new:N #1{\tlp_new:Nn #1{#1}} \quark_new:N \q_stop @@ -57,6 +59,48 @@ \quark_new:N \q_nil \quark_new:N\q_error \quark_new:N\q_mark +\quark_new:N\q_recursion_tail +\quark_new:N\q_recursion_stop +\def_long_new:Npn \quark_if_recursion_tail_stop:n #1 { + \exp_after:NN\if_meaning:NN + \quark_if_recursion_tail_aux:w #1?\q_nil\q_recursion_tail\q_recursion_tail + \exp_after:NN \use_none_delimit_by_q_recursion_stop:w + \fi: +} +\def_long_new:Npn \quark_if_recursion_tail_stop:N #1 { + \if_meaning:NN#1\q_recursion_tail + \exp_after:NN \use_none_delimit_by_q_recursion_stop:w + \fi: +} +\def_new:Npn \quark_if_recursion_tail_stop:o{ + \exp_args:No\quark_if_recursion_tail_stop:n +} +\def_long_new:Npn \quark_if_recursion_tail_stop_do:nn #1#2 { + \exp_after:NN\if_meaning:NN + \quark_if_recursion_tail_aux:w #1?\q_nil\q_recursion_tail + \exp_after:NN \use_arg_i_delimit_by_q_recursion_stop:nw + \else: + \exp_after:NN\use_none:n + \fi: + {#2} +} +\def_long_new:Npn \quark_if_recursion_tail_stop_do:Nn #1#2 { + \if_meaning:NN #1\q_recursion_tail + \exp_after:NN \use_arg_i_delimit_by_q_recursion_stop:nw + \else: + \exp_after:NN\use_none:n + \fi: + {#2} +} +\def_new:Npn \quark_if_recursion_tail_stop_do:on{ + \exp_args:No\quark_if_recursion_tail_stop_do:nn +} +\def_long_new:Npn \quark_if_recursion_tail_aux:w + #1#2\q_nil\q_recursion_tail{#1} +\def_long_new:Npn\use_none_delimit_by_q_recursion_stop:w + #1\q_recursion_stop {} +\def_long_new:Npn\use_arg_i_delimit_by_q_recursion_stop:nw + #1#2\q_recursion_stop {#1} \def_long_test_function_new:npn {quark_if_no_value:N} #1 { \if_meaning:NN\q_no_value#1} \def_long_new:Npn \quark_if_no_value_p:N #1{ |