summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/expl3/l3expan.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/expl3/l3expan.dtx')
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3expan.dtx42
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}
%