summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prg.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx37
1 files changed, 22 insertions, 15 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index 54db54f0f58..79fa7961ebd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-%% File: l3prg.dtx Copyright (C) 2005-2012 The LaTeX3 Project
+%% File: l3prg.dtx Copyright (C) 2005-2013 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -35,7 +35,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3prg.dtx 4339 2012-11-24 19:16:43Z joseph $
+\GetIdInfo$Id: l3prg.dtx 4459 2013-02-13 09:21:15Z will $
{L3 Control structures}
%</driver|package>
%<*driver>
@@ -183,8 +183,8 @@
% |\foo_if_bar:NNT| but not |\foo_if_bar:NNF| (because |F| is missing
% from the \meta{conditions} list). The return statements take care of
% resolving the remaining \cs{else:} and \cs{fi:} before returning the
-% state. There must be a return statement for each branch, failing to do
-% so will result in an error if that branch is executed.
+% state. There must be a return statement for each branch; failing to do
+% so will result in erroneous output if that branch is executed.
%
% \begin{function}{\prg_new_eq_conditional:NNn, \prg_set_eq_conditional:NNn}
% \begin{syntax}
@@ -203,9 +203,18 @@
% \cs{prg_return_true:}
% \cs{prg_return_false:}
% \end{syntax}
-% These functions define the logical state at the end of a conditional.
-% As such, they should appear within the code for a conditional
-% statement generated by \cs{prg_set_conditional:Npnn}, \emph{etc}.
+% These `return' functions define the logical state of a conditional statement.
+% They appear within the code for a conditional
+% function generated by \cs{prg_set_conditional:Npnn}, \emph{etc}, to indicate
+% when a true or false branch has been taken.
+% While they may appear multiple times each within the code of such conditionals,
+% the execution of the conditional must result in the expansion of one of these
+% two functions \emph{exactly once}.
+%
+% The return functions trigger what is internally an f-expansion process to complete
+% the evaluation of the conditional. Therefore, after \cs{prg_return_true:} or \cs{prg_return_false:}
+% there must be no non-expandable material in the input stream for the remainder of
+% the expansion of the conditional code. This includes other instances of either of these functions.
% \end{function}
%
% \section{The boolean data type}
@@ -870,14 +879,8 @@
% \begin{macro}[pTF]{\bool_if_exist:N, \bool_if_exist:c}
% Copies of the \texttt{cs} functions defined in \pkg{l3basics}.
% \begin{macrocode}
-\cs_new_eq:NN \bool_if_exist:NTF \cs_if_exist:NTF
-\cs_new_eq:NN \bool_if_exist:NT \cs_if_exist:NT
-\cs_new_eq:NN \bool_if_exist:NF \cs_if_exist:NF
-\cs_new_eq:NN \bool_if_exist_p:N \cs_if_exist_p:N
-\cs_new_eq:NN \bool_if_exist:cTF \cs_if_exist:cTF
-\cs_new_eq:NN \bool_if_exist:cT \cs_if_exist:cT
-\cs_new_eq:NN \bool_if_exist:cF \cs_if_exist:cF
-\cs_new_eq:NN \bool_if_exist_p:c \cs_if_exist_p:c
+\prg_new_eq_conditional:NNn \bool_if_exist:N \cs_if_exist:N { TF , T , F , p }
+\prg_new_eq_conditional:NNn \bool_if_exist:c \cs_if_exist:c { TF , T , F , p }
% \end{macrocode}
% \end{macro}
%
@@ -1817,12 +1820,14 @@
% }
% Moved to more sensible modules.
% \begin{macrocode}
+%<*deprecated>
\cs_new_eq:NN \prg_case_int:nnn \int_case:nnn
\cs_new_eq:NN \prg_case_str:nnn \str_case:nnn
\cs_new_eq:NN \prg_case_str:onn \str_case:onn
\cs_new_eq:NN \prg_case_str:xxn \str_case_x:nnn
\cs_new_eq:NN \prg_case_tl:Nnn \tl_case:Nnn
\cs_new_eq:NN \prg_case_tl:cnn \tl_case:cnn
+%</deprecated>
% \end{macrocode}
% \end{macro}
%
@@ -1834,9 +1839,11 @@
% \prg_stepwise_variable:nnnNn
% }
% \begin{macrocode}
+%<*deprecated>
\cs_new_eq:NN \prg_stepwise_function:nnnN \int_step_function:nnnN
\cs_new_eq:NN \prg_stepwise_inline:nnnn \int_step_inline:nnnn
\cs_new_eq:NN \prg_stepwise_variable:nnnNn \int_step_variable:nnnNn
+%</deprecated>
% \end{macrocode}
% \end{macro}
%