summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx200
1 files changed, 100 insertions, 100 deletions
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
index b5ed855d6e8..ddc962cb6fc 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-convert.dtx
@@ -7,7 +7,7 @@
% license or (at your option) any later version. The latest version
% of this license is in the file
%
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
%
% This file is part of the "l3experimental bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2017/11/14}
+% \date{Released 2017/12/05}
%
% \maketitle
%
@@ -252,7 +252,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-convert}{2017/11/14}{}
+\ProvidesExplPackage{l3str-convert}{2017/12/05}{}
{L3 Experimental string encoding conversions}
% \end{macrocode}
%
@@ -260,7 +260,7 @@
%
% \subsubsection{A function unrelated to strings}
%
-% \begin{macro}[EXP,aux]{\use_ii_i:nn}
+% \begin{macro}[EXP]{\use_ii_i:nn}
% A function used to swap its arguments.
% \begin{macrocode}
\cs_if_exist:NF \use_ii_i:nn
@@ -356,8 +356,8 @@
%
% \begin{macro}[EXP]{\@@_if_contains_char:NNT, \@@_if_contains_char:NNTF}
% \begin{macro}[EXP]{\@@_if_contains_char:nNTF}
-% \begin{macro}[EXP,aux]{\@@_if_contains_char_aux:NN}
-% \begin{macro}[EXP,aux]{\@@_if_contains_char_true:}
+% \begin{macro}[EXP]{\@@_if_contains_char_aux:NN}
+% \begin{macro}[EXP]{\@@_if_contains_char_true:}
% \begin{syntax}
% \cs{@@_if_contains_char:nNTF} \Arg{token list} \meta{char}
% \end{syntax}
@@ -396,7 +396,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[aux, rEXP]{\@@_octal_use:NTF}
+% \begin{macro}[rEXP]{\@@_octal_use:NTF}
% \begin{syntax}
% \cs{@@_octal_use:NTF} \meta{token} \Arg{true code} \Arg{false code}
% \end{syntax}
@@ -424,7 +424,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[aux, rEXP]{\@@_hexadecimal_use:NTF}
+% \begin{macro}[rEXP]{\@@_hexadecimal_use:NTF}
% \TeX{} detects uppercase hexadecimal digits for us (see
% \cs{@@_octal_use:NTF}), but not the lowercase letters, which we
% need to detect and replace by their uppercase counterpart.
@@ -482,11 +482,11 @@
% \end{variable}
% \end{variable}
%
-% \begin{macro}[int, EXP]{\@@_output_byte:n}
-% \begin{macro}[int, EXP]{\@@_output_byte:w}
-% \begin{macro}[int, EXP]{\@@_output_hexadecimal:n}
-% \begin{macro}[int, EXP]{\@@_output_hexadecimal:w}
-% \begin{macro}[int, EXP]{\@@_output_end:}
+% \begin{macro}[EXP]{\@@_output_byte:n}
+% \begin{macro}[EXP]{\@@_output_byte:w}
+% \begin{macro}[EXP]{\@@_output_hexadecimal:n}
+% \begin{macro}[EXP]{\@@_output_hexadecimal:w}
+% \begin{macro}[EXP]{\@@_output_end:}
% Those functions must be used carefully: feeding them a value outside
% the range $[-1,255]$ will attempt to use the undefined token list
% variable \cs{c_@@_byte_\meta{number}_tl}. Assuming that the
@@ -520,9 +520,9 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int, rEXP]{\@@_output_byte_pair_be:n}
-% \begin{macro}[int, rEXP]{\@@_output_byte_pair_le:n}
-% \begin{macro}[aux, rEXP]{\@@_output_byte_pair:nnN}
+% \begin{macro}[rEXP]{\@@_output_byte_pair_be:n}
+% \begin{macro}[rEXP]{\@@_output_byte_pair_le:n}
+% \begin{macro}[rEXP]{\@@_output_byte_pair:nnN}
% Convert a number in the range $[0,65535]$ to a pair of bytes, either
% big-endian or little-endian.
% \begin{macrocode}
@@ -550,7 +550,7 @@
% \subsubsection{Mapping functions for conversions}
%
% \begin{macro}{\@@_convert_gmap:N}
-% \begin{macro}[aux, rEXP]{\@@_convert_gmap_loop:NN}
+% \begin{macro}[rEXP]{\@@_convert_gmap_loop:NN}
% This maps the function |#1| over all characters in
% \cs{g_@@_result_tl}, which should be a byte string in most cases,
% sometimes a native string.
@@ -576,7 +576,7 @@
% \end{macro}
%
% \begin{macro}{\@@_convert_gmap_internal:N}
-% \begin{macro}[aux, rEXP]{\@@_convert_gmap_internal_loop:Nw}
+% \begin{macro}[rEXP]{\@@_convert_gmap_internal_loop:Nw}
% This maps the function |#1| over all character codes in
% \cs{g_@@_result_tl}, which must be in the internal representation.
% \begin{macrocode}
@@ -602,8 +602,8 @@
%
% \subsubsection{Error-reporting during conversion}
%
-% \begin{macro}[int]{\@@_if_flag_error:nnx}
-% \begin{macro}[aux]{\@@_if_flag_no_error:nnx}
+% \begin{macro}{\@@_if_flag_error:nnx}
+% \begin{macro}{\@@_if_flag_no_error:nnx}
% When converting using the function \cs{str_set_convert:Nnnn}, errors
% should be reported to the user after each step in the
% conversion. Errors are signalled by raising some flag (typically
@@ -626,7 +626,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int, rEXP]{\@@_if_flag_times:nT}
+% \begin{macro}[rEXP]{\@@_if_flag_times:nT}
% At the end of each conversion step, we raise all relevant errors as
% one error message, built on the fly. The height of each flag
% indicates how many times a given error was encountered. This
@@ -673,7 +673,7 @@
%
% \begin{macro}{\str_set_convert:Nnnn, \str_gset_convert:Nnnn}
% \begin{macro}[TF]{\str_set_convert:Nnnn, \str_gset_convert:Nnnn}
-% \begin{macro}[aux]{\@@_convert:nNNnnn}
+% \begin{macro}{\@@_convert:nNNnnn}
% The input string is stored in \cs{g_@@_result_tl}, then we:
% unescape and decode; encode and escape; exit the group and store the
% result in the user's variable. The various conversion functions all
@@ -725,8 +725,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[aux]{\@@_convert:wwwnn}
-% \begin{macro}[aux]{\@@_convert:NNnNN}
+% \begin{macro}{\@@_convert:wwwnn}
+% \begin{macro}{\@@_convert:NNnNN}
% The task of \cs{@@_convert:wwwnn} is to split
% \meta{encoding}/\meta{escaping} pairs into their components, |#1|
% and |#2|. Calls to \cs{@@_convert:nnn} ensure that the
@@ -771,8 +771,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[aux]{\@@_convert:nnn}
-% \begin{macro}[aux]{\@@_convert:nnnn}
+% \begin{macro}{\@@_convert:nnn}
+% \begin{macro}{\@@_convert:nnnn}
% The arguments of \cs{@@_convert:nnn} are: \texttt{enc} or
% \texttt{esc}, used to build filenames, the type of the conversion
% (unescape, decode, encode, escape), and the encoding or escaping
@@ -848,8 +848,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int, rEXP]{\@@_convert_lowercase_alphanum:n}
-% \begin{macro}[aux, rEXP]{\@@_convert_lowercase_alphanum_loop:N}
+% \begin{macro}[rEXP]{\@@_convert_lowercase_alphanum:n}
+% \begin{macro}[rEXP]{\@@_convert_lowercase_alphanum_loop:N}
% This function keeps only letters and digits, with upper case letters
% converted to lower case.
% \begin{macrocode}
@@ -883,7 +883,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_load_catcodes:}
+% \begin{macro}{\@@_load_catcodes:}
% Since encoding files may be loaded at arbitrary places in a \TeX{}
% document, including within verbatim mode, we set the catcodes of all
% characters appearing in any encoding definition file.
@@ -916,8 +916,8 @@
% needed. By default, on input any non-byte is filtered out, while the
% output simply consists in letting bytes through.
%
-% \begin{macro}[int, rEXP]{\@@_filter_bytes:n}
-% \begin{macro}[aux, rEXP]{\@@_filter_bytes_aux:N}
+% \begin{macro}[rEXP]{\@@_filter_bytes:n}
+% \begin{macro}[rEXP]{\@@_filter_bytes_aux:N}
% In the case of 8-bit engines, every character is a byte. For
% Unicode-aware engines, test the character code; non-bytes cause us
% to raise the flag \texttt{str_byte}. Spaces have already been given
@@ -951,8 +951,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_unescape_:}
-% \begin{macro}[int]{\@@_convert_unescape_bytes:}
+% \begin{macro}{\@@_convert_unescape_:}
+% \begin{macro}{\@@_convert_unescape_bytes:}
% The simplest unescaping method removes non-bytes from
% \cs{g_@@_result_tl}.
% \begin{macrocode}
@@ -976,8 +976,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_escape_:}
-% \begin{macro}[int]{\@@_convert_escape_bytes:}
+% \begin{macro}{\@@_convert_escape_:}
+% \begin{macro}{\@@_convert_escape_bytes:}
% The simplest form of escape leaves the bytes from the previous step
% of the conversion unchanged.
% \begin{macrocode}
@@ -989,8 +989,8 @@
%
% \subsubsection{Native strings}
%
-% \begin{macro}[int]{\@@_convert_decode_:}
-% \begin{macro}[aux, rEXP]{\@@_decode_native_char:N}
+% \begin{macro}{\@@_convert_decode_:}
+% \begin{macro}[rEXP]{\@@_decode_native_char:N}
% Convert each character to its character code, one at a time.
% \begin{macrocode}
\cs_new_protected:Npn \@@_convert_decode_:
@@ -1001,7 +1001,7 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_encode_:}
+% \begin{macro}{\@@_convert_encode_:}
% The conversion from an internal string to native character tokens is
% very different in pdf\TeX{} and in other engines. For Unicode-aware
% engines, we need the definitions to be read when the null byte has
@@ -1015,9 +1015,9 @@
\sys_if_engine_xetex_p:
}
% \end{macrocode}
-% \begin{macro}[aux]{\@@_encode_native_loop:w}
-% \begin{macro}[aux]{\@@_encode_native_flush:}
-% \begin{macro}[aux, rEXP]{\@@_encode_native_filter:N}
+% \begin{macro}{\@@_encode_native_loop:w}
+% \begin{macro}{\@@_encode_native_flush:}
+% \begin{macro}[rEXP]{\@@_encode_native_filter:N}
% In Unicode-aware engines, since building particular characters
% cannot be done expandably in \TeX{}, we cannot hope to get a
% linear-time function. However, we get quite close using the
@@ -1049,7 +1049,7 @@
}
}
% \end{macrocode}
-% \begin{macro}[aux, EXP]{\@@_encode_native_char:n}
+% \begin{macro}[EXP]{\@@_encode_native_char:n}
% Since pdf\TeX{} only supports 8-bit characters, and we have a table
% of all bytes, the conversion can be done in linear time within an
% \texttt{x}-expanding assignment. Look out for character codes larger
@@ -1094,15 +1094,15 @@
%
% \subsubsection{\texttt{clist}}
%
-% \begin{macro}[int]{\@@_convert_decode_clist:}
-% \begin{macro}[aux, rEXP]{\@@_decode_clist_char:n}
+% \begin{macro}{\@@_convert_decode_clist:}
+% \begin{macro}[rEXP]{\@@_decode_clist_char:n}
% Convert each integer to the internal form. We first turn
% \cs{g_@@_result_tl} into a clist variable, as this avoids problems
% with leading or trailing commas.
% \begin{macrocode}
\cs_new_protected:Npn \@@_convert_decode_clist:
{
- \clist_set:No \g_@@_result_tl \g_@@_result_tl
+ \clist_gset:No \g_@@_result_tl \g_@@_result_tl
\tl_gset:Nx \g_@@_result_tl
{
\exp_args:No \clist_map_function:nN
@@ -1115,8 +1115,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_encode_clist:}
-% \begin{macro}[aux, rEXP]{\@@_encode_clist_char:n}
+% \begin{macro}{\@@_convert_encode_clist:}
+% \begin{macro}[rEXP]{\@@_encode_clist_char:n}
% Convert the internal list of character codes to a comma-list of
% character codes. The first line produces a comma-list with a
% leading comma, removed in the next step (this also works in the
@@ -1151,7 +1151,7 @@
% All the 8-bit encodings which \pkg{l3str} supports rely on the same
% internal functions.
%
-% \begin{macro}[int]{\@@_declare_eight_bit_encoding:nnn}
+% \begin{macro}{\@@_declare_eight_bit_encoding:nnn}
% \begin{syntax}
% \cs{@@_declare_eight_bit_encoding:nnn} \Arg{name} \Arg{mapping} \Arg{missing}
% \end{syntax}
@@ -1183,10 +1183,10 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_decode_eight_bit:n}
-% \begin{macro}[aux]{\@@_decode_eight_bit_load:nn}
-% \begin{macro}[aux]{\@@_decode_eight_bit_load_missing:n}
-% \begin{macro}[aux, EXP]{\@@_decode_eight_bit_char:N}
+% \begin{macro}{\@@_convert_decode_eight_bit:n}
+% \begin{macro}{\@@_decode_eight_bit_load:nn}
+% \begin{macro}{\@@_decode_eight_bit_load_missing:n}
+% \begin{macro}[EXP]{\@@_decode_eight_bit_char:N}
%^^A todo: document
% \begin{macrocode}
\cs_new_protected:Npn \@@_convert_decode_eight_bit:n #1
@@ -1241,10 +1241,10 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_encode_eight_bit:n}
-% \begin{macro}[aux]{\@@_encode_eight_bit_load:nn}
-% \begin{macro}[aux, rEXP]{\@@_encode_eight_bit_char:n}
-% \begin{macro}[aux, rEXP]{\@@_encode_eight_bit_char_aux:n}
+% \begin{macro}{\@@_convert_encode_eight_bit:n}
+% \begin{macro}{\@@_encode_eight_bit_load:nn}
+% \begin{macro}[rEXP]{\@@_encode_eight_bit_char:n}
+% \begin{macro}[rEXP]{\@@_encode_eight_bit_char_aux:n}
%^^A todo: document
% \begin{macrocode}
\cs_new_protected:Npn \@@_convert_encode_eight_bit:n #1
@@ -1385,9 +1385,9 @@
%
% \subsubsection{Unescape methods}
%
-% \begin{macro}[int]{\@@_convert_unescape_hex:}
-% \begin{macro}[aux, rEXP]{\@@_unescape_hex_auxi:N}
-% \begin{macro}[aux, rEXP]{\@@_unescape_hex_auxii:N}
+% \begin{macro}{\@@_convert_unescape_hex:}
+% \begin{macro}[rEXP]{\@@_unescape_hex_auxi:N}
+% \begin{macro}[rEXP]{\@@_unescape_hex_auxii:N}
% Take chars two by two, and interpret each pair as the hexadecimal
% code for a byte. Anything else than hexadecimal digits is ignored,
% raising the flag. A string which contains an odd number of
@@ -1447,10 +1447,10 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_unescape_name:}
-% \begin{macro}[aux, rEXP]{\@@_unescape_name_loop:wNN}
-% \begin{macro}[int]{\@@_convert_unescape_url:}
-% \begin{macro}[aux, rEXP]{\@@_unescape_url_loop:wNN}
+% \begin{macro}{\@@_convert_unescape_name:}
+% \begin{macro}[rEXP]{\@@_unescape_name_loop:wNN}
+% \begin{macro}{\@@_convert_unescape_url:}
+% \begin{macro}[rEXP]{\@@_unescape_url_loop:wNN}
% The \cs{@@_convert_unescape_name:} function replaces each
% occurrence of |#| followed by two hexadecimal digits in
% \cs{g_@@_result_tl} by the corresponding byte. The \texttt{url}
@@ -1534,10 +1534,10 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_unescape_string:}
-% \begin{macro}[aux, rEXP]{\@@_unescape_string_newlines:wN}
-% \begin{macro}[aux, rEXP]{\@@_unescape_string_loop:wNNN}
-% \begin{macro}[aux, rEXP]{\@@_unescape_string_repeat:NNNNNN}
+% \begin{macro}{\@@_convert_unescape_string:}
+% \begin{macro}[rEXP]{\@@_unescape_string_newlines:wN}
+% \begin{macro}[rEXP]{\@@_unescape_string_loop:wNNN}
+% \begin{macro}[rEXP]{\@@_unescape_string_repeat:NNNNNN}
% The \texttt{string} escaping is somewhat similar to the
% \texttt{name} and \texttt{url} escapings, with escape character |\|.
% The first step is to convert all three line endings, |^^J|, |^^M|,
@@ -1560,14 +1560,12 @@
% If followed by an end-of-line character, the backslash and the
% end-of-line are ignored. If followed by anything else, the backslash
% is ignored, raising the error flag.
-%^^A Be paranoid: \tex_lowercase:D is unsafe.
% \begin{macrocode}
%<*string>
\group_begin:
- \char_set_lccode:nn {`\*} {`\\}
\char_set_catcode_other:N \^^J
\char_set_catcode_other:N \^^M
- \tex_lowercase:D
+ \cs_set_protected:Npn \@@_tmp:w #1
{
\cs_new_protected:Npn \@@_convert_unescape_string:
{
@@ -1584,15 +1582,17 @@
\tl_gset:Nx \g_@@_result_tl
{
\exp_after:wN \@@_unescape_string_loop:wNNN
- \g_@@_result_tl * ?? { ? \__prg_break: }
+ \g_@@_result_tl #1 ?? { ? \__prg_break: }
\__prg_break_point:
}
\@@_if_flag_error:nnx { str_byte } { non-byte } { string }
\@@_if_flag_error:nnx { str_error } { unescape-string } { }
\group_end:
}
- \cs_new:Npn \@@_unescape_string_loop:wNNN #1 *#2#3#4
}
+ \exp_args:No \@@_tmp:w { \c_backslash_str }
+ \exp_last_unbraced:NNNNo
+ \cs_new:Npn \@@_unescape_string_loop:wNNN #1 \c_backslash_str #2#3#4
{
\@@_filter_bytes:n {#1}
\use_none:n #4
@@ -1662,8 +1662,8 @@
% Currently, none of the escape methods can lead to errors, assuming
% that their input is made out of bytes.
%
-% \begin{macro}[int]{\@@_convert_escape_hex:}
-% \begin{macro}[aux, rEXP]{\@@_escape_hex_char:N}
+% \begin{macro}{\@@_convert_escape_hex:}
+% \begin{macro}[rEXP]{\@@_escape_hex_char:N}
% Loop and convert each byte to hexadecimal.
% \begin{macrocode}
%<*hex>
@@ -1676,9 +1676,9 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_escape_name:}
-% \begin{macro}[aux, rEXP]{\@@_escape_name_char:N}
-% \begin{macro}[aux, rEXP]{\@@_if_escape_name:NTF}
+% \begin{macro}{\@@_convert_escape_name:}
+% \begin{macro}[rEXP]{\@@_escape_name_char:N}
+% \begin{macro}[rEXP]{\@@_if_escape_name:NTF}
% \begin{variable}{\c_@@_escape_name_str}
% \begin{variable}{\c_@@_escape_name_not_str}
% For each byte, test whether it should be output as is, or be
@@ -1720,9 +1720,9 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_escape_string:}
-% \begin{macro}[aux, rEXP]{\@@_escape_string_char:N}
-% \begin{macro}[aux, rEXP]{\@@_if_escape_string:NTF}
+% \begin{macro}{\@@_convert_escape_string:}
+% \begin{macro}[rEXP]{\@@_escape_string_char:N}
+% \begin{macro}[rEXP]{\@@_if_escape_string:NTF}
% \begin{variable}{\c_@@_escape_string_str}
% Any character below (and including) space, and any character above
% (and including) \texttt{del}, are converted to octal. One backslash
@@ -1768,9 +1768,9 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[int]{\@@_convert_escape_url:}
-% \begin{macro}[aux, rEXP]{\@@_escape_url_char:N}
-% \begin{macro}[aux, rEXP]{\@@_if_escape_url:NTF}
+% \begin{macro}{\@@_convert_escape_url:}
+% \begin{macro}[rEXP]{\@@_escape_url_char:N}
+% \begin{macro}[rEXP]{\@@_if_escape_url:NTF}
% This function is similar to \cs{@@_convert_escape_name:}, escaping
% different characters.
% \begin{macrocode}
@@ -1820,9 +1820,9 @@
%<*utf8>
% \end{macrocode}
%
-% \begin{macro}[int]{\@@_convert_encode_utf8:}
-% \begin{macro}[aux, rEXP]{\@@_encode_utf_viii_char:n}
-% \begin{macro}[aux, rEXP]{\@@_encode_utf_viii_loop:wwnnw}
+% \begin{macro}{\@@_convert_encode_utf8:}
+% \begin{macro}[rEXP]{\@@_encode_utf_viii_char:n}
+% \begin{macro}[rEXP]{\@@_encode_utf_viii_loop:wwnnw}
% Loop through the internal string, and convert each character to its
% \textsc{utf-8} representation. The representation is built from the
% right-most (least significant) byte to the left-most (most
@@ -1967,14 +1967,14 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}[int]{\@@_convert_decode_utf8:}
-% \begin{macro}[aux, rEXP]
+% \begin{macro}{\@@_convert_decode_utf8:}
+% \begin{macro}[rEXP]
% {
% \@@_decode_utf_viii_start:N,
% \@@_decode_utf_viii_continuation:wwN,
% \@@_decode_utf_viii_aux:wNnnwN
% }
-% \begin{macro}[aux, rEXP]
+% \begin{macro}[rEXP]
% {\@@_decode_utf_viii_overflow:w, \@@_decode_utf_viii_end:}
% Decoding is significantly harder than encoding. As before, lower
% some flags, which are tested at the end (in bulk, to trigger at most
@@ -2148,13 +2148,13 @@
\char_set_catcode_other:N \^^ff
% \end{macrocode}
%
-% \begin{macro}[int]
+% \begin{macro}
% {
% \@@_convert_encode_utf16: ,
% \@@_convert_encode_utf16be: ,
% \@@_convert_encode_utf16le: ,
% }
-% \begin{macro}[aux, rEXP]
+% \begin{macro}[rEXP]
% {
% \@@_encode_utf_xvi_aux:N ,
% \@@_encode_utf_xvi_char:n ,
@@ -2285,13 +2285,13 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}[int]
+% \begin{macro}
% {
% \@@_convert_decode_utf16: ,
% \@@_convert_decode_utf16be: ,
% \@@_convert_decode_utf16le: ,
% }
-% \begin{macro}[aux]{\@@_decode_utf_xvi_bom:NN, \@@_decode_utf_xvi:Nw}
+% \begin{macro}{\@@_decode_utf_xvi_bom:NN, \@@_decode_utf_xvi:Nw}
% As for \textsc{utf-8}, decoding \textsc{utf-16} is harder than
% encoding it. If the endianness is unknown, check the first two
% bytes: if those are \hexnum{FE} and \hexnum{FF} in either order,
@@ -2346,13 +2346,13 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[aux, rEXP]
+% \begin{macro}[rEXP]
% {
% \@@_decode_utf_xvi_pair:NN ,
% \@@_decode_utf_xvi_quad:NNwNN ,
% \@@_decode_utf_xvi_pair_end:Nw ,
% }
-% \begin{macro}[aux, rEXP]
+% \begin{macro}[rEXP]
% {
% \@@_decode_utf_xvi_error:nNN ,
% \@@_decode_utf_xvi_extra:NNw ,
@@ -2474,13 +2474,13 @@
\char_set_catcode_other:N \^^ff
% \end{macrocode}
%
-% \begin{macro}[int]
+% \begin{macro}
% {
% \@@_convert_encode_utf32: ,
% \@@_convert_encode_utf32be: ,
% \@@_convert_encode_utf32le: ,
% }
-% \begin{macro}[aux, rEXP]
+% \begin{macro}[rEXP]
% {
% \@@_encode_utf_xxxii_be:n ,
% \@@_encode_utf_xxxii_be_aux:nn ,
@@ -2563,15 +2563,15 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}[int]
+% \begin{macro}
% {
% \@@_convert_decode_utf32: ,
% \@@_convert_decode_utf32be: ,
% \@@_convert_decode_utf32le: ,
% }
-% \begin{macro}[aux]
+% \begin{macro}
% {\@@_decode_utf_xxxii_bom:NNNN, \@@_decode_utf_xxxii:Nw}
-% \begin{macro}[aux, rEXP]
+% \begin{macro}[rEXP]
% {\@@_decode_utf_xxxii_loop:NNNN, \@@_decode_utf_xxxii_end:w}
%
% The structure is similar to \textsc{utf-16} decoding functions. If