summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prop.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx85
1 files changed, 48 insertions, 37 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index d7409586cac..9a8624bc7c7 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -9,7 +9,7 @@
%%
%% http://www.latex-project.org/lppl.txt
%%
-%% This file is part of the "expl3 bundle" (The Work in LPPL)
+%% This file is part of the "l3kernel bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
%% The released version of this bundle is available from CTAN.
@@ -35,7 +35,7 @@
%
%<*driver|package>
\RequirePackage{l3names}
-\GetIdInfo$Id: l3prop.dtx 2725 2011-09-05 18:53:03Z bruno $
+\GetIdInfo$Id: l3prop.dtx 2820 2011-09-12 18:56:29Z bruno $
{L3 Experimental property lists}
%</driver|package>
%<*driver>
@@ -78,7 +78,7 @@
% added to a property list which already contains the \meta{key} then the new
% entry will overwrite the existing one. The \meta{keys} are compared on a
% string basis, using the same method as \cs{str_if_eq:nn}.
-%
+%
% Property lists are intended for storing key-based information for use within
% code. This is in contrast to key--value lists, which are a form of
% \emph{input} parsed by the \pkg{keys} module.
@@ -219,7 +219,7 @@
%
% \section{Recovering values from property lists}
%
-% \begin{function}
+% \begin{function}[updated = 2011-08-28]
% {
% \prop_get:NnN, \prop_get:NVN, \prop_get:NoN,
% \prop_get:cnN, \prop_get:cVN, \prop_get:coN,
@@ -236,7 +236,8 @@
% \cs{prop_get:NnNTF}.
% \end{function}
%
-% \begin{function}{\prop_pop:NnN, \prop_pop:NoN, \prop_pop:cnN, \prop_pop:coN}
+% \begin{function}[updated = 2011-08-18]
+% {\prop_pop:NnN, \prop_pop:NoN, \prop_pop:cnN, \prop_pop:coN}
% \begin{syntax}
% \cs{prop_pop:NnN} \meta{property list} \Arg{key} \meta{tl var}
% \end{syntax}
@@ -249,7 +250,7 @@
% assignments are local.
% \end{function}
%
-% \begin{function}
+% \begin{function}[updated = 2011-08-18]
% {\prop_gpop:NnN, \prop_gpop:NoN, \prop_gpop:cnN, \prop_gpop:coN}
% \begin{syntax}
% \cs{prop_gpop:NnN} \meta{property list} \Arg{key} \meta{tl var}
@@ -294,8 +295,7 @@
% \begin{function}[EXP,pTF]{\prop_if_empty:N, \prop_if_empty:c}
% \begin{syntax}
% \cs{prop_if_empty_p:N} \meta{property list}
-% \cs{prop_if_empty:NTF} \meta{property list}
-% ~~\Arg{true code} \Arg{false code}
+% \cs{prop_if_empty:NTF} \meta{property list} \Arg{true code} \Arg{false code}
% \end{syntax}
% Tests if the \meta{property list} is empty (containing no entries).
% \end{function}
@@ -306,8 +306,7 @@
% \prop_if_in:cn, \prop_if_in:cV, \prop_if_in:co
% }
% \begin{syntax}
-% \cs{prop_if_in:NnTF} \meta{property list} \Arg{key}
-% ~~\Arg{true code} \Arg{false code}
+% \cs{prop_if_in:NnTF} \meta{property list} \Arg{key} \Arg{true code} \Arg{false code}
% \end{syntax}
% Tests if the \meta{key} is present in the \meta{property list},
% making the comparison using the method described by \cs{str_if_eq:nnTF}.
@@ -317,23 +316,23 @@
% non-expandable \cs{prop_get:NnNTF}.
% \end{texnote}
% \end{function}
-%
+%
% \section{Recovering values from property lists with branching}
-%
+%
% The functions in this section combine tests for the presence of a key
% in a property list with recovery of the associated valued. This makes them
% useful for cases where different cases follow dependent on the presence
% or absence of a key in a property list. They offer increased readability
% and performance over separate testing and recovery phases.
%
-% \begin{function}[TF]
+% \begin{function}[updated = 2011-08-28, TF]
% {
% \prop_get:NnN, \prop_get:NVN, \prop_get:NoN,
% \prop_get:cnN, \prop_get:cVN, \prop_get:coN
% }
% \begin{syntax}
-% \cs{prop_get:NnNTF} \meta{property list} \Arg{key}
-% ~~\meta{token list variable} \Arg{true code} \Arg{false code}
+% \cs{prop_get:NnNTF} \meta{property list} \Arg{key} \meta{token list variable} \\
+% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
% If the \meta{key} is not present in the \meta{property list}, leaves
% the \meta{false code} in the input stream and leaves the
@@ -343,17 +342,17 @@
% \meta{property list}. The \meta{token list variable} is assigned locally.
% \end{function}
%
-% \begin{function}[TF]{\prop_pop:NnN, \prop_pop:cnN}
+% \begin{function}[added = 2011-08-18,TF]{\prop_pop:NnN, \prop_pop:cnN}
% \begin{syntax}
-% \cs{prop_pop:NnNTF} \meta{property list} \Arg{key}
-% ~~\meta{token list variable} \Arg{true code} \Arg{false code}
+% \cs{prop_pop:NnNTF} \meta{property list} \Arg{key} \meta{token list variable} \\
+% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
% If the \meta{key} is not present in the \meta{property list}, leaves
% the \meta{false code} in the input stream and leaves the
% \meta{token list variable} unchanged. If the \meta{key} is present in
% the \meta{property list}, pops the corresponding \meta{value}
% in the \meta{token list variable}, \emph{i.e.}~removes the item from
-% the \meta{property list}.
+% the \meta{property list}.
% Both the \meta{property list} and the \meta{token list variable}
% are assigned locally.
% \end{function}
@@ -404,7 +403,7 @@
% level \TeX{} errors.
% \end{function}
%
-% \begin{function}[EXP]{\prop_map_break:n}
+% \begin{function}[rEXP]{\prop_map_break:n}
% \begin{syntax}
% \cs{prop_map_break:n} \Arg{tokens}
% \end{syntax}
@@ -440,22 +439,23 @@
% This section contains functions which may or may not be retained, depending
% on how useful they are found to be.
%
-% \begin{function}[TF]{\prop_gpop:NnN, \prop_gpop:cnN}
+% \begin{function}[added = 2011-08-18,TF]{\prop_gpop:NnN, \prop_gpop:cnN}
% \begin{syntax}
-% \cs{prop_gpop:NnNTF} \meta{property list} \Arg{key}
-% ~~\meta{token list variable} \Arg{true code} \Arg{false code}
+% \cs{prop_gpop:NnNTF} \meta{property list} \Arg{key} \meta{token list variable} \\
+% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
% If the \meta{key} is not present in the \meta{property list}, leaves
% the \meta{false code} in the input stream and leaves the
% \meta{token list variable} unchanged. If the \meta{key} is present in
% the \meta{property list}, pops the corresponding \meta{value}
% in the \meta{token list variable}, \emph{i.e.}~removes the item from
-% the \meta{property list}.
+% the \meta{property list}.
% The \meta{property list} is modified globally, while the
% \meta{token list variable} is assigned locally.
% \end{function}
%
-% \begin{function}[EXP]{\prop_map_tokens:Nn, \prop_map_tokens:cn}
+% \begin{function}[added = 2011-08-18,rEXP]
+% {\prop_map_tokens:Nn, \prop_map_tokens:cn}
% \begin{syntax}
% \cs{prop_map_tokens:Nn} \meta{property list} \Arg{code}
% \end{syntax}
@@ -464,7 +464,7 @@
% property list while keeping track of a given key.
% \end{function}
%
-% \begin{function}[EXP]{\prop_get:Nn, \prop_get:cn}
+% \begin{function}[updated = 2011-08-18,EXP]{\prop_get:Nn, \prop_get:cn}
% \begin{syntax}
% \cs{prop_get:Nn} \meta{property list} \Arg{key}
% \end{syntax}
@@ -490,7 +490,7 @@
%
% \begin{function}{\prop_split:Nnn}
% \begin{syntax}
-% \cs{prop_spilt:Nnn} \meta{property list} \Arg{key} \Arg{code}
+% \cs{prop_split:Nnn} \meta{property list} \Arg{key} \Arg{code}
% \end{syntax}
% Splits the \meta{property list} at the \meta{key}, giving three
% groups: the \meta{extract} of \meta{property list} before the
@@ -511,8 +511,7 @@
%
% \begin{function}{\prop_split:NnTF}
% \begin{syntax}
-% \cs{prop_spilt:NnTF} \meta{property list} \Arg{key}
-% ~~\Arg{true code} \Arg{false code}
+% \cs{prop_split:NnTF} \meta{property list} \Arg{key} \Arg{true code} \Arg{false code}
% \end{syntax}
% Splits the \meta{property list} at the \meta{key}, giving three
% groups: the \meta{extract} of \meta{property list} before the
@@ -908,7 +907,7 @@
}
\cs_new:Npn \prop_if_in_aux:nwn #1 \q_prop #2 \q_prop #3
{
- \if_catcode:w A #2
+ \if_meaning:w A #2
\prg_return_false:
\exp_after:wN \use_none_delimit_by_q_stop:w
\fi:
@@ -930,9 +929,9 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-%
+%
% \subsection{Recovering values from property lists with branching}
-%
+%
% \begin{macro}[TF]
% {
% \prop_get:NnN, \prop_get:NVN, \prop_get:NoN,
@@ -973,7 +972,7 @@
% }
% \begin{macro}[aux]{\prop_map_function_aux:Nwn}
% The fastest way to do a recursion here is to use an
-% \cs{if_catcode:w} test: the keys are strings, and thus
+% \cs{if_meaning:w} test: the keys are strings, and thus
% cannot match the marker |A| (which has catcode \enquote{letter}).
% \begin{macrocode}
\cs_new_nopar:Npn \prop_map_function:NN #1#2
@@ -983,7 +982,7 @@
}
\cs_new:Npn \prop_map_function_aux:Nwn #1 \q_prop #2 \q_prop #3
{
- \if_catcode:w A #2
+ \if_meaning:w A #2
\exp_after:wN \prop_map_break:
\fi:
#1 {#2} {#3}
@@ -1123,7 +1122,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[EXP]{\prop_map_tokens:Nn, \prop_map_tokens:cn}
+% \begin{macro}[rEXP]{\prop_map_tokens:Nn, \prop_map_tokens:cn}
% \begin{macro}[aux]{\prop_map_tokens_aux:nwn}
% The mapping grabs one key--value pair at a time, and stops when
% reaching the marker key |A|, with catcode \enquote{letter}, which
@@ -1137,7 +1136,7 @@
}
\cs_new:Npn \prop_map_tokens_aux:nwn #1 \q_prop #2 \q_prop #3
{
- \if_catcode:w A #2
+ \if_meaning:w A #2
\exp_after:wN \prop_map_break:
\fi:
\use:n {#1} {#2} {#3}
@@ -1174,8 +1173,10 @@
% \begin{macro}{\prop_display:N, \prop_display:c}
% An older name for \cs{prop_show:N}.
% \begin{macrocode}
+%<*deprecated>
\cs_new_eq:NN \prop_display:N \prop_show:N
\cs_new_eq:NN \prop_display:c \prop_show:c
+%</deprecated>
% \end{macrocode}
% \end{macro}
%
@@ -1184,12 +1185,14 @@
% Getting globally is no longer supported: this is a conceptual change, so
% the necessary code for the transition is provided directly.
% \begin{macrocode}
+%<*deprecated>
\cs_new_protected:Npn \prop_gget:NnN #1#2#3
{ \prop_split:Nnn #1 {#2} { \prop_gget_aux:Nnnn #3 } }
\cs_new_protected:Npn \prop_gget_aux:Nnnn #1#2#3#4
{ \tl_gset:Nn #1 {#3} }
\cs_generate_variant:Nn \prop_gget:NnN { NV }
\cs_generate_variant:Nn \prop_gget:NnN { c , cV }
+%</deprecated>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1197,23 +1200,29 @@
% \begin{macro}{\prop_get_gdel:NnN}
% This name seems very odd.
% \begin{macrocode}
+%<*deprecated>
\cs_new_eq:NN \prop_get_gdel:NnN \prop_gpop:NnN
+%</deprecated>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[TF]{\prop_if_in:cc}
% A hang-over from an ancient implementation
% \begin{macrocode}
+%<*deprecated>
\cs_generate_variant:Nn \prop_if_in:NnT { cc }
\cs_generate_variant:Nn \prop_if_in:NnF { cc }
\cs_generate_variant:Nn \prop_if_in:NnTF { cc }
+%</deprecated>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\prop_gput:ccx}
% Another one.
% \begin{macrocode}
+%<*deprecated>
\cs_generate_variant:Nn \prop_gput:Nnn { ccx }
+%</deprecated>
% \end{macrocode}
% \end{macro}
%
@@ -1221,10 +1230,12 @@
% {\prop_if_eq:NN, \prop_if_eq:Nc, \prop_if_eq:cN, \prop_if_eq:cc}
% These ones do no even make sense!
% \begin{macrocode}
+%<*deprecated>
\prg_new_eq_conditional:NNn \prop_if_eq:NN \tl_if_eq:NN { p , T , F , TF }
\prg_new_eq_conditional:NNn \prop_if_eq:cN \tl_if_eq:cN { p , T , F , TF }
\prg_new_eq_conditional:NNn \prop_if_eq:Nc \tl_if_eq:Nc { p , T , F , TF }
\prg_new_eq_conditional:NNn \prop_if_eq:cc \tl_if_eq:cc { p , T , F , TF }
+%</deprecated>
% \end{macrocode}
% \end{macro}
%
@@ -1234,4 +1245,4 @@
%
% \end{implementation}
%
-% \PrintIndex \ No newline at end of file
+% \PrintIndex