diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/expl3/l3expan.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/expl3/l3expan.dtx | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/Master/texmf-dist/source/latex/expl3/l3expan.dtx b/Master/texmf-dist/source/latex/expl3/l3expan.dtx index a3f116a47a1..617e3f27572 100644 --- a/Master/texmf-dist/source/latex/expl3/l3expan.dtx +++ b/Master/texmf-dist/source/latex/expl3/l3expan.dtx @@ -36,7 +36,7 @@ \RequirePackage{l3names} %</driver|package> %\fi -\GetIdInfo$Id: l3expan.dtx 1464 2009-08-16 11:02:19Z joseph $ +\GetIdInfo$Id: l3expan.dtx 1673 2009-11-02 05:40:42Z will $ {L3 Experimental Argument Expansion module} %\iffalse %<*driver> @@ -210,14 +210,20 @@ % try to finish any "\if... \fi:" itself! % % -% When pdf\TeX\ 1.50 arrives, it will contain a primitive for -% performing the equivalent of an "x" expansion after only one -% expansion and most importantly: as an expandable operation. % \begin{function}{\exp_arg:x} % \begin{syntax} % "\exp_arg:x" \Arg{arg} % \end{syntax} % <arg> is expanded fully using an "x" expansion. +% +% When pdf\TeX\ 1.50 arrives, it will contain a primitive for +% performing the equivalent of an "x" expansion after only one +% expansion and most importantly: as an expandable operation. +% +% However, we will not be using the expandable command "\expanded" +% until it is broadly available; note that as of \TeX~Live~2009, +% only Lua\TeX\ supports this primitive. Until further notice, +% "\exp_arg:x" will remain \emph{unexpandable}. % \end{function} % % @@ -672,21 +678,23 @@ % \end{macro} % % \begin{macro}{\::x,\exp_arg:x} -% This function is used to expand an argument fully. If the -% pdf\TeX\ primitive "\expanded" is present, we use it. +% This function is used to expand an argument fully. +% We could use the new expandable primitive "\expanded" here, but we +% don't want to create incompatibilities between engines. % \begin{macrocode} -\cs_new_eq:NN \exp_arg:x \expanded % Move eventually. -\cs_if_free:NTF\exp_arg:x{ - \cs_new:Npn\::x#1\:::#2#3{ - \cs_set_nopar:Npx \l_exp_tl{{#3}} - \exp_after:wN\exp_arg_next:nnn\l_exp_tl{#1}{#2}} -} -{ - \cs_new:Npn\::x#1\:::#2#3{ - \exp_after:wN\exp_arg_next:nnn - \exp_after:wN{\exp_arg:x{{#3}}}{#1}{#2} +%%\cs_new_eq:NN \exp_arg:x \expanded % Move eventually. +%%\cs_if_free:NTF\exp_arg:x{ + \cs_new:Npn \::x #1 \::: #2#3 { + \cs_set_nopar:Npx \l_exp_tl {{#3}} + \exp_after:wN \exp_arg_next:nnn \l_exp_tl {#1}{#2} } -} +%%} +%%{ +%% \cs_new:Npn\::x#1\:::#2#3{ +%% \exp_after:wN\exp_arg_next:nnn +%% \exp_after:wN{\exp_arg:x{#3}}{#1}{#2} +%% } +%%} % \end{macrocode} % \end{macro} % |