diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prg.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3prg.dtx | 37 |
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} % |