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.dtx43
1 files changed, 11 insertions, 32 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 50472ab8754..bce67a2fb30 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -35,7 +35,7 @@
%
%<*driver|package>
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3prop.dtx 4581 2013-07-28 08:38:50Z joseph $
+\GetIdInfo$Id: l3prop.dtx 4623 2013-12-14 13:53:40Z bruno $
{L3 Property lists}
%</driver|package>
%<*driver>
@@ -508,9 +508,8 @@
% \cs{@@_pair:wn} \meta{key_1} \cs{s_@@} \Arg{value_1} \\
% \ldots{} \\
% \cs{@@_pair:wn} \meta{key_n} \cs{s_@@} \Arg{value_n} \\
-% \cs{s_obj_end}
% \end{quote}
-% where the separators \cs{s_@@} and \cs{s_obj_end} are scan marks
+% where \cs{s_@@} is a scan mark
% (equal to \cs{scan_stop:}), and \cs{@@_pair:wn} can be used to map
% through the property list.
%
@@ -542,7 +541,7 @@
% \begin{variable}[tested = m3prop004]{\c_empty_prop}
% An empty prop.
% \begin{macrocode}
-\tl_const:Nn \c_empty_prop { \s_@@ \s_obj_end }
+\tl_const:Nn \c_empty_prop { \s_@@ }
% \end{macrocode}
% \end{variable}
%
@@ -620,14 +619,6 @@
%
% \subsection{Accessing data in property lists}
%
-% \begin{macro}[EXP]{\@@_strip_end:w}
-% Strip the \cs{s_obj_end} marker from an expanded property list
-% variable.
-% \begin{macrocode}
-\cs_new:Npn \@@_strip_end:w #1 \s_obj_end { \exp_not:n {#1} }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}[int]{\@@_split:NnTF}
% \begin{macro}[aux]{\@@_split_aux:NnTF}
% \begin{macro}[aux, EXP]{\@@_split_aux:w}
@@ -816,8 +807,8 @@
% storing in \cs{l_@@_internal_tl} tokens which (after
% \texttt{x}-expansion) encode the key--value pair. This variable can
% safely be used in \cs{@@_split:NnTF}. If the \meta{key} was absent,
-% append the new key--value to the list (\cs{@@_strip_end:w} moves the
-% \cs{s_obj_end} marker). Otherwise concatenate the extracts |##1|
+% append the new key--value to the list.
+% Otherwise concatenate the extracts |##1|
% and |##3| with the new key--value pair \cs{l_@@_internal_tl}. The
% updated entry is placed at the same spot as the original \meta{key}
% in the property list, preserving the order of entries.
@@ -833,13 +824,7 @@
}
\@@_split:NnTF #2 {#3}
{ #1 #2 { \exp_not:n {##1} \l_@@_internal_tl \exp_not:n {##3} } }
- {
- #1 #2
- {
- \exp_after:wN \@@_strip_end:w #2
- \l_@@_internal_tl \s_obj_end
- }
- }
+ { #1 #2 { \exp_not:o {#2} \l_@@_internal_tl } }
}
\cs_generate_variant:Nn \prop_put:Nnn
{ NnV , Nno , Nnx , NV , NVV , No , Noo }
@@ -877,13 +862,7 @@
}
\@@_split:NnTF #2 {#3}
{ }
- {
- #1 #2
- {
- \exp_after:wN \@@_strip_end:w #2
- \l_@@_internal_tl \s_obj_end
- }
- }
+ { #1 #2 { \exp_not:o {#2} \l_@@_internal_tl } }
}
\cs_generate_variant:Nn \prop_put_if_new:Nnn { c }
\cs_generate_variant:Nn \prop_gput_if_new:Nnn { c }
@@ -944,7 +923,7 @@
% mechanism choke, because the arbitrary token list material is
% enclosed in braces. The second argument of \cs{@@_if_in:nwwn} is
% most often empty. When the \meta{key} is found in the list,
-% \cs{@@_if_in:N} receives \cs{s_@@} or \cs{s_obj_end}, and if it is
+% \cs{@@_if_in:N} receives \cs{@@_pair:wn}, and if it is
% found as the extra item, the function receives
% \cs{q_recursion_tail}, easily recognizable.
%
@@ -1026,9 +1005,9 @@
% The fastest way to do a recursion here is to use an
% \cs{if_meaning:w} test: the keys are strings, and thus cannot match
% the marker \cs{q_recursion_tail}. A special case to note is when
-% the key |#3| is empty: then \cs{q_recursion_tail} is compared to
-% \cs{exp_after:wN}, also different. Note that |#2| can only consist
-% of \cs{s_@@} and/or \cs{s_obj_end}.
+% the key~|#3| is empty: then \cs{q_recursion_tail} is compared to
+% \cs{exp_after:wN}, also different. Note that |#2|~is empty, except
+% at the first iteration, where it is \cs{s_@@}.
% \begin{macrocode}
\cs_new:Npn \prop_map_function:NN #1#2
{