From 6d95b4a2c1bbdaea1a3802c822808f476ac5703b Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 16 Sep 2011 22:35:41 +0000
Subject: l3kernel 2828 (15sep11)

git-svn-id: svn://tug.org/texlive/trunk@23983 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/l3kernel/l3tl.dtx | 226 ++++++++++++-----------
 1 file changed, 117 insertions(+), 109 deletions(-)

(limited to 'Master/texmf-dist/source/latex/l3kernel/l3tl.dtx')

diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index cfe96ac73af..af58f1055ea 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.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: l3tl.dtx 2686 2011-08-29 19:41:06Z joseph $
+\GetIdInfo$Id: l3tl.dtx 2812 2011-09-12 09:19:26Z bruno $
   {L3 Experimental token lists}
 %</driver|package>
 %<*driver>
@@ -66,7 +66,7 @@
 % \maketitle
 %
 % \begin{documentation}
-% 
+%
 % \TeX{} works with tokens, and \LaTeX3 therefore provides a number of
 % functions to deal with token lists. Token lists may be present direct in
 % the argument to a function:
@@ -266,10 +266,10 @@
 %
 % \section{Modifying token list variables}
 %
-% \begin{function}{\tl_replace_once:Nnn, \tl_replace_once:cnn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_replace_once:Nnn, \tl_replace_once:cnn}
 %   \begin{syntax}
-%     \cs{tl_replace_once:Nnn} \meta{tl~var} \Arg{old tokens}
-%     ~~\Arg{new tokens}
+%     \cs{tl_replace_once:Nnn} \meta{tl~var} \Arg{old tokens} \Arg{new tokens}
 %   \end{syntax}
 %   Replaces the first (leftmost) occurrence of \meta{old tokens} in the
 %   \meta{tl~var} with \meta{new tokens}. \meta{Old tokens}
@@ -278,10 +278,10 @@
 %   restricted to the current \TeX{} group.
 % \end{function}
 %
-% \begin{function}{\tl_greplace_once:Nnn, \tl_greplace_once:cnn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_greplace_once:Nnn, \tl_greplace_once:cnn}
 %   \begin{syntax}
-%     \cs{tl_greplace_once:Nnn} \meta{tl~var} \Arg{old tokens}
-%     ~~\Arg{new tokens}
+%     \cs{tl_greplace_once:Nnn} \meta{tl~var} \Arg{old tokens} \Arg{new tokens}
 %   \end{syntax}
 %   Replaces the first (leftmost) occurrence of \meta{old tokens} in the
 %   \meta{tl~var} with \meta{new tokens}. \meta{Old tokens}
@@ -290,10 +290,10 @@
 %   applied globally.
 % \end{function}
 %
-% \begin{function}{\tl_replace_all:Nnn, \tl_replace_all:cnn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_replace_all:Nnn, \tl_replace_all:cnn}
 %   \begin{syntax}
-%     \cs{tl_replace_all:Nnn} \meta{tl~var} \Arg{old tokens}
-%     ~~\Arg{new tokens}
+%     \cs{tl_replace_all:Nnn} \meta{tl~var} \Arg{old tokens} \Arg{new tokens}
 %   \end{syntax}
 %   Replaces all occurrences of \meta{old tokens} in the
 %   \meta{tl~var} with \meta{new tokens}. \meta{Old tokens}
@@ -305,10 +305,10 @@
 %   restricted to the current \TeX{} group.
 % \end{function}
 %
-% \begin{function}{\tl_greplace_all:Nnn, \tl_greplace_all:cnn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_greplace_all:Nnn, \tl_greplace_all:cnn}
 %   \begin{syntax}
-%     \cs{tl_greplace_all:Nnn} \meta{tl~var} \Arg{old tokens}
-%     ~~\Arg{new tokens}
+%     \cs{tl_greplace_all:Nnn} \meta{tl~var} \Arg{old tokens} \Arg{new tokens}
 %   \end{syntax}
 %   Replaces all occurrences of \meta{old tokens} in the
 %   \meta{tl~var} with \meta{new tokens}. \meta{Old tokens}
@@ -319,7 +319,8 @@
 %   for an example). The assignment is applied globally.
 % \end{function}
 %
-% \begin{function}{\tl_remove_once:Nn, \tl_remove_once:cn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_remove_once:Nn, \tl_remove_once:cn}
 %   \begin{syntax}
 %     \cs{tl_remove_once:Nn} \meta{tl~var} \Arg{tokens}
 %   \end{syntax}
@@ -329,7 +330,8 @@
 %   restricted to the current \TeX{} group.
 % \end{function}
 %
-% \begin{function}{\tl_gremove_once:Nn, \tl_gremove_once:cn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_gremove_once:Nn, \tl_gremove_once:cn}
 %   \begin{syntax}
 %     \cs{tl_gremove_once:Nn} \meta{tl~var} \Arg{tokens}
 %   \end{syntax}
@@ -339,7 +341,8 @@
 %   applied globally.
 % \end{function}
 %
-% \begin{function}{\tl_remove_all:Nn, \tl_remove_all:cn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_remove_all:Nn, \tl_remove_all:cn}
 %   \begin{syntax}
 %     \cs{tl_remove_all:Nn} \meta{tl~var} \Arg{tokens}
 %   \end{syntax}
@@ -356,7 +359,8 @@
 %   The assignment is restricted to the current \TeX{} group.
 % \end{function}
 %
-% \begin{function}{\tl_gremove_all:Nn, \tl_gremove_all:cn}
+% \begin{function}[updated = 2011-08-11]
+%   {\tl_gremove_all:Nn, \tl_gremove_all:cn}
 %   \begin{syntax}
 %     \cs{tl_gremove_all:Nn} \meta{tl~var} \Arg{tokens}
 %   \end{syntax}
@@ -371,14 +375,13 @@
 %
 % \section{Reassigning token list category codes}
 %
-% \begin{function}
+% \begin{function}[updated = 2011-08-11]
 %   {
 %     \tl_set_rescan:Nnn, \tl_set_rescan:Nno, \tl_set_rescan:Nnx,
 %     \tl_set_rescan:cnn, \tl_set_rescan:cno, \tl_set_rescan:cnx,
 %   }
 %   \begin{syntax}
-%     \cs{tl_set_rescan:Nnn} \meta{tl~var} \Arg{setup}
-%     ~~\Arg{tokens}
+%     \cs{tl_set_rescan:Nnn} \meta{tl~var} \Arg{setup} \Arg{tokens}
 %   \end{syntax}
 %   Sets \meta{tl~var} to contain \meta{tokens},
 %   applying the category code r\'egime specified in the
@@ -389,14 +392,13 @@
 %   \cs{tl_rescan:nn}.
 % \end{function}
 %
-% \begin{function}
+% \begin{function}[updated = 2011-08-11]
 %   {
 %     \tl_gset_rescan:Nnn, \tl_gset_rescan:Nno, \tl_gset_rescan:Nnx,
 %     \tl_gset_rescan:cnn, \tl_gset_rescan:cno, \tl_gset_rescan:cnx,
 %   }
 %   \begin{syntax}
-%     \cs{tl_gset_rescan:Nnn} \meta{tl~var} \Arg{setup}
-%     ~~\Arg{tokens}
+%     \cs{tl_gset_rescan:Nnn} \meta{tl~var} \Arg{setup} \Arg{tokens}
 %   \end{syntax}
 %   Sets \meta{tl~var} to contain \meta{tokens},
 %   applying the category code r\'egime specified in the
@@ -406,7 +408,7 @@
 %   assignment is global. See also \cs{tl_rescan:nn}.
 % \end{function}
 %
-% \begin{function}{\tl_rescan:nn}
+% \begin{function}[updated = 2011-08-11]{\tl_rescan:nn}
 %   \begin{syntax}
 %     \cs{tl_rescan:nn} \Arg{setup} \Arg{tokens}
 %   \end{syntax}
@@ -427,7 +429,7 @@
 %   unchanged. This process does not alter the category code assigned
 %   to the \meta{tokens}.
 %   \begin{texnote}
-%     This is the \TeX{} primitive \cs{lowercase} renamed.
+%     This is the \TeX{} primitive \tn{lowercase} renamed.
 %     As a result, this function takes place on execution and
 %     not on expansion.
 %   \end{texnote}
@@ -443,7 +445,7 @@
 %   unchanged. This process does not alter the category code assigned
 %   to the \meta{tokens}.
 %   \begin{texnote}
-%     This is the \TeX{} primitive \cs{uppercase} renamed.
+%     This is the \TeX{} primitive \tn{uppercase} renamed.
 %     As a result, this function takes place on execution and
 %     not on expansion.
 %   \end{texnote}
@@ -484,8 +486,7 @@
 %   {\tl_if_eq:NN, \tl_if_eq:Nc, \tl_if_eq:cN, \tl_if_eq:cc}
 %   \begin{syntax}
 %     \cs{tl_if_eq_p:NN} \Arg{tl var1} \Arg{tl var2}
-%     \cs{tl_if_eq:NNTF} \Arg{tl var1} \Arg{tl var2} \Arg{true code}
-%     ~~\Arg{false code}
+%     \cs{tl_if_eq:NNTF} \Arg{tl var1} \Arg{tl var2} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Compares the content of two \meta{token list variables} and
 %   is logically \texttt{true} if the two contain the same list of
@@ -501,8 +502,7 @@
 %
 % \begin{function}[TF]{\tl_if_eq:nn}
 %   \begin{syntax}
-%     \cs{tl_if_eq:nnTF} \meta{token list1} \Arg{token list2} \Arg{true code}
-%     ~~\Arg{false code}
+%     \cs{tl_if_eq:nnTF} \meta{token list1} \Arg{token list2} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if \meta{token list1} and \meta{token list2} are equal, both in
 %   respect of character codes and category codes.
@@ -510,8 +510,7 @@
 %
 % \begin{function}[TF]{\tl_if_in:Nn, \tl_if_in:cn}
 %   \begin{syntax}
-%     \cs{tl_if_in:NnTF} \meta{tl~var} \Arg{token list} \Arg{true code}
-%     ~~\Arg{false code}
+%     \cs{tl_if_in:NnTF} \meta{tl~var} \Arg{token list} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if the \meta{token list} is found in the content of the
 %   \meta{token list variable}. The \meta{token list} cannot contain
@@ -520,17 +519,17 @@
 % \end{function}
 %
 % \begin{function}[TF]
-%   {\tl_if_in:nn, \tl_if_in:Vn, \tl_if_in:on, \tl_if_in:on}
+%   {\tl_if_in:nn, \tl_if_in:Vn, \tl_if_in:on, \tl_if_in:no}
 %   \begin{syntax}
-%     \cs{tl_if_in:nnTF} \Arg{token list1} \Arg{token list2} \Arg{true code}
-%     ~~\Arg{false code}
+%     \cs{tl_if_in:nnTF} \Arg{token list1} \Arg{token list2} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if <token list2> is found inside <token list1>.
 %   The \meta{token list} cannot contain the tokens |{|, |}| or |#|
 %   (assuming the usual \TeX{} category codes apply).
 % \end{function}
 %
-% \begin{function}[EXP,pTF]{\tl_if_single:N, \tl_if_single:c}
+% \begin{function}[updated = 2011-08-13, EXP,pTF]
+%   {\tl_if_single:N, \tl_if_single:c}
 %   \begin{syntax}
 %     \cs{tl_if_single_p:N} \Arg{tl~var}
 %     \cs{tl_if_single:NTF} \Arg{tl~var} \Arg{true code} \Arg{false code}
@@ -542,11 +541,10 @@
 %   $1$ according to \cs{tl_length:N}.
 % \end{function}
 %
-% \begin{function}[EXP,pTF]{\tl_if_single:n}
+% \begin{function}[updated = 2011-08-13, EXP,pTF]{\tl_if_single:n}
 %   \begin{syntax}
 %     \cs{tl_if_single_p:n} \Arg{token list}
-%     \cs{tl_if_single:nTF} \Arg{token list}
-%     ~~\Arg{true code} \Arg{false code}
+%     \cs{tl_if_single:nTF} \Arg{token list} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if the token list has exactly one item, \emph{i.e.}~is either
 %   a single normal token or a single brace group, surrounded by
@@ -554,11 +552,10 @@
 %   has length $1$ according to \cs{tl_length:n}.
 % \end{function}
 %
-% \begin{function}[EXP,pTF]{\tl_if_single_token:n}
+% \begin{function}[added = 2011-08-11,EXP,pTF]{\tl_if_single_token:n}
 %   \begin{syntax}
 %   \cs{tl_if_single_token_p:n} \Arg{token list}
-%   \cs{tl_if_single_token:nTF} \Arg{token list}
-%   ~~\Arg{true code} \Arg{false code}
+%   \cs{tl_if_single_token:nTF} \Arg{token list} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if the token list consists of exactly one token, \emph{i.e.}~is
 %   either a single space character or a single \enquote{normal} token.
@@ -567,7 +564,7 @@
 %
 % \section{Mapping to token lists}
 %
-% \begin{function}[EXP]{\tl_map_function:NN, \tl_map_function:cN}
+% \begin{function}[rEXP]{\tl_map_function:NN, \tl_map_function:cN}
 %   \begin{syntax}
 %     \cs{tl_map_function:NN} \meta{tl~var} \meta{function}
 %   \end{syntax}
@@ -578,7 +575,7 @@
 %   \texttt{n}-type arguments. See also \cs{tl_map_function:nN}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_map_function:nN}
+% \begin{function}[rEXP]{\tl_map_function:nN}
 %   \begin{syntax}
 %     \cs{tl_map_function:nN} \meta{token list} \meta{function}
 %   \end{syntax}
@@ -631,7 +628,7 @@
 %   \cs{tl_map_inline:nn}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_map_break:}
+% \begin{function}[rEXP]{\tl_map_break:}
 %   \begin{syntax}
 %     \cs{tl_map_break:}
 %   \end{syntax}
@@ -674,7 +671,7 @@
 %   in the input stream. Note that this function requires only a single
 %   expansion.
 %   \begin{texnote}
-%     This is the \eTeX{} primitive \cs{detokenize}.
+%     This is the \eTeX{} primitive \tn{detokenize}.
 %   \end{texnote}
 % \end{function}
 %
@@ -690,7 +687,7 @@
 %
 % \section{Working with the content of token lists}
 %
-% \begin{function}[EXP]
+% \begin{function}[updated = 2011-08-13, EXP]
 %   {\tl_length:n, \tl_length:V, \tl_length:o}
 %   \begin{syntax}
 %     \cs{tl_length:n} \Arg{tokens}
@@ -703,7 +700,7 @@
 %   giving an \meta{integer denotation}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_length:N, \tl_length:c}
+% \begin{function}[updated = 2011-08-13, EXP]{\tl_length:N, \tl_length:c}
 %   \begin{syntax}
 %     \cs{tl_length:N} \Arg{tl~var}
 %   \end{syntax}
@@ -715,7 +712,8 @@
 %   giving an \meta{integer denotation}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_reverse:n, \tl_reverse:V, \tl_reverse:o}
+% \begin{function}[updated = 2011-08-13, EXP]
+%   {\tl_reverse:n, \tl_reverse:V, \tl_reverse:o}
 %   \begin{syntax}
 %     \cs{tl_reverse:n} \Arg{token list}
 %   \end{syntax}
@@ -730,7 +728,7 @@
 %   See also \cs{tl_reverse:N}.
 % \end{function}
 %
-% \begin{function}{\tl_reverse:N, \tl_reverse:c}
+% \begin{function}[updated = 2011-08-13]{\tl_reverse:N, \tl_reverse:c}
 %   \begin{syntax}
 %     \cs{tl_reverse:N} \Arg{tl~var}
 %   \end{syntax}
@@ -744,7 +742,7 @@
 %   \TeX{} group. See also \cs{tl_reverse:n}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_reverse_items:n}
+% \begin{function}[added = 2011-08-13, EXP]{\tl_reverse_items:n}
 %   \begin{syntax}
 %     \cs{tl_reverse_items:n} \Arg{token list}
 %   \end{syntax}
@@ -759,7 +757,8 @@
 %   consider \cs{tl_reverse:n} or \cs{tl_reverse_tokens:n}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_trim_spaces:n}
+% \begin{function}[added = 2011-07-09, updated = 2011-08-13, EXP]
+%   {\tl_trim_spaces:n}
 %   \begin{syntax}
 %     \cs{tl_trim_spaces:n} \meta{token list}
 %   \end{syntax}
@@ -767,22 +766,22 @@
 %   from the \meta{token list} and leaves the result in the input
 %   stream. This process requires two expansions.
 %   \begin{texnote}
-%     The result is return within the \cs{etex_unexpanded:D}
+%     The result is return within the \tn{unexpanded}
 %     primitive (\cs{exp_not:n}), which means that the token
 %     list will not expand further when appearing in an x-type
 %     argument expansion.
 %   \end{texnote}
 % \end{function}
 %
-% \begin{function}{\tl_trim_spaces:N, \tl_trim_spaces:c}
+% \begin{function}[added = 2011-07-09]{\tl_trim_spaces:N, \tl_trim_spaces:c}
 %   \begin{syntax}
 %     \cs{tl_trim_spaces:N} \meta{tl~var}
 %   \end{syntax}
 %   Removes any leading and trailing explicit space characters
 %   from the content of the \meta{tl~var} within the current \TeX{} group.
 % \end{function}
-% 
-% \begin{function}{\tl_gtrim_spaces:N, \tl_gtrim_spaces:c}
+%
+% \begin{function}[added = 2011-07-09]{\tl_gtrim_spaces:N, \tl_gtrim_spaces:c}
 %   \begin{syntax}
 %     \cs{tl_gtrim_spaces:N} \meta{tl~var}
 %   \end{syntax}
@@ -795,7 +794,8 @@
 % Functions which deal with either only the very first token of a
 % token list or everything except the first token.
 %
-% \begin{function}[EXP]{\tl_head:n, \tl_head:V, \tl_head:v, \tl_head:f}
+% \begin{function}[updated = 2011-08-09, EXP]
+%   {\tl_head:n, \tl_head:V, \tl_head:v, \tl_head:f}
 %   \begin{syntax}
 %     \cs{tl_head:n} \Arg{tokens}
 %   \end{syntax}
@@ -829,7 +829,8 @@
 %   is not critical.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_tail:n, \tl_tail:V, \tl_tail:v, \tl_tail:f}
+% \begin{function}[updated = 2011-08-09, EXP]
+%   {\tl_tail:n, \tl_tail:V, \tl_tail:v, \tl_tail:f}
 %   \begin{syntax}
 %     \cs{tl_tail:n} \Arg{tokens}
 %   \end{syntax}
@@ -865,7 +866,7 @@
 %   is not critical.
 % \end{function}
 %
-% \begin{function}[EXP]{\str_head:n,\str_tail:n}
+% \begin{function}[added = 2011-08-10, EXP]{\str_head:n,\str_tail:n}
 %   \begin{syntax}
 %     \cs{str_head:n} \Arg{tokens}
 %     \cs{str_tail:n} \Arg{tokens}
@@ -879,7 +880,7 @@
 %   nothing is left in the input stream.
 % \end{function}
 %
-% \begin{function}[EXP,pTF]{\tl_if_head_eq_catcode:nN}
+% \begin{function}[updated = 2011-08-10, EXP,pTF]{\tl_if_head_eq_catcode:nN}
 %   \begin{syntax}
 %     \cs{tl_if_head_eq_catcode_p:nN} \Arg{token list} \meta{test token}
 %     \cs{tl_if_head_eq_catcode:nNTF} \Arg{token list} \meta{test token}
@@ -891,7 +892,7 @@
 %   and the test will be true if \meta{test token} is a control sequence.
 % \end{function}
 %
-% \begin{function}[EXP,pTF]
+% \begin{function}[updated = 2011-08-10, EXP,pTF]
 %   {\tl_if_head_eq_charcode:nN, \tl_if_head_eq_charcode:fN}
 %   \begin{syntax}
 %     \cs{tl_if_head_eq_charcode_p:nN} \Arg{token list} \meta{test token}
@@ -904,7 +905,7 @@
 %   and the test will be true if \meta{test token} is a control sequence.
 % \end{function}
 %
-% \begin{function}[EXP,pTF]{\tl_if_head_eq_meaning:nN}
+% \begin{function}[updated = 2011-08-10, EXP,pTF]{\tl_if_head_eq_meaning:nN}
 %   \begin{syntax}
 %     \cs{tl_if_head_eq_meaning_p:nN} \Arg{token list} \meta{test token}
 %     \cs{tl_if_head_eq_meaning:nNTF} \Arg{token list} \meta{test token}
@@ -915,12 +916,11 @@
 %   is empty, its head is considered to be \cs{q_nil}, and the test will
 %   be true if \meta{test token} has the same meaning as \cs{q_nil}.
 % \end{function}
-% 
-% \begin{function}[EXP,pTF,int]{\tl_if_head_group:n}
+%
+% \begin{function}[updated = 2011-08-11, EXP,pTF]{\tl_if_head_group:n}
 %   \begin{syntax}
 %     \cs{tl_if_head_group_p:n} \Arg{token list}
-%     \cs{tl_if_head_group:nTF} \Arg{token list}
-%     ~~\Arg{true code} \Arg{false code}
+%     \cs{tl_if_head_group:nTF} \Arg{token list} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if the first \meta{token} in the \meta{token list}
 %   is an explicit begin-group character (with category code~1
@@ -932,11 +932,10 @@
 %   a token by token basis.
 % \end{function}
 %
-% \begin{function}[EXP,pTF,int]{\tl_if_head_N_type:n}
+% \begin{function}[added = 2011-08-11,EXP,pTF]{\tl_if_head_N_type:n}
 %   \begin{syntax}
 %     \cs{tl_if_head_N_type_p:n} \Arg{token list}
-%     \cs{tl_if_head_N_type:nTF} \Arg{token list}
-%     ~~\Arg{true code} \Arg{false code}
+%     \cs{tl_if_head_N_type:nTF} \Arg{token list} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %   Tests if the first \meta{token} in the \meta{token list}
 %   is a normal \texttt{N}-type argument. In other words,
@@ -949,11 +948,10 @@
 %   a token by token basis.
 % \end{function}
 %
-% \begin{function}[EXP,pTF,int]{\tl_if_head_space:n}
+% \begin{function}[updated = 2011-08-11,EXP,pTF]{\tl_if_head_space:n}
 %   \begin{syntax}
 %     \cs{tl_if_head_space_p:n} \Arg{token list}
-%     \cs{tl_if_head_space:nTF} \Arg{token list}
-%     ~~\Arg{true code} \Arg{false code}
+%     \cs{tl_if_head_space:nTF} \Arg{token list} \Arg{true code} \Arg{false code}
 %   \end{syntax}
 %^^A We need to add a discussion of
 %^^A explicit vs implicit tokens somewhere in the doc.
@@ -969,7 +967,7 @@
 %     first time, it is converted to an explicit space token, with
 %     character code $32$, regardless of the initial character code.
 %     \enquote{Funny} spaces with a different category code, can be produced
-%     using \cs{tex_lowercase:D}. Explicit spaces are also produced
+%     using \tn{lowercase}. Explicit spaces are also produced
 %     as a result of \cs{token_to_str:N}, \cs{tl_to_str:n}, etc.
 %   \end{texnote}
 % \end{function}
@@ -982,7 +980,7 @@
 %   \end{syntax}
 %   Displays the content of the \meta{tl~var} on the terminal.
 %   \begin{texnote}
-%     \cs{tl_show:N} is the \TeX{} primitive \cs{show}.
+%     \cs{tl_show:N} is the \TeX{} primitive \tn{show}.
 %   \end{texnote}
 % \end{function}
 %
@@ -992,16 +990,16 @@
 %   \end{syntax}
 %   Displays the \meta{token list} on the terminal.
 %   \begin{texnote}
-%     \cs{tl_show:n} is the \eTeX{} primitive \cs{showtokens}.
+%     \cs{tl_show:n} is the \eTeX{} primitive \tn{showtokens}.
 %   \end{texnote}
 % \end{function}
 %
 % \section{Constant token lists}
 %
-% \begin{variable}{\c_job_name_tl}
+% \begin{variable}[updated = 2011-08-18]{\c_job_name_tl}
 %   Constant that gets the \enquote{job name} assigned when \TeX{} starts.
 %   \begin{texnote}
-%     This is the new name for the primitive \cs{jobname}. It is a constant
+%     This is the new name for the primitive \tn{jobname}. It is a constant
 %     that is set by \TeX{} and should not be overwritten by the package.
 %   \end{texnote}
 % \end{variable}
@@ -1033,7 +1031,7 @@
 %
 % \section{Experimental token list functions}
 %
-% \begin{function}[EXP]{\tl_reverse_tokens:n}
+% \begin{function}[added = 2011-08-11, EXP]{\tl_reverse_tokens:n}
 %   \begin{syntax}
 %     \cs{tl_reverse_tokens:n} \Arg{tokens}
 %   \end{syntax}
@@ -1047,19 +1045,20 @@
 %   two steps of expansion.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_length_tokens:n}
+% \begin{function}[added = 2011-08-11, EXP]{\tl_length_tokens:n}
 %   \begin{syntax}
 %     \cs{tl_length_tokens:n} \Arg{tokens}
 %   \end{syntax}
 %   Counts the number of \TeX{} tokens in the \meta{tokens} and leaves
 %   this information in the input stream. Every token, including spaces and
 %   braces, contributes one to the total; thus for instance, the length of
-%   |a~{bc}| is $6$. 
+%   |a~{bc}| is $6$.
 %   This function requires three expansions,
 %   giving an \meta{integer denotation}.
 % \end{function}
 %
-% \begin{function}[EXP]{\tl_expandable_uppercase:n,\tl_expandable_lowercase:n}
+% \begin{function}[added = 2011-08-13, EXP]
+%   {\tl_expandable_uppercase:n,\tl_expandable_lowercase:n}
 %   \begin{syntax}
 %     \cs{tl_expandable_uppercase:n} \Arg{tokens}
 %     \cs{tl_expandable_lowercase:n} \Arg{tokens}
@@ -1076,9 +1075,9 @@
 %     |{| and |}|, respectively.
 %   \end{texnote}
 % \end{function}
-% 
+%
 % \section{Internal functions}
-% 
+%
 % \begin{variable}{\q_tl_act_mark,\q_tl_act_stop}
 %   Quarks which are only used for the particular purposes of
 %   \cs{tl_act_...} functions.
@@ -1103,7 +1102,7 @@
 %    \end{macrocode}
 %
 % A token list variable is a \TeX{} macro that holds tokens. By using the
-% \eTeX{} primitive \cs{unexpanded} inside a \TeX{} \cs{edef} it is
+% \eTeX{} primitive \tn{unexpanded} inside a \TeX{} \tn{edef} it is
 % possible to store any tokens, including |#|, in this way.
 %
 % \subsection{Functions}
@@ -1348,7 +1347,7 @@
 % \begin{macro}[aux]{\tl_set_rescan_aux:NNnn}
 % \begin{macro}[aux]{\tl_rescan_aux:w}
 %   The idea here is to deal cleanly with the problem that
-%   \cs{tex_scantokens:D} treats the argument as a file, and without
+%   \tn{scantokens} treats the argument as a file, and without
 %   the correct settings a \TeX{} error occurs:
 %   \begin{verbatim}
 %    ! File ended while scanning definition of ...
@@ -1359,8 +1358,8 @@
 %   within the token list which is scanned: two |@| symbols with different
 %   category codes. The rescanned token list cannot contain the end marker,
 %   because all |@| present in the token list are read with the same category
-%   code. As every character with charcode \cs{tex_newlinechar:D} is replaced
-%   by the \cs{tex_endlinechar:D}, and an extra \cs{tex_endlinechar:D} is
+%   code. As every character with charcode \tn{newlinechar} is replaced
+%   by the \tn{endlinechar}, and an extra \tn{endlinechar} is
 %   added at the end, we need to set both of those to $-1$,
 %   \enquote{unprintable}.
 %    \begin{macrocode}
@@ -1400,7 +1399,7 @@
 % \begin{macro}{\tl_set_rescan:Nnx, \tl_set_rescan:cnx}
 % \begin{macro}{\tl_gset_rescan:Nnx, \tl_gset_rescan:cnx}
 % \begin{macro}[aux]{\tl_set_rescan_aux:NNnx}
-%   With \texttt{x}-type expansion the \cs{tex_everyoef:D} method
+%   With \texttt{x}-type expansion the \tn{everyeof} method
 %   does apply and the code is simple.
 %    \begin{macrocode}
 \cs_new_protected_nopar:Npn \tl_set_rescan:Nnx
@@ -1512,7 +1511,7 @@
   {
     \tl_if_empty:nTF {#4}
       {
-         \msg_kernel_error:nnx { tl } { empty-search-pattern } 
+         \msg_kernel_error:nnx { tl } { empty-search-pattern }
            { \tl_to_str:n {#5} }
       }
       {
@@ -1608,7 +1607,7 @@
 %   argument for \cs{use_none:n}. The similar construction
 %   \cs{exp_after:wN} \cs{use_none:n} \cs{tl_to_str:n} \Arg{token list} |?|
 %   would fail if the token list contains the control sequence \cs{ },
-%   while \cs{tex_escapechar:D} is a space or is unprintable.
+%   while \tn{escapechar} is a space or is unprintable.
 %    \begin{macrocode}
 \prg_new_conditional:Npnn \tl_if_blank:n #1 { p , T , F , TF }
   { \tl_if_empty_return:o { \use_none:n #1 ? } }
@@ -1775,15 +1774,9 @@
     \tl_if_empty:oTF { \tl_tmp:w #1 {} {} #2 }
       { \prg_return_false: } { \prg_return_true: }
   }
-\cs_generate_variant:Nn \tl_if_in:nnT  { V }
-\cs_generate_variant:Nn \tl_if_in:nnF  { V }
-\cs_generate_variant:Nn \tl_if_in:nnTF { V }
-\cs_generate_variant:Nn \tl_if_in:nnT  { o }
-\cs_generate_variant:Nn \tl_if_in:nnF  { o }
-\cs_generate_variant:Nn \tl_if_in:nnTF { o }
-\cs_generate_variant:Nn \tl_if_in:nnT  { no }
-\cs_generate_variant:Nn \tl_if_in:nnF  { no }
-\cs_generate_variant:Nn \tl_if_in:nnTF { no }
+\cs_generate_variant:Nn \tl_if_in:nnT  { V , o , no }
+\cs_generate_variant:Nn \tl_if_in:nnF  { V , o , no }
+\cs_generate_variant:Nn \tl_if_in:nnTF { V , o , no }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1987,9 +1980,12 @@
 %   trailing spaces. The end is reached when \verb*+ + \cs{q_nil}
 %   matches the one present in the definition of \cs{tl_trim_spacs:n}.
 %   Then \cs{tl_trim_spaces_aux_iv:w} puts the token list into a group,
-%   as the argument of the initial \cs{etex_unexpanded:D}.
-%   The \cs{etex_unexpanded:D} here is used so that space trimming will
+%   as the argument of the initial \tn{unexpanded}.
+%   The \tn{unexpanded} here is used so that space trimming will
 %   behave correctly within an \texttt{x}-type expansion.
+%
+%   Some of the auxiliaries used in this code are also used
+%   in the \pkg{l3clist} module. Change with care.
 %    \begin{macrocode}
 \cs_set:Npn \tl_tmp:w #1
   {
@@ -2170,7 +2166,7 @@
     \else:
       \prg_return_false:
     \fi:
-  }    
+  }
 %    \end{macrocode}
 %   For \cs{tl_if_head_eq_meaning:nN}, again, detect special cases.
 %   In the normal case, use \cs{tl_head:w}, with no \cs{exp_not:N}
@@ -2446,7 +2442,7 @@
 % \begin{macro}[EXP,aux]{\tl_act_loop:w,\tl_act_normal:NwnNNN,
 %     \tl_act_group:nwnNNN,\tl_act_space:wwnNNN,\tl_act_end:w}
 %   To help control the expansion, \cs{tl_act:NNNnn} starts with
-%   \cs{tex_romannumeral:D} and ends by producing \cs{c_zero}
+%   \tn{romannumeral} and ends by producing \cs{c_zero}
 %   once the result has been obtained. Then loop over tokens,
 %   groups, and spaces in |#5|. The marker \cs{q_tl_act_mark}
 %   is used both to avoid losing outer braces and to detect the
@@ -2465,7 +2461,7 @@
 %   accordingly. In the \enquote{normal} case, we may have
 %   reached \cs{q_tl_act_mark}, the end of the list. Then
 %   leave \cs{c_zero} and the result in the input stream,
-%   to terminate the expansion of \cs{tex_romannumeral:D}.
+%   to terminate the expansion of \tn{romannumeral}.
 %   Otherwise, apply the relevant function to the
 %   \enquote{arguments}, |#3|
 %   and to the head of the token list. Then repeat the loop.
@@ -2594,7 +2590,7 @@
 %
 % \begin{macro}{\tl_reverse:N, \tl_reverse:c}
 %   This reverses the list, leaving |{}| in front, which in turn
-%   is removed by the \cs{etex_unexpanded:D} primitive.
+%   is removed by the \tn{unexpanded} primitive.
 %    \begin{macrocode}
 \cs_new_protected_nopar:Npn \tl_reverse:N #1
   { \tl_set:No #1 { \etex_unexpanded:D \tl_reverse:o { #1 { } } } }
@@ -2661,7 +2657,7 @@
 %   tests, and converted if necessary to upper/lowercase,
 %   before being output. For a group, we must perform the
 %   conversion within the group (the \cs{exp_after:wN} trigger
-%   \cs{tex_romannumeral:D}, which expands fully to give the
+%   \tn{romannumeral}, which expands fully to give the
 %   converted group), then output.
 %    \begin{macrocode}
 \cs_new:Npn \tl_expandable_uppercase:n
@@ -2698,6 +2694,7 @@
 % \begin{macro}{\tl_new:Nn, \tl_new:cn, \tl_new:Nx}
 %   Use either \cs{tl_const:Nn} or \cs{tl_new:N}.
 %    \begin{macrocode}
+%<*deprecated>
 \cs_new_protected:Npn \tl_new:Nn #1#2
   {
     \tl_new:N #1
@@ -2705,6 +2702,7 @@
   }
 \cs_generate_variant:Nn \tl_new:Nn { c }
 \cs_generate_variant:Nn \tl_new:Nn { Nx }
+%</deprecated>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -2712,10 +2710,12 @@
 % \begin{macro}{\tl_set:Nc}
 %   This was useful once, but nowadays does not make much sense.
 %    \begin{macrocode}
+%<*deprecated>
 \cs_new_protected_nopar:Npn \tl_gset:Nc
-  { \pref_global:D \tl_set:Nc }
+  { \tex_global:D \tl_set:Nc }
 \cs_new_protected_nopar:Npn \tl_set:Nc #1#2
   { \tl_set:No #1 { \cs:w #2 \cs_end: } }
+%</deprecated>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2726,6 +2726,7 @@
 % \begin{macro}{\tl_greplace_all_in:Nnn, \tl_greplace_all_in:cnn}
 %   These are renamed.
 %    \begin{macrocode}
+%<*deprecated>
 \cs_new_eq:NN \tl_replace_in:Nnn  \tl_replace_once:Nnn
 \cs_new_eq:NN \tl_replace_in:cnn  \tl_replace_once:cnn
 \cs_new_eq:NN \tl_greplace_in:Nnn \tl_greplace_once:Nnn
@@ -2734,6 +2735,7 @@
 \cs_new_eq:NN \tl_replace_all_in:cnn  \tl_replace_all:cnn
 \cs_new_eq:NN \tl_greplace_all_in:Nnn \tl_greplace_all:Nnn
 \cs_new_eq:NN \tl_greplace_all_in:cnn \tl_greplace_all:cnn
+%</deprecated>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2746,6 +2748,7 @@
 % \begin{macro}{\tl_gremove_all_in:Nn, \tl_gremove_all_in:cn}
 %   Also renamed.
 %    \begin{macrocode}
+%<*deprecated>
 \cs_new_eq:NN \tl_remove_in:Nn  \tl_remove_once:Nn
 \cs_new_eq:NN \tl_remove_in:cn  \tl_remove_once:cn
 \cs_new_eq:NN \tl_gremove_in:Nn \tl_gremove_once:Nn
@@ -2754,6 +2757,7 @@
 \cs_new_eq:NN \tl_remove_all_in:cn  \tl_remove_all:cn
 \cs_new_eq:NN \tl_gremove_all_in:Nn \tl_gremove_all:Nn
 \cs_new_eq:NN \tl_gremove_all_in:cn \tl_gremove_all:cn
+%</deprecated>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2764,11 +2768,13 @@
 % \begin{macro}{\tl_elt_count:N, \tl_elt_count:c}
 % Another renaming job.
 %    \begin{macrocode}
+%<*deprecated>
 \cs_new_eq:NN \tl_elt_count:n \tl_length:n
 \cs_new_eq:NN \tl_elt_count:V \tl_length:V
 \cs_new_eq:NN \tl_elt_count:o \tl_length:o
 \cs_new_eq:NN \tl_elt_count:N \tl_length:N
 \cs_new_eq:NN \tl_elt_count:c \tl_length:c
+%</deprecated>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2780,11 +2786,13 @@
 % \begin{macro}{\tl_head_iii:w}
 %  Two renames, and a few that are rather too specialised.
 %    \begin{macrocode}
+%<*deprecated>
 \cs_new_eq:NN \tl_head_i:n \tl_head:n
 \cs_new_eq:NN \tl_head_i:w \tl_head:w
 \cs_new:Npn \tl_head_iii:n #1 { \tl_head_iii:w #1 \q_stop }
 \cs_generate_variant:Nn \tl_head_iii:n { f }
 \cs_new:Npn \tl_head_iii:w #1#2#3#4 \q_stop {#1#2#3}
+%</deprecated>
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
-- 
cgit v1.2.3

