[latex3-commits] [l3svn] branch master updated: Merge upper/lower and mixed case changers (fixes #378)
noreply at latex-project.org
noreply at latex-project.org
Fri Jul 14 23:10:42 CEST 2017
This is an automated email from the git hooks/post-receive script.
joseph pushed a commit to branch master
in repository l3svn.
The following commit(s) were added to refs/heads/master by this push:
new 8f024a6 Merge upper/lower and mixed case changers (fixes #378)
8f024a6 is described below
commit 8f024a6b2e858c249ff7cf36645f4618e7711dc4
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Fri Jul 14 22:09:20 2017 +0100
Merge upper/lower and mixed case changers (fixes #378)
The upper/lower code already covered active chars in pdfTeX,
but the split meant that mixed case didn't. Bringing them together
addresses this.
---
l3kernel/l3candidates.dtx | 357 ++++++++++++++-----------------
l3kernel/l3str.dtx | 4 +-
l3kernel/testfiles/m3expl001.luatex.tlg | 103 +++++----
l3kernel/testfiles/m3expl001.ptex.tlg | 31 ++-
l3kernel/testfiles/m3expl001.tlg | 33 ++-
l3kernel/testfiles/m3expl001.uptex.tlg | 33 ++-
l3kernel/testfiles/m3expl001.xetex.tlg | 103 +++++----
l3kernel/testfiles/m3expl003.luatex.tlg | 103 +++++----
l3kernel/testfiles/m3expl003.ptex.tlg | 31 ++-
l3kernel/testfiles/m3expl003.tlg | 33 ++-
l3kernel/testfiles/m3expl003.uptex.tlg | 33 ++-
l3kernel/testfiles/m3expl003.xetex.tlg | 103 +++++----
l3kernel/testfiles/m3tl013.tlg | 8 +-
13 files changed, 461 insertions(+), 514 deletions(-)
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index e827aed..9b0dfff 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -2409,16 +2409,14 @@
% \begin{macro}[EXP]{\tl_lower_case:n, \tl_upper_case:n, \tl_mixed_case:n}
% \begin{macro}[EXP]{\tl_lower_case:nn, \tl_upper_case:nn, \tl_mixed_case:nn}
% The user level functions here are all wrappers around the internal
-% functions for case changing. Note that \cs{tl_mixed_case:nn} could be
-% done without an internal, but this way the logic is slightly clearer as
-% everything essentially follows the same path.
+% functions for case changing.
% \begin{macrocode}
\cs_new:Npn \tl_lower_case:n { \@@_change_case:nnn { lower } { } }
\cs_new:Npn \tl_upper_case:n { \@@_change_case:nnn { upper } { } }
-\cs_new:Npn \tl_mixed_case:n { \@@_mixed_case:nn { } }
+\cs_new:Npn \tl_mixed_case:n { \@@_change_case:nnn { mixed } { } }
\cs_new:Npn \tl_lower_case:nn { \@@_change_case:nnn { lower } }
\cs_new:Npn \tl_upper_case:nn { \@@_change_case:nnn { upper } }
-\cs_new:Npn \tl_mixed_case:nn { \@@_mixed_case:nn }
+\cs_new:Npn \tl_mixed_case:nn { \@@_change_case:nnn { mixed } }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2436,6 +2434,12 @@
% }
% \begin{macro}[aux, EXP]{\@@_change_case_end:wn}
% \begin{macro}[aux, EXP]{\@@_change_case_group:nwnn}
+% \begin{macro}[aux, EXP]
+% {
+% \@@_change_case_group_lower:nnnn ,
+% \@@_change_case_group_upper:nnnn ,
+% \@@_change_case_group_mixed:nnnn
+% }
% \begin{macro}[aux, EXP]{\@@_change_case_space:wnn}
% \begin{macro}[aux, EXP]{\@@_change_case_N_type:Nwnn}
% \begin{macro}[aux, EXP]{\@@_change_case_N_type:NNNnnn}
@@ -2445,17 +2449,29 @@
% \begin{macro}[aux, EXP]{\@@_change_case_math_group:nwNNnn}
% \begin{macro}[aux, EXP]{\@@_change_case_math_space:wNNnn}
% \begin{macro}[aux, EXP]{\@@_change_case_N_type:Nnnn}
-% \begin{macro}[aux, EXP]{\@@_change_case_char:Nnn}
+% \begin{macro}[aux, EXP]
+% {
+% \@@_change_case_char_lower:Nnn ,
+% \@@_change_case_char_upper:Nnn ,
+% \@@_change_case_char_mixed:Nnn
+% }
% \begin{macro}[aux, EXP]{\@@_change_case_char:nN}
% \begin{macro}[aux, EXP]
% {\@@_change_case_char_auxi:nN, \@@_change_case_char_auxii:nN}
+% \begin{macro}[aux, EXP]
+% {
+% \@@_change_case_char_mixed:N,
+% \@@_change_case_char_lower:N,
+% \@@_change_case_char_upper:N
+% }
% \begin{macro}[aux]
-% {\@@_lookup_lower:N, \@@_lookup_upper:N, \@@_lookup_title:N}
+% {\@@_lookup_mixed:N, \@@_lookup_lower:N, \@@_lookup_upper:N}
% \begin{macro}[aux, EXP]{\@@_change_case_char_UTFviii:nNN}
% \begin{macro}[aux, EXP]{\@@_change_case_char_UTFviii:nNNN}
% \begin{macro}[aux, EXP]{\@@_change_case_char_UTFviii:nNNNN}
% \begin{macro}[aux, EXP]{\@@_change_case_char_UTFviii:nn}
-% \begin{macro}[aux, EXP]{\@@_change_case_cs_letterlike:Nnn}
+% \begin{macro}[aux, EXP]{\@@_change_case_cs_letterlike:Nn}
+% \begin{macro}[aux, EXP]{\@@_change_case_cs_letterlike:NnN}
% \begin{macro}[aux, EXP]{\@@_change_case_cs_accents:NN}
% \begin{macro}[aux, EXP]{\@@_change_case_cs:N}
% \begin{macro}[aux, EXP]{\@@_change_case_cs:NN}
@@ -2464,6 +2480,10 @@
% \begin{macro}[aux, EXP]{\@@_change_case_if_expandable:NTF}
% \begin{macro}[aux, EXP]{\@@_change_case_cs_expand:Nnw}
% \begin{macro}[aux, EXP]{\@@_change_case_cs_expand:NN}
+% \begin{macro}[aux, EXP]{\@@_change_case_mixed_skip:N}
+% \begin{macro}[aux, EXP]{\@@_change_case_mixed_skip:NN}
+% \begin{macro}[aux, EXP]{\@@_change_case_mixed_skip_tidy:Nwn}
+% \begin{macro}[aux, EXP]{\@@_change_case_mixed_switch:w}
% The mechanism for the core conversion of case is based on the idea that
% we can use a loop to grab the entire token list plus a quark: the latter is
% used as an end marker and to avoid any brace stripping. Depending on the
@@ -2528,6 +2548,10 @@
% \begin{macrocode}
\cs_new:Npn \@@_change_case_group:nwnn #1#2 \q_recursion_stop #3#4
{
+ \use:c { @@_change_case_group_ #3 : nnnn } {#1} {#2} {#3} {#4}
+ }
+\cs_new:Npn \@@_change_case_group_lower:nnnn #1#2#3#4
+ {
\@@_change_case_output:own
{
\exp_after:wN
@@ -2538,6 +2562,26 @@
}
\@@_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4}
}
+\cs_new_eq:NN \@@_change_case_group_upper:nnnn
+ \@@_change_case_group_lower:nnnn
+% \end{macrocode}
+% For the \enquote{mixed} case, a group is taken as forcing a switch to lower
+% casing. That means we need a separate auxiliary. (Tracking whether we have
+% found a first character inside a group and transferring the information out
+% looks pretty horrible.)
+% \begin{macrocode}
+\cs_new:Npn \@@_change_case_group_mixed:nnnn #1#2#3#4
+ {
+ \@@_change_case_output:own
+ {
+ \exp_after:wN
+ {
+ \exp:w
+ \@@_change_case_aux:nnn {#3} {#4} {#1}
+ }
+ }
+ \@@_change_case_loop:wnn #2 \q_recursion_stop { lower } {#4}
+ }
\exp_last_unbraced:NNo \cs_new:Npn \@@_change_case_space:wnn \c_space_tl
{
\@@_change_case_output:nwn { ~ }
@@ -2635,8 +2679,8 @@
\cs_new:Npn \@@_change_case_N_type:Nnnn #1#2#3#4
{
\token_if_cs:NTF #1
- { \@@_change_case_cs_letterlike:Nnn #1 {#3} { } }
- { \@@_change_case_char:Nnn #1 {#3} {#4} }
+ { \@@_change_case_cs_letterlike:Nn #1 {#3} }
+ { \use:c { @@_change_case_char_ #3 :Nnn } #1 {#3} {#4} }
\@@_change_case_loop:wnn #2 \q_recursion_stop {#3} {#4}
}
% \end{macrocode}
@@ -2649,7 +2693,7 @@
% whereas the core lookup table does not and also guarantees an output so
% \texttt{f}-type expansion may be used to obtain the case-changed result.
% \begin{macrocode}
-\cs_new:Npn \@@_change_case_char:Nnn #1#2#3
+\cs_new:Npn \@@_change_case_char_lower:Nnn #1#2#3
{
\cs_if_exist_use:cF { @@_change_case_ #2 _ #3 :Nnw }
{ \use_ii:nn }
@@ -2659,6 +2703,24 @@
{ \@@_change_case_char:nN {#2} #1 }
}
}
+\cs_new_eq:NN \@@_change_case_char_upper:Nnn
+ \@@_change_case_char_lower:Nnn
+% \end{macrocode}
+% For mixed case, the code is somewhat different: there is a need to
+% look up both mixed and upper case chars and we have to cover the
+% situation where there is a character to skip over.
+% \begin{macrocode}
+\cs_new:Npn \@@_change_case_char_mixed:Nnn #1#2#3
+ {
+ \@@_change_case_mixed_switch:w
+ \cs_if_exist_use:cF { @@_change_case_mixed_ #3 :Nnw }
+ {
+ \cs_if_exist_use:cF { @@_change_case_upper_ #3 :Nnw }
+ { \use_ii:nn }
+ }
+ #1
+ { \@@_change_case_mixed_skip:N #1 }
+ }
% \end{macrocode}
% For Unicode engines we can handle all characters directly. However, for
% the $8$-bit engines the aim is to deal with (a subset of) Unicode (UTF-8)
@@ -2689,14 +2751,37 @@
{ \@@_change_case_char_auxi:nN {#1} #2 }
}
}
+% \end{macrocode}
+% To allow for the special case of mixed case, we insert here a
+% action-dependent auxiliary.
+% \begin{macrocode}
\cs_new:Npn \@@_change_case_char_auxi:nN #1#2
+ { \use:c { @@_change_case_char_ #1 :N } #2 }
+\cs_new:Npn \@@_change_case_char_lower:N #1
{
\@@_change_case_output:fwn
{
- \cs_if_exist_use:cF { c__unicode_ #1 _ \token_to_str:N #2 _tl }
- { \@@_change_case_char_auxii:nN {#1} #2 }
+ \cs_if_exist_use:cF { c__unicode_lower_ \token_to_str:N #1 _tl }
+ { \@@_change_case_char_auxii:nN { lower } #1 }
}
}
+\cs_new:Npn \@@_change_case_char_upper:N #1
+ {
+ \@@_change_case_output:fwn
+ {
+ \cs_if_exist_use:cF { c__unicode_upper_ \token_to_str:N #1 _tl }
+ { \@@_change_case_char_auxii:nN { upper } #1 }
+ }
+ }
+\cs_new:Npn \@@_change_case_char_mixed:N #1
+ {
+ \cs_if_exist:cTF { c__unicode_mixed_ \token_to_str:N #1 _tl }
+ {
+ \@@_change_case_output:fwn
+ { \tl_use:c { c__unicode_mixed_ \token_to_str:N #1 _tl } }
+ }
+ { \@@_change_case_char_upper:N #1 }
+ }
\cs_if_exist:NTF \utex_char:D
{
\cs_new:Npn \@@_change_case_char_auxii:nN #1#2
@@ -2711,7 +2796,7 @@
}
\cs_new_protected:Npn \@@_lookup_lower:N #1 { \tex_lccode:D `#1 }
\cs_new_protected:Npn \@@_lookup_upper:N #1 { \tex_uccode:D `#1 }
- \cs_new_eq:NN \@@_lookup_title:N \@@_lookup_upper:N
+ \cs_new_eq:NN \@@_lookup_mixed:N \@@_lookup_upper:N
}
{
\cs_new:Npn \@@_change_case_char_auxii:nN #1#2 { \exp_stop_f: #2 }
@@ -2737,10 +2822,19 @@
% ones to deal with. Letter-like control sequences are a simple look-up,
% while for accents the loop is much as done elsewhere. Notice that
% we have a no-op test to make sure there is no unexpected expansion of
-% letter-like input. The third argument here is needed for mixed casing,
-% where it if there is a hit there has to be a change-of-path.
+% letter-like input. The split into two parts here allows us to insert
+% the \enquote{switch} code for mixed casing.
% \begin{macrocode}
-\cs_new:Npn \@@_change_case_cs_letterlike:Nnn #1#2#3
+\cs_new:Npn \@@_change_case_cs_letterlike:Nn #1#2
+ {
+ \str_if_eq:nnTF {#2} { mixed }
+ {
+ \@@_change_case_cs_letterlike:NnN #1 { upper }
+ \@@_change_case_mixed_switch:w
+ }
+ { \@@_change_case_cs_letterlike:NnN #1 {#2} \prg_do_nothing: }
+ }
+\cs_new:Npn \@@_change_case_cs_letterlike:NnN #1#2#3
{
\cs_if_exist:cTF { c_@@_change_case_ #2 _ \token_to_str:N #1 _tl }
{
@@ -2851,6 +2945,51 @@
\cs_new:Npn \@@_change_case_cs_expand:NN #1#2
{ \exp_after:wN #2 #1 }
% \end{macrocode}
+% For mixed case, there is an additional list of exceptions to deal with:
+% once that is sorted, we can move on back to the main loop.
+% \begin{macrocode}
+\cs_new:Npn \@@_change_case_mixed_skip:N #1
+ {
+ \exp_after:wN \@@_change_case_mixed_skip:NN
+ \exp_after:wN #1 \l_tl_mixed_case_ignore_tl
+ \q_recursion_tail \q_recursion_stop
+ }
+\cs_new:Npn \@@_change_case_mixed_skip:NN #1#2
+ {
+ \quark_if_recursion_tail_stop_do:nn {#2}
+ { \@@_change_case_char:nN { mixed } #1 }
+ \int_compare:nNnT { `#1 } = { `#2 }
+ {
+ \use_i_delimit_by_q_recursion_stop:nw
+ {
+ \@@_change_case_output:nwn {#1}
+ \@@_change_case_mixed_skip_tidy:Nwn
+ }
+ }
+ \@@_change_case_mixed_skip:NN #1
+ }
+\cs_new:Npn \@@_change_case_mixed_skip_tidy:Nwn #1#2 \q_recursion_stop #3
+ {
+ \@@_change_case_loop:wnn #2 \q_recursion_stop { mixed }
+ }
+% \end{macrocode}
+% Needed to switch from mixed to lower casing when we have found a
+% first character in the former mode.
+% \begin{macrocode}
+\cs_new:Npn \@@_change_case_mixed_switch:w
+ #1 \@@_change_case_loop:wnn #2 \q_recursion_stop #3
+ {
+ #1
+ \@@_change_case_loop:wnn #2 \q_recursion_stop { lower }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -3510,7 +3649,7 @@
\group_end:
}
\@@_tmp:w { 00DF } { SS } { upper }
- \@@_tmp:w { 00DF } { Ss } { title }
+ \@@_tmp:w { 00DF } { Ss } { mixed }
\@@_tmp:w { 0131 } { I } { upper }
}
\group_end:
@@ -3554,188 +3693,6 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}[aux, EXP]{\@@_mixed_case:nn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_aux:nn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_loop:wn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_group:nwn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_space:wn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_N_type:Nwn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_N_type:NNNnn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_N_type:Nnn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_letterlike:Nw}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_char:N}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_skip:N}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_skip:NN}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_skip_tidy:Nwn}
-% \begin{macro}[aux, EXP]{\@@_mixed_case_char:nN}
-% Mixed (title) casing requires some custom handling of the case changing
-% of the first letter in the input followed by a switch to the normal
-% lower casing routine. That could be covered by passing a set of functions
-% to generic routines, but at the cost of making the process rather opaque.
-% Instead, the approach taken here is to use a dedicated set of functions
-% which keep the different loop requirements clearly separate.
-%
-% The main loop looks for the first \enquote{real} char in the input
-% (skipping any pre-letter chars). Once one is found, it is case changed to
-% upper case but first checking that there is not an entry in the exceptions
-% list. Note that simply grabbing the first token in the input is no good
-% here: it can't handle pre-letter tokens or any special treatment of the
-% first letter found (\emph{e.g.}~words starting with \texttt{i} in
-% Turkish). Spaces at the start of the input are passed through without
-% counting as being the \enquote{start} of the first word, while a brace
-% group is assumed to be contain the first char with everything after the
-% brace therefore lower cased.
-% \begin{macrocode}
-\cs_new:Npn \@@_mixed_case:nn #1#2
- {
- \etex_unexpanded:D \exp_after:wN
- {
- \exp:w
- \@@_mixed_case_aux:nn {#1} {#2}
- }
- }
-\cs_new:Npn \@@_mixed_case_aux:nn #1#2
- {
- \group_align_safe_begin:
- \@@_mixed_case_loop:wn
- #2 \q_recursion_tail \q_recursion_stop {#1}
- \@@_change_case_result:n { }
- }
-\cs_new:Npn \@@_mixed_case_loop:wn #1 \q_recursion_stop
- {
- \tl_if_head_is_N_type:nTF {#1}
- { \@@_mixed_case_N_type:Nwn }
- {
- \tl_if_head_is_group:nTF {#1}
- { \@@_mixed_case_group:nwn }
- { \@@_mixed_case_space:wn }
- }
- #1 \q_recursion_stop
- }
-\cs_new:Npn \@@_mixed_case_group:nwn #1#2 \q_recursion_stop #3
- {
- \@@_change_case_output:own
- {
- \exp_after:wN
- {
- \exp:w
- \@@_mixed_case_aux:nn {#3} {#1}
- }
- }
- \@@_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3}
- }
-\exp_last_unbraced:NNo \cs_new:Npn \@@_mixed_case_space:wn \c_space_tl
- {
- \@@_change_case_output:nwn { ~ }
- \@@_mixed_case_loop:wn
- }
-\cs_new:Npn \@@_mixed_case_N_type:Nwn #1#2 \q_recursion_stop
- {
- \quark_if_recursion_tail_stop_do:Nn #1
- { \@@_change_case_end:wn }
- \exp_after:wN \@@_mixed_case_N_type:NNNnn
- \exp_after:wN #1 \l_tl_case_change_math_tl
- \q_recursion_tail ? \q_recursion_stop {#2}
- }
-\cs_new:Npn \@@_mixed_case_N_type:NNNnn #1#2#3
- {
- \quark_if_recursion_tail_stop_do:Nn #2
- { \@@_mixed_case_N_type:Nnn #1 }
- \token_if_eq_meaning:NNTF #1 #2
- {
- \use_i_delimit_by_q_recursion_stop:nw
- {
- \@@_change_case_math:NNNnnn
- #1 #3 \@@_mixed_case_loop:wn
- }
- }
- { \@@_mixed_case_N_type:NNNnn #1 }
- }
-% \end{macrocode}
-% The business end of the loop is here: there is first a need to deal
-% with any control sequence cases before looking for characters to skip.
-% If there is a hit for a letter-like control sequence, switch to lower
-% casing.
-% \begin{macrocode}
-\cs_new:Npn \@@_mixed_case_N_type:Nnn #1#2#3
- {
- \token_if_cs:NTF #1
- {
- \@@_change_case_cs_letterlike:Nnn #1 { upper }
- { \@@_mixed_case_letterlike:Nw }
- \@@_mixed_case_loop:wn #2 \q_recursion_stop {#3}
- }
- {
- \@@_mixed_case_char:Nn #1 {#3}
- \@@_change_case_loop:wnn #2 \q_recursion_stop { lower } {#3}
- }
- }
-\cs_new:Npn \@@_mixed_case_letterlike:Nw #1#2 \q_recursion_stop
- { \@@_change_case_loop:wnn #2 \q_recursion_stop { lower } }
-% \end{macrocode}
-% As detailed above, handling a mixed case char means first looking for
-% exceptions then treating as an upper cased letter, but with a list of
-% tokens to skip over too.
-% \begin{macrocode}
-\cs_new:Npn \@@_mixed_case_char:Nn #1#2
- {
- \cs_if_exist_use:cF { @@_change_case_mixed_ #2 :Nnw }
- {
- \cs_if_exist_use:cF { @@_change_case_upper_ #2 :Nnw }
- { \use_ii:nn }
- }
- #1
- { \@@_mixed_case_skip:N #1 }
- }
-\cs_new:Npn \@@_mixed_case_skip:N #1
- {
- \exp_after:wN \@@_mixed_case_skip:NN
- \exp_after:wN #1 \l_tl_mixed_case_ignore_tl
- \q_recursion_tail \q_recursion_stop
- }
-\cs_new:Npn \@@_mixed_case_skip:NN #1#2
- {
- \quark_if_recursion_tail_stop_do:nn {#2}
- { \@@_mixed_case_char:N #1 }
- \int_compare:nNnT { `#1 } = { `#2 }
- {
- \use_i_delimit_by_q_recursion_stop:nw
- {
- \@@_change_case_output:nwn {#1}
- \@@_mixed_case_skip_tidy:Nwn
- }
- }
- \@@_mixed_case_skip:NN #1
- }
-\cs_new:Npn \@@_mixed_case_skip_tidy:Nwn #1#2 \q_recursion_stop #3
- {
- \@@_mixed_case_loop:wn #2 \q_recursion_stop
- }
-\cs_new:Npn \@@_mixed_case_char:N #1
- {
- \cs_if_exist:cTF { c__unicode_title_ #1 _tl }
- {
- \@@_change_case_output:fwn
- { \tl_use:c { c__unicode_title_ #1 _tl } }
- }
- { \@@_change_case_char:nN { upper } #1 }
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
% \begin{macro}[aux, EXP]{\@@_change_case_mixed_nl:Nnw}
% \begin{macro}[aux, EXP]{\@@_change_case_mixed_nl:Nw}
% \begin{macro}[aux, EXP]{\@@_change_case_mixed_nl:NNw}
diff --git a/l3kernel/l3str.dtx b/l3kernel/l3str.dtx
index 19eb9f5..bdc0ee4 100644
--- a/l3kernel/l3str.dtx
+++ b/l3kernel/l3str.dtx
@@ -1702,7 +1702,7 @@
\if_int_compare:w \__str_if_eq_x:nn { #5 ~ } {#7} = 0 \exp_stop_f:
\else:
\tl_const:cx
- { c_@@_title_ \utex_char:D "#1 _tl }
+ { c_@@_mixed_ \utex_char:D "#1 _tl }
{ \utex_char:D "#7 }
\fi:
}
@@ -1742,7 +1742,7 @@
\use:n { \@@_parse_auxii:w #1 ~ upper ~ #4 ~ } ~ \q_stop
\if_int_compare:w \__str_if_eq_x:nn {#3} {#4} = 0 \exp_stop_f:
\else:
- \use:n { \@@_parse_auxii:w #1 ~ title ~ #3 ~ } ~ \q_stop
+ \use:n { \@@_parse_auxii:w #1 ~ mixed ~ #3 ~ } ~ \q_stop
\fi:
}
\cs_set_protected:Npn \@@_parse_auxii:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 850f15b..eb89070 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -811,18 +811,18 @@ Defining \g_tmpb_str on line ...
Defining \str_show:n on line ...
Defining \str_show:N on line ...
Defining \str_show:c on line ...
-Defining \c__unicode_title_DŽ_tl on line ...
-Defining \c__unicode_title_Dž_tl on line ...
-Defining \c__unicode_title_dž_tl on line ...
-Defining \c__unicode_title_LJ_tl on line ...
-Defining \c__unicode_title_Lj_tl on line ...
-Defining \c__unicode_title_lj_tl on line ...
-Defining \c__unicode_title_NJ_tl on line ...
-Defining \c__unicode_title_Nj_tl on line ...
-Defining \c__unicode_title_nj_tl on line ...
-Defining \c__unicode_title_DZ_tl on line ...
-Defining \c__unicode_title_Dz_tl on line ...
-Defining \c__unicode_title_dz_tl on line ...
+Defining \c__unicode_mixed_DŽ_tl on line ...
+Defining \c__unicode_mixed_Dž_tl on line ...
+Defining \c__unicode_mixed_dž_tl on line ...
+Defining \c__unicode_mixed_LJ_tl on line ...
+Defining \c__unicode_mixed_Lj_tl on line ...
+Defining \c__unicode_mixed_lj_tl on line ...
+Defining \c__unicode_mixed_NJ_tl on line ...
+Defining \c__unicode_mixed_Nj_tl on line ...
+Defining \c__unicode_mixed_nj_tl on line ...
+Defining \c__unicode_mixed_DZ_tl on line ...
+Defining \c__unicode_mixed_Dz_tl on line ...
+Defining \c__unicode_mixed_dz_tl on line ...
Defining \c__unicode_fold_^^b5_tl on line ...
Defining \c__unicode_fold_^^df_tl on line ...
Defining \c__unicode_fold_İ_tl on line ...
@@ -1027,34 +1027,34 @@ Defining \c__unicode_fold_ﬕ_tl on line ...
Defining \c__unicode_fold_ﬖ_tl on line ...
Defining \c__unicode_fold_ﬗ_tl on line ...
Defining \c__unicode_upper_^^df_tl on line ...
-Defining \c__unicode_title_^^df_tl on line ...
+Defining \c__unicode_mixed_^^df_tl on line ...
Defining \c__unicode_lower_İ_tl on line ...
Defining \c__unicode_upper_ff_tl on line ...
-Defining \c__unicode_title_ff_tl on line ...
+Defining \c__unicode_mixed_ff_tl on line ...
Defining \c__unicode_upper_fi_tl on line ...
-Defining \c__unicode_title_fi_tl on line ...
+Defining \c__unicode_mixed_fi_tl on line ...
Defining \c__unicode_upper_fl_tl on line ...
-Defining \c__unicode_title_fl_tl on line ...
+Defining \c__unicode_mixed_fl_tl on line ...
Defining \c__unicode_upper_ffi_tl on line ...
-Defining \c__unicode_title_ffi_tl on line ...
+Defining \c__unicode_mixed_ffi_tl on line ...
Defining \c__unicode_upper_ffl_tl on line ...
-Defining \c__unicode_title_ffl_tl on line ...
+Defining \c__unicode_mixed_ffl_tl on line ...
Defining \c__unicode_upper_ſt_tl on line ...
-Defining \c__unicode_title_ſt_tl on line ...
+Defining \c__unicode_mixed_ſt_tl on line ...
Defining \c__unicode_upper_st_tl on line ...
-Defining \c__unicode_title_st_tl on line ...
+Defining \c__unicode_mixed_st_tl on line ...
Defining \c__unicode_upper_և_tl on line ...
-Defining \c__unicode_title_և_tl on line ...
+Defining \c__unicode_mixed_և_tl on line ...
Defining \c__unicode_upper_ﬓ_tl on line ...
-Defining \c__unicode_title_ﬓ_tl on line ...
+Defining \c__unicode_mixed_ﬓ_tl on line ...
Defining \c__unicode_upper_ﬔ_tl on line ...
-Defining \c__unicode_title_ﬔ_tl on line ...
+Defining \c__unicode_mixed_ﬔ_tl on line ...
Defining \c__unicode_upper_ﬕ_tl on line ...
-Defining \c__unicode_title_ﬕ_tl on line ...
+Defining \c__unicode_mixed_ﬕ_tl on line ...
Defining \c__unicode_upper_ﬖ_tl on line ...
-Defining \c__unicode_title_ﬖ_tl on line ...
+Defining \c__unicode_mixed_ﬖ_tl on line ...
Defining \c__unicode_upper_ﬗ_tl on line ...
-Defining \c__unicode_title_ﬗ_tl on line ...
+Defining \c__unicode_mixed_ﬗ_tl on line ...
Defining \c__unicode_upper_ʼn_tl on line ...
Defining \c__unicode_upper_ΐ_tl on line ...
Defining \c__unicode_upper_ΰ_tl on line ...
@@ -1135,23 +1135,23 @@ Defining \c__unicode_upper_ῌ_tl on line ...
Defining \c__unicode_upper_ῳ_tl on line ...
Defining \c__unicode_upper_ῼ_tl on line ...
Defining \c__unicode_upper_ᾲ_tl on line ...
-Defining \c__unicode_title_ᾲ_tl on line ...
+Defining \c__unicode_mixed_ᾲ_tl on line ...
Defining \c__unicode_upper_ᾴ_tl on line ...
-Defining \c__unicode_title_ᾴ_tl on line ...
+Defining \c__unicode_mixed_ᾴ_tl on line ...
Defining \c__unicode_upper_ῂ_tl on line ...
-Defining \c__unicode_title_ῂ_tl on line ...
+Defining \c__unicode_mixed_ῂ_tl on line ...
Defining \c__unicode_upper_ῄ_tl on line ...
-Defining \c__unicode_title_ῄ_tl on line ...
+Defining \c__unicode_mixed_ῄ_tl on line ...
Defining \c__unicode_upper_ῲ_tl on line ...
-Defining \c__unicode_title_ῲ_tl on line ...
+Defining \c__unicode_mixed_ῲ_tl on line ...
Defining \c__unicode_upper_ῴ_tl on line ...
-Defining \c__unicode_title_ῴ_tl on line ...
+Defining \c__unicode_mixed_ῴ_tl on line ...
Defining \c__unicode_upper_ᾷ_tl on line ...
-Defining \c__unicode_title_ᾷ_tl on line ...
+Defining \c__unicode_mixed_ᾷ_tl on line ...
Defining \c__unicode_upper_ῇ_tl on line ...
-Defining \c__unicode_title_ῇ_tl on line ...
+Defining \c__unicode_mixed_ῇ_tl on line ...
Defining \c__unicode_upper_ῷ_tl on line ...
-Defining \c__unicode_title_ῷ_tl on line ...
+Defining \c__unicode_mixed_ῷ_tl on line ...
Defining \__seq_item:n on line ...
Defining \l__seq_internal_a_tl on line ...
Defining \l__seq_internal_b_tl on line ...
@@ -5524,6 +5524,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5533,14 +5536,20 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_lookup_lower:N on line ...
Defining \__tl_lookup_upper:N on line ...
-Defining \__tl_lookup_title:N on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_lookup_mixed:N on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5549,6 +5558,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5607,20 +5620,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 40dcb2e..d0d643a 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -5515,6 +5515,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5524,15 +5527,21 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_change_case_char_UTFviii:nNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nnN on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5541,6 +5550,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5598,20 +5611,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 9cfb511..3642f7e 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -5515,6 +5515,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5524,15 +5527,21 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_change_case_char_UTFviii:nNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nnN on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5541,6 +5550,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5772,7 +5785,7 @@ Defining \c__unicode_upper_^^c8^^99_tl on line ...
Defining \c__unicode_lower_^^c8^^9a_tl on line ...
Defining \c__unicode_upper_^^c8^^9b_tl on line ...
Defining \c__unicode_upper_^^c3^^9f_tl on line ...
-Defining \c__unicode_title_^^c3^^9f_tl on line ...
+Defining \c__unicode_mixed_^^c3^^9f_tl on line ...
Defining \c__unicode_upper_^^c4^^b1_tl on line ...
Defining \c__tl_change_case_lower_\AA_tl on line ...
Defining \c__tl_change_case_upper_\aa_tl on line ...
@@ -5799,20 +5812,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 049e381..796c240 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -5513,6 +5513,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5522,15 +5525,21 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_change_case_char_UTFviii:nNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nnN on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5539,6 +5548,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5770,7 +5783,7 @@ Defining \c__unicode_upper_ș_tl on line ...
Defining \c__unicode_lower_Ț_tl on line ...
Defining \c__unicode_upper_ț_tl on line ...
Defining \c__unicode_upper_^^df_tl on line ...
-Defining \c__unicode_title_^^df_tl on line ...
+Defining \c__unicode_mixed_^^df_tl on line ...
Defining \c__unicode_upper_ı_tl on line ...
Defining \c__tl_change_case_lower_\AA_tl on line ...
Defining \c__tl_change_case_upper_\aa_tl on line ...
@@ -5797,20 +5810,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 8095075..47e31d3 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -809,18 +809,18 @@ Defining \g_tmpb_str on line ...
Defining \str_show:n on line ...
Defining \str_show:N on line ...
Defining \str_show:c on line ...
-Defining \c__unicode_title_DŽ_tl on line ...
-Defining \c__unicode_title_Dž_tl on line ...
-Defining \c__unicode_title_dž_tl on line ...
-Defining \c__unicode_title_LJ_tl on line ...
-Defining \c__unicode_title_Lj_tl on line ...
-Defining \c__unicode_title_lj_tl on line ...
-Defining \c__unicode_title_NJ_tl on line ...
-Defining \c__unicode_title_Nj_tl on line ...
-Defining \c__unicode_title_nj_tl on line ...
-Defining \c__unicode_title_DZ_tl on line ...
-Defining \c__unicode_title_Dz_tl on line ...
-Defining \c__unicode_title_dz_tl on line ...
+Defining \c__unicode_mixed_DŽ_tl on line ...
+Defining \c__unicode_mixed_Dž_tl on line ...
+Defining \c__unicode_mixed_dž_tl on line ...
+Defining \c__unicode_mixed_LJ_tl on line ...
+Defining \c__unicode_mixed_Lj_tl on line ...
+Defining \c__unicode_mixed_lj_tl on line ...
+Defining \c__unicode_mixed_NJ_tl on line ...
+Defining \c__unicode_mixed_Nj_tl on line ...
+Defining \c__unicode_mixed_nj_tl on line ...
+Defining \c__unicode_mixed_DZ_tl on line ...
+Defining \c__unicode_mixed_Dz_tl on line ...
+Defining \c__unicode_mixed_dz_tl on line ...
Defining \c__unicode_fold_^^b5_tl on line ...
Defining \c__unicode_fold_^^df_tl on line ...
Defining \c__unicode_fold_İ_tl on line ...
@@ -1025,34 +1025,34 @@ Defining \c__unicode_fold_ﬕ_tl on line ...
Defining \c__unicode_fold_ﬖ_tl on line ...
Defining \c__unicode_fold_ﬗ_tl on line ...
Defining \c__unicode_upper_^^df_tl on line ...
-Defining \c__unicode_title_^^df_tl on line ...
+Defining \c__unicode_mixed_^^df_tl on line ...
Defining \c__unicode_lower_İ_tl on line ...
Defining \c__unicode_upper_ff_tl on line ...
-Defining \c__unicode_title_ff_tl on line ...
+Defining \c__unicode_mixed_ff_tl on line ...
Defining \c__unicode_upper_fi_tl on line ...
-Defining \c__unicode_title_fi_tl on line ...
+Defining \c__unicode_mixed_fi_tl on line ...
Defining \c__unicode_upper_fl_tl on line ...
-Defining \c__unicode_title_fl_tl on line ...
+Defining \c__unicode_mixed_fl_tl on line ...
Defining \c__unicode_upper_ffi_tl on line ...
-Defining \c__unicode_title_ffi_tl on line ...
+Defining \c__unicode_mixed_ffi_tl on line ...
Defining \c__unicode_upper_ffl_tl on line ...
-Defining \c__unicode_title_ffl_tl on line ...
+Defining \c__unicode_mixed_ffl_tl on line ...
Defining \c__unicode_upper_ſt_tl on line ...
-Defining \c__unicode_title_ſt_tl on line ...
+Defining \c__unicode_mixed_ſt_tl on line ...
Defining \c__unicode_upper_st_tl on line ...
-Defining \c__unicode_title_st_tl on line ...
+Defining \c__unicode_mixed_st_tl on line ...
Defining \c__unicode_upper_և_tl on line ...
-Defining \c__unicode_title_և_tl on line ...
+Defining \c__unicode_mixed_և_tl on line ...
Defining \c__unicode_upper_ﬓ_tl on line ...
-Defining \c__unicode_title_ﬓ_tl on line ...
+Defining \c__unicode_mixed_ﬓ_tl on line ...
Defining \c__unicode_upper_ﬔ_tl on line ...
-Defining \c__unicode_title_ﬔ_tl on line ...
+Defining \c__unicode_mixed_ﬔ_tl on line ...
Defining \c__unicode_upper_ﬕ_tl on line ...
-Defining \c__unicode_title_ﬕ_tl on line ...
+Defining \c__unicode_mixed_ﬕ_tl on line ...
Defining \c__unicode_upper_ﬖ_tl on line ...
-Defining \c__unicode_title_ﬖ_tl on line ...
+Defining \c__unicode_mixed_ﬖ_tl on line ...
Defining \c__unicode_upper_ﬗ_tl on line ...
-Defining \c__unicode_title_ﬗ_tl on line ...
+Defining \c__unicode_mixed_ﬗ_tl on line ...
Defining \c__unicode_upper_ʼn_tl on line ...
Defining \c__unicode_upper_ΐ_tl on line ...
Defining \c__unicode_upper_ΰ_tl on line ...
@@ -1133,23 +1133,23 @@ Defining \c__unicode_upper_ῌ_tl on line ...
Defining \c__unicode_upper_ῳ_tl on line ...
Defining \c__unicode_upper_ῼ_tl on line ...
Defining \c__unicode_upper_ᾲ_tl on line ...
-Defining \c__unicode_title_ᾲ_tl on line ...
+Defining \c__unicode_mixed_ᾲ_tl on line ...
Defining \c__unicode_upper_ᾴ_tl on line ...
-Defining \c__unicode_title_ᾴ_tl on line ...
+Defining \c__unicode_mixed_ᾴ_tl on line ...
Defining \c__unicode_upper_ῂ_tl on line ...
-Defining \c__unicode_title_ῂ_tl on line ...
+Defining \c__unicode_mixed_ῂ_tl on line ...
Defining \c__unicode_upper_ῄ_tl on line ...
-Defining \c__unicode_title_ῄ_tl on line ...
+Defining \c__unicode_mixed_ῄ_tl on line ...
Defining \c__unicode_upper_ῲ_tl on line ...
-Defining \c__unicode_title_ῲ_tl on line ...
+Defining \c__unicode_mixed_ῲ_tl on line ...
Defining \c__unicode_upper_ῴ_tl on line ...
-Defining \c__unicode_title_ῴ_tl on line ...
+Defining \c__unicode_mixed_ῴ_tl on line ...
Defining \c__unicode_upper_ᾷ_tl on line ...
-Defining \c__unicode_title_ᾷ_tl on line ...
+Defining \c__unicode_mixed_ᾷ_tl on line ...
Defining \c__unicode_upper_ῇ_tl on line ...
-Defining \c__unicode_title_ῇ_tl on line ...
+Defining \c__unicode_mixed_ῇ_tl on line ...
Defining \c__unicode_upper_ῷ_tl on line ...
-Defining \c__unicode_title_ῷ_tl on line ...
+Defining \c__unicode_mixed_ῷ_tl on line ...
Defining \__seq_item:n on line ...
Defining \l__seq_internal_a_tl on line ...
Defining \l__seq_internal_b_tl on line ...
@@ -5498,6 +5498,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5507,14 +5510,20 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_lookup_lower:N on line ...
Defining \__tl_lookup_upper:N on line ...
-Defining \__tl_lookup_title:N on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_lookup_mixed:N on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5523,6 +5532,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5581,20 +5594,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 96b8a0c..1a9c92c 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -811,18 +811,18 @@ Defining \g_tmpb_str on line ...
Defining \str_show:n on line ...
Defining \str_show:N on line ...
Defining \str_show:c on line ...
-Defining \c__unicode_title_DŽ_tl on line ...
-Defining \c__unicode_title_Dž_tl on line ...
-Defining \c__unicode_title_dž_tl on line ...
-Defining \c__unicode_title_LJ_tl on line ...
-Defining \c__unicode_title_Lj_tl on line ...
-Defining \c__unicode_title_lj_tl on line ...
-Defining \c__unicode_title_NJ_tl on line ...
-Defining \c__unicode_title_Nj_tl on line ...
-Defining \c__unicode_title_nj_tl on line ...
-Defining \c__unicode_title_DZ_tl on line ...
-Defining \c__unicode_title_Dz_tl on line ...
-Defining \c__unicode_title_dz_tl on line ...
+Defining \c__unicode_mixed_DŽ_tl on line ...
+Defining \c__unicode_mixed_Dž_tl on line ...
+Defining \c__unicode_mixed_dž_tl on line ...
+Defining \c__unicode_mixed_LJ_tl on line ...
+Defining \c__unicode_mixed_Lj_tl on line ...
+Defining \c__unicode_mixed_lj_tl on line ...
+Defining \c__unicode_mixed_NJ_tl on line ...
+Defining \c__unicode_mixed_Nj_tl on line ...
+Defining \c__unicode_mixed_nj_tl on line ...
+Defining \c__unicode_mixed_DZ_tl on line ...
+Defining \c__unicode_mixed_Dz_tl on line ...
+Defining \c__unicode_mixed_dz_tl on line ...
Defining \c__unicode_fold_^^b5_tl on line ...
Defining \c__unicode_fold_^^df_tl on line ...
Defining \c__unicode_fold_İ_tl on line ...
@@ -1027,34 +1027,34 @@ Defining \c__unicode_fold_ﬕ_tl on line ...
Defining \c__unicode_fold_ﬖ_tl on line ...
Defining \c__unicode_fold_ﬗ_tl on line ...
Defining \c__unicode_upper_^^df_tl on line ...
-Defining \c__unicode_title_^^df_tl on line ...
+Defining \c__unicode_mixed_^^df_tl on line ...
Defining \c__unicode_lower_İ_tl on line ...
Defining \c__unicode_upper_ff_tl on line ...
-Defining \c__unicode_title_ff_tl on line ...
+Defining \c__unicode_mixed_ff_tl on line ...
Defining \c__unicode_upper_fi_tl on line ...
-Defining \c__unicode_title_fi_tl on line ...
+Defining \c__unicode_mixed_fi_tl on line ...
Defining \c__unicode_upper_fl_tl on line ...
-Defining \c__unicode_title_fl_tl on line ...
+Defining \c__unicode_mixed_fl_tl on line ...
Defining \c__unicode_upper_ffi_tl on line ...
-Defining \c__unicode_title_ffi_tl on line ...
+Defining \c__unicode_mixed_ffi_tl on line ...
Defining \c__unicode_upper_ffl_tl on line ...
-Defining \c__unicode_title_ffl_tl on line ...
+Defining \c__unicode_mixed_ffl_tl on line ...
Defining \c__unicode_upper_ſt_tl on line ...
-Defining \c__unicode_title_ſt_tl on line ...
+Defining \c__unicode_mixed_ſt_tl on line ...
Defining \c__unicode_upper_st_tl on line ...
-Defining \c__unicode_title_st_tl on line ...
+Defining \c__unicode_mixed_st_tl on line ...
Defining \c__unicode_upper_և_tl on line ...
-Defining \c__unicode_title_և_tl on line ...
+Defining \c__unicode_mixed_և_tl on line ...
Defining \c__unicode_upper_ﬓ_tl on line ...
-Defining \c__unicode_title_ﬓ_tl on line ...
+Defining \c__unicode_mixed_ﬓ_tl on line ...
Defining \c__unicode_upper_ﬔ_tl on line ...
-Defining \c__unicode_title_ﬔ_tl on line ...
+Defining \c__unicode_mixed_ﬔ_tl on line ...
Defining \c__unicode_upper_ﬕ_tl on line ...
-Defining \c__unicode_title_ﬕ_tl on line ...
+Defining \c__unicode_mixed_ﬕ_tl on line ...
Defining \c__unicode_upper_ﬖ_tl on line ...
-Defining \c__unicode_title_ﬖ_tl on line ...
+Defining \c__unicode_mixed_ﬖ_tl on line ...
Defining \c__unicode_upper_ﬗ_tl on line ...
-Defining \c__unicode_title_ﬗ_tl on line ...
+Defining \c__unicode_mixed_ﬗ_tl on line ...
Defining \c__unicode_upper_ʼn_tl on line ...
Defining \c__unicode_upper_ΐ_tl on line ...
Defining \c__unicode_upper_ΰ_tl on line ...
@@ -1135,23 +1135,23 @@ Defining \c__unicode_upper_ῌ_tl on line ...
Defining \c__unicode_upper_ῳ_tl on line ...
Defining \c__unicode_upper_ῼ_tl on line ...
Defining \c__unicode_upper_ᾲ_tl on line ...
-Defining \c__unicode_title_ᾲ_tl on line ...
+Defining \c__unicode_mixed_ᾲ_tl on line ...
Defining \c__unicode_upper_ᾴ_tl on line ...
-Defining \c__unicode_title_ᾴ_tl on line ...
+Defining \c__unicode_mixed_ᾴ_tl on line ...
Defining \c__unicode_upper_ῂ_tl on line ...
-Defining \c__unicode_title_ῂ_tl on line ...
+Defining \c__unicode_mixed_ῂ_tl on line ...
Defining \c__unicode_upper_ῄ_tl on line ...
-Defining \c__unicode_title_ῄ_tl on line ...
+Defining \c__unicode_mixed_ῄ_tl on line ...
Defining \c__unicode_upper_ῲ_tl on line ...
-Defining \c__unicode_title_ῲ_tl on line ...
+Defining \c__unicode_mixed_ῲ_tl on line ...
Defining \c__unicode_upper_ῴ_tl on line ...
-Defining \c__unicode_title_ῴ_tl on line ...
+Defining \c__unicode_mixed_ῴ_tl on line ...
Defining \c__unicode_upper_ᾷ_tl on line ...
-Defining \c__unicode_title_ᾷ_tl on line ...
+Defining \c__unicode_mixed_ᾷ_tl on line ...
Defining \c__unicode_upper_ῇ_tl on line ...
-Defining \c__unicode_title_ῇ_tl on line ...
+Defining \c__unicode_mixed_ῇ_tl on line ...
Defining \c__unicode_upper_ῷ_tl on line ...
-Defining \c__unicode_title_ῷ_tl on line ...
+Defining \c__unicode_mixed_ῷ_tl on line ...
Defining \__seq_item:n on line ...
Defining \l__seq_internal_a_tl on line ...
Defining \l__seq_internal_b_tl on line ...
@@ -5525,6 +5525,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5534,14 +5537,20 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_lookup_lower:N on line ...
Defining \__tl_lookup_upper:N on line ...
-Defining \__tl_lookup_title:N on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_lookup_mixed:N on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5550,6 +5559,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5608,20 +5621,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 5414d8d..0b673fc 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -5516,6 +5516,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5525,15 +5528,21 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_change_case_char_UTFviii:nNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nnN on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5542,6 +5551,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5599,20 +5612,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 088616d..68a4166 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -5516,6 +5516,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5525,15 +5528,21 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_change_case_char_UTFviii:nNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nnN on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5542,6 +5551,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5773,7 +5786,7 @@ Defining \c__unicode_upper_^^c8^^99_tl on line ...
Defining \c__unicode_lower_^^c8^^9a_tl on line ...
Defining \c__unicode_upper_^^c8^^9b_tl on line ...
Defining \c__unicode_upper_^^c3^^9f_tl on line ...
-Defining \c__unicode_title_^^c3^^9f_tl on line ...
+Defining \c__unicode_mixed_^^c3^^9f_tl on line ...
Defining \c__unicode_upper_^^c4^^b1_tl on line ...
Defining \c__tl_change_case_lower_\AA_tl on line ...
Defining \c__tl_change_case_upper_\aa_tl on line ...
@@ -5800,20 +5813,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index e12b528..8428edb 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -5514,6 +5514,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5523,15 +5526,21 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_change_case_char_UTFviii:nNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nNNNNN on line ...
Defining \__tl_change_case_char_UTFviii:nnN on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5540,6 +5549,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5771,7 +5784,7 @@ Defining \c__unicode_upper_ș_tl on line ...
Defining \c__unicode_lower_Ț_tl on line ...
Defining \c__unicode_upper_ț_tl on line ...
Defining \c__unicode_upper_^^df_tl on line ...
-Defining \c__unicode_title_^^df_tl on line ...
+Defining \c__unicode_mixed_^^df_tl on line ...
Defining \c__unicode_upper_ı_tl on line ...
Defining \c__tl_change_case_lower_\AA_tl on line ...
Defining \c__tl_change_case_upper_\aa_tl on line ...
@@ -5798,20 +5811,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index b09b578..b458dc7 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -809,18 +809,18 @@ Defining \g_tmpb_str on line ...
Defining \str_show:n on line ...
Defining \str_show:N on line ...
Defining \str_show:c on line ...
-Defining \c__unicode_title_DŽ_tl on line ...
-Defining \c__unicode_title_Dž_tl on line ...
-Defining \c__unicode_title_dž_tl on line ...
-Defining \c__unicode_title_LJ_tl on line ...
-Defining \c__unicode_title_Lj_tl on line ...
-Defining \c__unicode_title_lj_tl on line ...
-Defining \c__unicode_title_NJ_tl on line ...
-Defining \c__unicode_title_Nj_tl on line ...
-Defining \c__unicode_title_nj_tl on line ...
-Defining \c__unicode_title_DZ_tl on line ...
-Defining \c__unicode_title_Dz_tl on line ...
-Defining \c__unicode_title_dz_tl on line ...
+Defining \c__unicode_mixed_DŽ_tl on line ...
+Defining \c__unicode_mixed_Dž_tl on line ...
+Defining \c__unicode_mixed_dž_tl on line ...
+Defining \c__unicode_mixed_LJ_tl on line ...
+Defining \c__unicode_mixed_Lj_tl on line ...
+Defining \c__unicode_mixed_lj_tl on line ...
+Defining \c__unicode_mixed_NJ_tl on line ...
+Defining \c__unicode_mixed_Nj_tl on line ...
+Defining \c__unicode_mixed_nj_tl on line ...
+Defining \c__unicode_mixed_DZ_tl on line ...
+Defining \c__unicode_mixed_Dz_tl on line ...
+Defining \c__unicode_mixed_dz_tl on line ...
Defining \c__unicode_fold_^^b5_tl on line ...
Defining \c__unicode_fold_^^df_tl on line ...
Defining \c__unicode_fold_İ_tl on line ...
@@ -1025,34 +1025,34 @@ Defining \c__unicode_fold_ﬕ_tl on line ...
Defining \c__unicode_fold_ﬖ_tl on line ...
Defining \c__unicode_fold_ﬗ_tl on line ...
Defining \c__unicode_upper_^^df_tl on line ...
-Defining \c__unicode_title_^^df_tl on line ...
+Defining \c__unicode_mixed_^^df_tl on line ...
Defining \c__unicode_lower_İ_tl on line ...
Defining \c__unicode_upper_ff_tl on line ...
-Defining \c__unicode_title_ff_tl on line ...
+Defining \c__unicode_mixed_ff_tl on line ...
Defining \c__unicode_upper_fi_tl on line ...
-Defining \c__unicode_title_fi_tl on line ...
+Defining \c__unicode_mixed_fi_tl on line ...
Defining \c__unicode_upper_fl_tl on line ...
-Defining \c__unicode_title_fl_tl on line ...
+Defining \c__unicode_mixed_fl_tl on line ...
Defining \c__unicode_upper_ffi_tl on line ...
-Defining \c__unicode_title_ffi_tl on line ...
+Defining \c__unicode_mixed_ffi_tl on line ...
Defining \c__unicode_upper_ffl_tl on line ...
-Defining \c__unicode_title_ffl_tl on line ...
+Defining \c__unicode_mixed_ffl_tl on line ...
Defining \c__unicode_upper_ſt_tl on line ...
-Defining \c__unicode_title_ſt_tl on line ...
+Defining \c__unicode_mixed_ſt_tl on line ...
Defining \c__unicode_upper_st_tl on line ...
-Defining \c__unicode_title_st_tl on line ...
+Defining \c__unicode_mixed_st_tl on line ...
Defining \c__unicode_upper_և_tl on line ...
-Defining \c__unicode_title_և_tl on line ...
+Defining \c__unicode_mixed_և_tl on line ...
Defining \c__unicode_upper_ﬓ_tl on line ...
-Defining \c__unicode_title_ﬓ_tl on line ...
+Defining \c__unicode_mixed_ﬓ_tl on line ...
Defining \c__unicode_upper_ﬔ_tl on line ...
-Defining \c__unicode_title_ﬔ_tl on line ...
+Defining \c__unicode_mixed_ﬔ_tl on line ...
Defining \c__unicode_upper_ﬕ_tl on line ...
-Defining \c__unicode_title_ﬕ_tl on line ...
+Defining \c__unicode_mixed_ﬕ_tl on line ...
Defining \c__unicode_upper_ﬖ_tl on line ...
-Defining \c__unicode_title_ﬖ_tl on line ...
+Defining \c__unicode_mixed_ﬖ_tl on line ...
Defining \c__unicode_upper_ﬗ_tl on line ...
-Defining \c__unicode_title_ﬗ_tl on line ...
+Defining \c__unicode_mixed_ﬗ_tl on line ...
Defining \c__unicode_upper_ʼn_tl on line ...
Defining \c__unicode_upper_ΐ_tl on line ...
Defining \c__unicode_upper_ΰ_tl on line ...
@@ -1133,23 +1133,23 @@ Defining \c__unicode_upper_ῌ_tl on line ...
Defining \c__unicode_upper_ῳ_tl on line ...
Defining \c__unicode_upper_ῼ_tl on line ...
Defining \c__unicode_upper_ᾲ_tl on line ...
-Defining \c__unicode_title_ᾲ_tl on line ...
+Defining \c__unicode_mixed_ᾲ_tl on line ...
Defining \c__unicode_upper_ᾴ_tl on line ...
-Defining \c__unicode_title_ᾴ_tl on line ...
+Defining \c__unicode_mixed_ᾴ_tl on line ...
Defining \c__unicode_upper_ῂ_tl on line ...
-Defining \c__unicode_title_ῂ_tl on line ...
+Defining \c__unicode_mixed_ῂ_tl on line ...
Defining \c__unicode_upper_ῄ_tl on line ...
-Defining \c__unicode_title_ῄ_tl on line ...
+Defining \c__unicode_mixed_ῄ_tl on line ...
Defining \c__unicode_upper_ῲ_tl on line ...
-Defining \c__unicode_title_ῲ_tl on line ...
+Defining \c__unicode_mixed_ῲ_tl on line ...
Defining \c__unicode_upper_ῴ_tl on line ...
-Defining \c__unicode_title_ῴ_tl on line ...
+Defining \c__unicode_mixed_ῴ_tl on line ...
Defining \c__unicode_upper_ᾷ_tl on line ...
-Defining \c__unicode_title_ᾷ_tl on line ...
+Defining \c__unicode_mixed_ᾷ_tl on line ...
Defining \c__unicode_upper_ῇ_tl on line ...
-Defining \c__unicode_title_ῇ_tl on line ...
+Defining \c__unicode_mixed_ῇ_tl on line ...
Defining \c__unicode_upper_ῷ_tl on line ...
-Defining \c__unicode_title_ῷ_tl on line ...
+Defining \c__unicode_mixed_ῷ_tl on line ...
Defining \__seq_item:n on line ...
Defining \l__seq_internal_a_tl on line ...
Defining \l__seq_internal_b_tl on line ...
@@ -5499,6 +5499,9 @@ Defining \__tl_change_case_output:vwn on line ...
Defining \__tl_change_case_output:fwn on line ...
Defining \__tl_change_case_end:wn on line ...
Defining \__tl_change_case_group:nwnn on line ...
+Defining \__tl_change_case_group_lower:nnnn on line ...
+Defining \__tl_change_case_group_upper:nnnn on line ...
+Defining \__tl_change_case_group_mixed:nnnn on line ...
Defining \__tl_change_case_space:wnn on line ...
Defining \__tl_change_case_N_type:Nwnn on line ...
Defining \__tl_change_case_N_type:NNNnnn on line ...
@@ -5508,14 +5511,20 @@ Defining \__tl_change_case_math:NwNNnn on line ...
Defining \__tl_change_case_math_group:nwNNnn on line ...
Defining \__tl_change_case_math_space:wNNnn on line ...
Defining \__tl_change_case_N_type:Nnnn on line ...
-Defining \__tl_change_case_char:Nnn on line ...
+Defining \__tl_change_case_char_lower:Nnn on line ...
+Defining \__tl_change_case_char_upper:Nnn on line ...
+Defining \__tl_change_case_char_mixed:Nnn on line ...
Defining \__tl_change_case_char:nN on line ...
Defining \__tl_change_case_char_auxi:nN on line ...
+Defining \__tl_change_case_char_lower:N on line ...
+Defining \__tl_change_case_char_upper:N on line ...
+Defining \__tl_change_case_char_mixed:N on line ...
Defining \__tl_change_case_char_auxii:nN on line ...
Defining \__tl_lookup_lower:N on line ...
Defining \__tl_lookup_upper:N on line ...
-Defining \__tl_lookup_title:N on line ...
-Defining \__tl_change_case_cs_letterlike:Nnn on line ...
+Defining \__tl_lookup_mixed:N on line ...
+Defining \__tl_change_case_cs_letterlike:Nn on line ...
+Defining \__tl_change_case_cs_letterlike:NnN on line ...
Defining \__tl_change_case_cs_accents:NN on line ...
Defining \__tl_change_case_cs:N on line ...
Defining \__tl_change_case_cs:NN on line ...
@@ -5524,6 +5533,10 @@ Defining \__tl_change_case_protect:wNN on line ...
Defining \__tl_change_case_if_expandable:NTF on line ...
Defining \__tl_change_case_cs_expand:Nnw on line ...
Defining \__tl_change_case_cs_expand:NN on line ...
+Defining \__tl_change_case_mixed_skip:N on line ...
+Defining \__tl_change_case_mixed_skip:NN on line ...
+Defining \__tl_change_case_mixed_skip_tidy:Nwn on line ...
+Defining \__tl_change_case_mixed_switch:w on line ...
Defining \__tl_change_case_lower_sigma:Nnw on line ...
Defining \__tl_change_case_lower_sigma:w on line ...
Defining \__tl_change_case_lower_sigma:Nw on line ...
@@ -5582,20 +5595,6 @@ Defining \c__tl_change_case_upper_\th_tl on line ...
Defining \c__tl_change_case_upper_\i_tl on line ...
Defining \c__tl_change_case_upper_\j_tl on line ...
Defining \l_tl_case_change_accents_tl on line ...
-Defining \__tl_mixed_case:nn on line ...
-Defining \__tl_mixed_case_aux:nn on line ...
-Defining \__tl_mixed_case_loop:wn on line ...
-Defining \__tl_mixed_case_group:nwn on line ...
-Defining \__tl_mixed_case_space:wn on line ...
-Defining \__tl_mixed_case_N_type:Nwn on line ...
-Defining \__tl_mixed_case_N_type:NNNnn on line ...
-Defining \__tl_mixed_case_N_type:Nnn on line ...
-Defining \__tl_mixed_case_letterlike:Nw on line ...
-Defining \__tl_mixed_case_char:Nn on line ...
-Defining \__tl_mixed_case_skip:N on line ...
-Defining \__tl_mixed_case_skip:NN on line ...
-Defining \__tl_mixed_case_skip_tidy:Nwn on line ...
-Defining \__tl_mixed_case_char:N on line ...
Defining \__tl_change_case_mixed_nl:Nnw on line ...
Defining \__tl_change_case_mixed_nl:Nw on line ...
Defining \__tl_change_case_mixed_nl:NNw on line ...
diff --git a/l3kernel/testfiles/m3tl013.tlg b/l3kernel/testfiles/m3tl013.tlg
index 0507384..f57accf 100644
--- a/l3kernel/testfiles/m3tl013.tlg
+++ b/l3kernel/testfiles/m3tl013.tlg
@@ -49,7 +49,7 @@ TEST 6: Unicode case changing
============================================================
^^c3^^a5^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
^^c3^^85^^c3^^89^^c3^^8e^^c3^^98^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
-^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
+^^c3^^a5^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
============================================================
============================================================
TEST 7: Unicode case changing exceptions
@@ -77,8 +77,8 @@ RAGIP HUL^^c3^^9bS^^c4^^b0 ^^c3^^96ZDEM
RAGIP HUL^^c3^^9bSI ^^c3^^96ZDEM
Rag^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
Rag^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
-Ip hul^^c3^^bbsi ^^c3^^b6zdem
-Ip hul^^c3^^bbsi ^^c3^^b6zdem
+^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
+^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
============================================================
============================================================
TEST 10: Lithuanian
@@ -109,7 +109,7 @@ Im
============================================================
TEST 12: Mixed case exceptions
============================================================
-SSoo
+Ssoo
^^c7^^85!
============================================================
============================================================
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the latex3-commits
mailing list