summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/expl3/l3basics.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-06 23:20:13 +0000
committerKarl Berry <karl@freefriends.org>2009-09-06 23:20:13 +0000
commit2b8eb47b09b2d853b8243d0fb61b408edb3d04a7 (patch)
treed581f2afc11c2d53246c31da8a8a7de24c855b0c /Master/texmf-dist/source/latex/expl3/l3basics.dtx
parentd9919f44994077f178b0ebda415a1638f8acc0ec (diff)
expl3 1509 (5sep09)
git-svn-id: svn://tug.org/texlive/trunk@15163 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/expl3/l3basics.dtx')
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3basics.dtx106
1 files changed, 56 insertions, 50 deletions
diff --git a/Master/texmf-dist/source/latex/expl3/l3basics.dtx b/Master/texmf-dist/source/latex/expl3/l3basics.dtx
index 3604d0f2244..56132002658 100644
--- a/Master/texmf-dist/source/latex/expl3/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3basics.dtx
@@ -35,7 +35,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3basics.dtx 1414 2009-06-16 07:34:57Z joseph $
+\GetIdInfo$Id: l3basics.dtx 1453 2009-08-08 14:38:49Z joseph $
{L3 Experimental basic definitions}
%\iffalse
%<*driver>
@@ -1750,12 +1750,18 @@
%
% \subsection{Expansion control from l3expan}
%
+%\ExplSyntaxOn
+% \cs_set_eq:NN \g_saved_doc_macros_seq \g_doc_macros_seq
+%\ExplSyntaxOff
% \begin{macro}{\exp_args:Nc}
% Moved here for now as it is going to be used right away.
% \begin{macrocode}
\cs_set:Npn \exp_args:Nc #1#2{\exp_after:wN#1\cs:w#2\cs_end:}
% \end{macrocode}
% \end{macro}
+%\ExplSyntaxOn
+% \cs_set_eq:NN \g_doc_macros_seq \g_saved_doc_macros_seq
+%\ExplSyntaxOff
%
% \subsection{Conditional processing and definitions}
%
@@ -1775,6 +1781,10 @@
% obscures the code and forces the \TeX\ programmer to prove that
% he/she knows the $2^{n}-1$ table. We therefore provide the simpler
% interface.
+%
+%\ExplSyntaxOn
+% \cs_set_eq:NN \g_saved_doc_macros_seq \g_doc_macros_seq
+%\ExplSyntaxOff
%
% \begin{macro}{\prg_return_true:}
% \begin{macro}{\prg_return_false:}
@@ -1875,6 +1885,22 @@
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\prg_set_eq_conditional:NNn,\prg_new_eq_conditional:NNn}
+% The obvious setting-equal functions.
+% \begin{macrocode}
+\cs_set:Npn \prg_set_eq_conditional:NNn #1#2#3 {
+ \prg_set_eq_conditional_aux:NNNn \cs_set_eq:cc #1#2 {#3}
+}
+\cs_set:Npn \prg_new_eq_conditional:NNn #1#2#3 {
+ \prg_set_eq_conditional_aux:NNNn \cs_new_eq:cc #1#2 {#3}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%\ExplSyntaxOn
+% \cs_set_eq:NN \g_doc_macros_seq \g_saved_doc_macros_seq
+%\ExplSyntaxOff
%
% \begin{macro}[aux]{\prg_get_parm_aux:nw,\prg_get_count_aux:nn}
% For the "Npnn" type we must grab the parameter text before
@@ -1984,6 +2010,35 @@
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}[aux]{\prg_set_eq_conditional_aux:NNNn,
+% \prg_set_eq_conditional_aux:NNNw}
+% \begin{macrocode}
+\cs_set:Npn \prg_set_eq_conditional_aux:NNNn #1#2#3#4 {
+ \prg_set_eq_conditional_aux:NNNw #1#2#3#4,?,\q_recursion_stop
+}
+% \end{macrocode}
+% Manual clist loop over argument "#4".
+% \begin{macrocode}
+\cs_set:Npn \prg_set_eq_conditional_aux:NNNw #1#2#3#4, {
+ \if:w ? #4 \scan_stop:
+ \exp_after:wN \use_none_delimit_by_q_recursion_stop:w
+ \fi:
+ #1 {
+ \exp_args:NNc \cs_split_function:NN #2 {prg_conditional_form_#4:nnn}
+ }{
+ \exp_args:NNc \cs_split_function:NN #3 {prg_conditional_form_#4:nnn}
+ }
+ \prg_set_eq_conditional_aux:NNNw #1{#2}{#3}
+}
+% \end{macrocode}
+% \begin{macrocode}
+\cs_set:Npn \prg_conditional_form_p:nnn #1#2#3 {#1_p:#2}
+\cs_set:Npn \prg_conditional_form_TF:nnn #1#2#3 {#1:#2TF}
+\cs_set:Npn \prg_conditional_form_T:nnn #1#2#3 {#1:#2T}
+\cs_set:Npn \prg_conditional_form_F:nnn #1#2#3 {#1:#2F}
+% \end{macrocode}
+% \end{macro}
%
% All that is left is to define the canonical boolean true and false.
% I think Michael originated the idea of expandable boolean tests. At
@@ -3226,55 +3281,6 @@
% \end{macro}
% \end{macro}
%
-% Finally some code that is needed as we do not distribute the file
-% module at the moment (so we simply define the needed function via an
-% existing \LaTeX{} command) and some other stuff which was set up
-% elsewhere, in undistributed modules.
-% \begin{macrocode}
-\cs_new_nopar:Npn\file_not_found:nTF #1#2#3{\IfFileExists{#1}{#3}{#2}}
-% \end{macrocode}
-%
-%
-%
-% \begin{macro}{\prg_set_eq_conditional:NNn,\prg_new_eq_conditional:NNn}
-% \begin{macrocode}
-\cs_set:Npn \prg_set_eq_conditional:NNn #1#2#3 {
- \prg_set_eq_conditional_aux:NNNn \cs_set_eq:cc #1#2 {#3}
-}
-\cs_set:Npn \prg_new_eq_conditional:NNn #1#2#3 {
- \prg_set_eq_conditional_aux:NNNn \cs_new_eq:cc #1#2 {#3}
-}
-% \end{macrocode}
-% \begin{macro}[aux]{\prg_set_eq_conditional_aux:NNNn,
-% \prg_set_eq_conditional_aux:NNNw}
-% \begin{macrocode}
-\cs_set:Npn \prg_set_eq_conditional_aux:NNNn #1#2#3#4 {
- \prg_set_eq_conditional_aux:NNNw #1#2#3#4,?,\q_recursion_stop
-}
-% \end{macrocode}
-% Manual clist loop over argument "#4".
-% \begin{macrocode}
-\cs_set:Npn \prg_set_eq_conditional_aux:NNNw #1#2#3#4, {
- \if:w ? #4 \scan_stop:
- \exp_after:wN \use_none_delimit_by_q_recursion_stop:w
- \fi:
- #1 {
- \exp_args:NNc \cs_split_function:NN #2 {prg_conditional_form_#4:nnn}
- }{
- \exp_args:NNc \cs_split_function:NN #3 {prg_conditional_form_#4:nnn}
- }
- \prg_set_eq_conditional_aux:NNNw #1{#2}{#3}
-}
-% \end{macrocode}
-% \begin{macrocode}
-\cs_set:Npn \prg_conditional_form_p:nnn #1#2#3 {#1_p:#2}
-\cs_set:Npn \prg_conditional_form_TF:nnn #1#2#3 {#1:#2TF}
-\cs_set:Npn \prg_conditional_form_T:nnn #1#2#3 {#1:#2T}
-\cs_set:Npn \prg_conditional_form_F:nnn #1#2#3 {#1:#2F}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{macrocode}
%</initex|package>
% \end{macrocode}