diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3prop.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3prop.dtx | 43 |
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 { |