diff options
author | Karl Berry <karl@freefriends.org> | 2016-10-19 20:38:20 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-10-19 20:38:20 +0000 |
commit | 52b787d36c60fda90673669dd2809c95c1fdfca5 (patch) | |
tree | beb7faf87e1ab5be65f7437e500619b20eba20a1 /Master/texmf-dist/source/latex/l3kernel/l3str.dtx | |
parent | 97a401ad817da2dafd1069df9d87a28ed39df69b (diff) |
l3 (19oct16)
git-svn-id: svn://tug.org/texlive/trunk@42306 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3str.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3str.dtx | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx index 05b327cf286..376bcb729fe 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx @@ -37,7 +37,7 @@ \documentclass[full]{l3doc} %</driver> %<*driver|package> -\GetIdInfo$Id: l3str.dtx 6441 2016-03-24 10:11:59Z joseph $ +\GetIdInfo$Id: l3str.dtx 6692 2016-08-19 22:29:47Z bruno $ {L3 Strings} %</driver|package> %<*driver> @@ -91,8 +91,8 @@ % representation differently. % % Note that as string variables are a special case of token list variables -% the coverage of \cs{str_\ldots{}:N} functions is somewhat smaller than -% \cs{tl_\ldots{}:N}. +% the coverage of \cs[no-index]{str_\ldots{}:N} functions is somewhat smaller than +% \cs[no-index]{tl_\ldots{}:N}. % % The functions \cs{cs_to_str:N}, \cs{tl_to_str:n}, \cs{tl_to_str:N} and % \cs{token_to_str:N} (and variants) will generate strings from the appropriate @@ -101,11 +101,11 @@ % % Most expandable functions in this module come in three flavours: % \begin{itemize} -% \item \cs{str_...:N}, which expect a token list or string +% \item \cs[no-index]{str_\ldots{}:N}, which expect a token list or string % variable as their argument; -% \item \cs{str_...:n}, taking any token list (or string) as an +% \item \cs[no-index]{str_\ldots{}:n}, taking any token list (or string) as an % argument; -% \item \cs{str_..._ignore_spaces:n}, which ignores any space +% \item \cs[no-index]{str_\ldots{}_ignore_spaces:n}, which ignores any space % encountered during the operation: these functions are typically % faster than those which take care of escaping spaces % appropriately. @@ -145,7 +145,8 @@ % \cs{str_clear_new:N} \meta{str~var} % \end{syntax} % Ensures that the \meta{str~var} exists globally by applying -% \cs{str_new:N} if necessary, then applies \cs{str_(g)clear:N} to leave +% \cs{str_new:N} if necessary, then applies +% \cs[index=str_clear:N]{str_(g)clear:N} to leave % the \meta{str~var} empty. % \end{function} % @@ -269,7 +270,7 @@ % is logically \texttt{true}. % \end{function} % -% \begin{function}[added = 2013-07-24, updated = 2015-02-28, EXP, TF] +% \begin{function}[added = 2013-07-24, updated = 2015-02-28, EXP, noTF] % {\str_case:nn, \str_case:on, \str_case:nV, \str_case:nv} % \begin{syntax} % \cs{str_case:nnTF} \Arg{test string} \\ @@ -295,7 +296,7 @@ % % \begin{function}[added = 2013-07-24, EXP, TF]{\str_case_x:nn} % \begin{syntax} -% \cs{str_case_x:nnF} \Arg{test string} \\ +% \cs{str_case_x:nnTF} \Arg{test string} \\ % ~~|{| \\ % ~~~~\Arg{string case_1} \Arg{code case_1} \\ % ~~~~\Arg{string case_2} \Arg{code case_2} \\ @@ -478,8 +479,10 @@ % \begin{itemize} % \item Caseless comparisons: use \cs{str_fold_case:n} for this % situation (case folding is district from lower casing). -% \item Case changing text for typesetting: see the \cs{tl_lower_case:n(n)}, -% \cs{tl_upper_case:n(n)} and \cs{tl_mixed_case:n(n)} functions which +% \item Case changing text for typesetting: see the +% \cs[index=tl_lower_case:n]{tl_lower_case:n(n)}, +% \cs[index=tl_upper_case:n]{tl_upper_case:n(n)} and +% \cs[index=tl_mixed_case:n]{tl_mixed_case:n(n)} functions which % correctly deal with context-dependence and other factors appropriate % to text case changing. % \end{itemize} @@ -608,7 +611,7 @@ % character basis, and is \texttt{true} if the two lists contain the same % characters in the same order. Either \cs{prg_return_true:} or % \cs{prg_return_false:} is then left in the input stream. This is a version -% of \cs{str_if_eq_x:nn(TF)} coded for speed. +% of \cs{str_if_eq_x:nnTF} coded for speed. % \end{function} % % \begin{function}[EXP]{\__str_to_other:n} @@ -764,7 +767,7 @@ % % \begin{macro}[int, EXP]{\@@_if_eq_x:nn} % \begin{macro}[aux, EXP]{\@@_escape_x:n} -% String comparisons rely on the primitive \cs{(pdf)strcmp} if available: +% String comparisons rely on the primitive \cs[index=pdfstrcmp]{(pdf)strcmp} if available: % \LuaTeX{} does not have it, so emulation is required. As the net result % is that we do not \emph{always} use the primitive, the correct approach % is to wrap up in a function with defined behaviour. That's done by @@ -872,15 +875,13 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}[EXP] -% {\str_case:nn, \str_case:on, \str_case:nV, \str_case:nv, \str_case_x:nn} -% \begin{macro}[EXP, TF] +% \begin{macro}[EXP, noTF] % {\str_case:nn, \str_case:on, \str_case:nV, \str_case:nv, \str_case_x:nn} % \begin{macro}[EXP, aux]{\@@_case:nnTF, \@@_case_x:nnTF} % \begin{macro}[aux, EXP] % {\@@_case:nw, \@@_case_x:nw, \@@_case_end:nw} -% Much the same as \cs{tl_case:nn(TF)} here: just a change in the internal -% comparison. +% Much the same as \cs[index=tl_case:nn]{tl_case:nn(TF)} here: +% just a change in the internal comparison. % \begin{macrocode} \cs_new:Npn \str_case:nn #1#2 { @@ -947,7 +948,6 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} % % \subsection{Accessing specific characters in a string} % @@ -1009,7 +1009,7 @@ % brace group before the string in that case: that brace group also % covers the case where the \meta{index} is zero. % \begin{macrocode} -\cs_new_nopar:Npn \str_item:Nn { \exp_args:No \str_item:nn } +\cs_new:Npn \str_item:Nn { \exp_args:No \str_item:nn } \cs_generate_variant:Nn \str_item:Nn { c } \cs_new:Npn \str_item:nn #1#2 { @@ -1105,7 +1105,7 @@ % Afterwards, skip characters, then keep some more, and finally drop % the end of the string. % \begin{macrocode} -\cs_new_nopar:Npn \str_range:Nnn { \exp_args:No \str_range:nnn } +\cs_new:Npn \str_range:Nnn { \exp_args:No \str_range:nnn } \cs_generate_variant:Nn \str_range:Nnn { c } \cs_new:Npn \str_range:nnn #1#2#3 { @@ -1226,7 +1226,7 @@ % \meta{number} is added to the sum of $9$ that precedes, to adjust % the result. % \begin{macrocode} -\cs_new_nopar:Npn \str_count_spaces:N +\cs_new:Npn \str_count_spaces:N { \exp_args:No \str_count_spaces:n } \cs_generate_variant:Nn \str_count_spaces:N { c } \cs_new:Npn \str_count_spaces:n #1 @@ -1268,7 +1268,7 @@ % \cs{str_count_ignore_spaces:n} but expects its argument to already % be a string or a string with spaces escaped. % \begin{macrocode} -\cs_new_nopar:Npn \str_count:N { \exp_args:No \str_count:n } +\cs_new:Npn \str_count:N { \exp_args:No \str_count:n } \cs_generate_variant:Nn \str_count:N { c } \cs_new:Npn \str_count:n #1 { @@ -1331,7 +1331,7 @@ % gives an empty result after passing through % \cs{use_i_delimit_by_q_stop:nw}. % \begin{macrocode} -\cs_new_nopar:Npn \str_head:N { \exp_args:No \str_head:n } +\cs_new:Npn \str_head:N { \exp_args:No \str_head:n } \cs_generate_variant:Nn \str_head:N { c } \cs_set:Npn \str_head:n #1 { @@ -1368,7 +1368,7 @@ % One can check that an empty (or blank) string yields an empty % tail. % \begin{macrocode} -\cs_new_nopar:Npn \str_tail:N { \exp_args:No \str_tail:n } +\cs_new:Npn \str_tail:N { \exp_args:No \str_tail:n } \cs_generate_variant:Nn \str_tail:N { c } \cs_set:Npn \str_tail:n #1 { @@ -1623,7 +1623,6 @@ \@@_map_loop: } } - \cs_set_nopar:Npn \l_@@_tmp_tl { } % \end{macrocode} % The lead-off parser for each line is common for all of the files. If % the line starts with a |#| it's a comment. There's one special comment |