[latex3-commits] [latex3/latex3] gh1232-titlecase: Add \text_sentencecase_first:n(n) (516e22759)
github at latex-project.org
github at latex-project.org
Wed Jul 5 08:40:02 CEST 2023
Repository : https://github.com/latex3/latex3
On branch : gh1232-titlecase
Link : https://github.com/latex3/latex3/commit/516e2275993e1f7ac20a0f03cf3b90abe6b998fe
>---------------------------------------------------------------
commit 516e2275993e1f7ac20a0f03cf3b90abe6b998fe
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed Jul 5 07:39:26 2023 +0100
Add \text_sentencecase_first:n(n)
>---------------------------------------------------------------
516e2275993e1f7ac20a0f03cf3b90abe6b998fe
l3kernel/CHANGELOG.md | 2 +-
l3kernel/l3text-case.dtx | 17 ++++++++++++++---
l3kernel/l3text.dtx | 12 ++++++++----
l3kernel/testfiles/m3text002.luatex.tlg | 26 ++++++++++++++++++++++++++
l3kernel/testfiles/m3text002.lvt | 4 ++++
l3kernel/testfiles/m3text002.ptex.tlg | 26 ++++++++++++++++++++++++++
l3kernel/testfiles/m3text002.tlg | 26 ++++++++++++++++++++++++++
l3kernel/testfiles/m3text002.uptex.tlg | 26 ++++++++++++++++++++++++++
l3kernel/testfiles/m3text002.xetex.tlg | 26 ++++++++++++++++++++++++++
9 files changed, 157 insertions(+), 8 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 402ebdca7..6ac3e408b 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -9,7 +9,7 @@ this project uses date-based 'snapshot' version identifiers.
### Added
- `\codepoint_to_category:n`
-- `\text_sentencecase:n(n)`
+- `\text_sentencecase:n(n)` and `\text_sentencecase_first:n(n)`
- `\text_declare_titlecase_exclusion:n(n)`
### Changed
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 89ce0c520..1b0658a9b 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -111,8 +111,12 @@
{ \@@_change_case:nnn { titleonly } {#1} {#2} }
\cs_new:Npn \text_sentencecase:n #1
{ \@@_change_case:nnnn { title } { lower } { } {#1} }
+\cs_new:Npn \text_sentencecase_first:n #1
+ { \@@_change_case:nnnn { titleonly } { break } { } {#1} }
\cs_new:Npn \text_sentencecase:nn #1#2
{ \@@_change_case:nnnn { title } { lower } {#1} {#2} }
+\cs_new:Npn \text_sentencecase_first:nn #1#2
+ { \@@_change_case:nnnn { titleonly } { break } {#1} {#2} }
\cs_new:Npn \@@_change_case:nnn #1#2#3
{ \@@_change_case:nnnn {#1} {#1} {#2} {#3} }
% \end{macrocode}
@@ -165,7 +169,8 @@
% \@@_change_case_group_title:nnnn ,
% \@@_change_case_group_titleonly:nnnn
% }
-% \begin{macro}[EXP]{\@@_change_case_space:nnnw}
+% \begin{macro}[EXP]
+% {\@@_change_case_space:nnnw, \@@_change_case_space_break:nnnw}
% \begin{macro}[EXP]
% {\@@_change_case_N_type:nnnN, \@@_change_case_N_type_aux:nnnN}
% \begin{macro}[EXP]{\@@_change_case_N_type:nnnnN}
@@ -476,9 +481,15 @@
}
{
\@@_change_case_store:n { ~ }
- \cs_if_exist_use:c { @@_change_case_boundary_ #1 _ #3 :Nnnnw }
- \@@_change_case_loop:nnnw {#2} {#2} {#3}
+ \cs_if_exist_use:cF { @@_change_case_space_ #2 :nnn }
+ {
+ \cs_if_exist_use:c { @@_change_case_boundary_ #1 _ #3 :Nnnnw }
+ \@@_change_case_loop:nnnw
+ }
+ {#2} {#2} {#3}
}
+\cs_new:Npn \@@_change_case_space_break:nnn #1#2#3
+ { \@@_change_case_break:w }
% \end{macrocode}
% The first step of handling \texttt{N}-type tokens is to filter out the
% end-of-loop. That has to be done separately from the first real step
diff --git a/l3kernel/l3text.dtx b/l3kernel/l3text.dtx
index 30b56358b..298514310 100644
--- a/l3kernel/l3text.dtx
+++ b/l3kernel/l3text.dtx
@@ -97,9 +97,11 @@
% \begin{function}[EXP, added = 2019-11-20, updated = 2023-06-27]
% {
% \text_lowercase:n, \text_uppercase:n, \text_titlecase:n,
-% \text_titlecase_first:n, \text_sentencecase:n
+% \text_titlecase_first:n, \text_sentencecase:n,
+% \text_sentencecase_first:n
% \text_lowercase:nn, \text_uppercase:nn, \text_titlecase:nn,
-% \text_titlecase_first:nn, \text_sentencecase:nn
+% \text_titlecase_first:nn, \text_sentencecase:nn,
+% \text_sentencecase_first:nn
% }
% \begin{syntax}
% \cs{text_uppercase:n} \Arg{tokens}
@@ -122,8 +124,10 @@
% \texttt{IJ}. The \texttt{titlecase_first} variant does not attempt
% any case changing at all after the first letter has been processed.
% Sentence casing applies titlecasing to the first \meta{word} of the input,
-% and lowercases the remainder. (See below for details of \meta{word}
-% division.)
+% and lowercases the remainder. The \texttt{sentencecase_first} variant
+% applies titlecasing only to the first character of input, and leaves
+% the rest of the input entirely unchanged. (See below for details of
+% \meta{word} division.)
%
% Importantly, notice that these functions are intended for working with
% user \emph{text for typesetting}. For case changing programmatic data see
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index 449491028..3621cf04c 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -9,6 +9,7 @@ HELLO WORLD \par WITH \ERROR &##
Hello World \par With \ERROR &##
Hello World \par With \ERROR &##
Hello world \par with \ERROR &##
+Hello world \par with \ERROR &##
============================================================
============================================================
TEST 2: Case changes in braces
@@ -18,6 +19,7 @@ TEST 2: Case changes in braces
{Hello} World \par With \ERROR &##
{Hello} World \par With \ERROR &##
{Hello} world \par with \ERROR &##
+{Hello} world \par with \ERROR &##
============================================================
============================================================
TEST 3: Case change exclusions
@@ -27,6 +29,7 @@ SOME TEXT \cite {WithFun}
Some Text \cite {WithFun}
Some Text \cite {WithFun}
Some text \cite {WithFun}
+Some text \cite {WithFun}
============================================================
============================================================
TEST 4: Titlecase basics
@@ -94,11 +97,13 @@ NO PROBLEMS
No Problems
No Problems
No problems
+No problems
no problems
NO PROBLEMS
No Problems
No Problems
No problems
+No problems
============================================================
============================================================
TEST 10: (u)pTeX-based tests
@@ -108,6 +113,8 @@ ABC^^c8日本語
Abc^^e8日本語
ABC^^c8日本語
Abc^^e8日本語
+ABC^^c8日本語
+一级标题
一级标题
一级标题
一级标题
@@ -122,6 +129,7 @@ TEST 11: Unicode case changing
^^c5^^e9^^ee^^f8ὥдαɛ
^^c5^^e9^^ee^^f8ὭдαƐ
^^c5^^e9^^ee^^f8ὥдαɛ
+^^c5^^e9^^ee^^f8ὭдαƐ
============================================================
============================================================
TEST 12: Unicode case changing exceptions
@@ -131,6 +139,7 @@ FUSSBALL
Fu^^dfball
Fu^^dfball
Fu^^dfball
+Fu^^dfball
============================================================
============================================================
TEST 13: The final sigma rule
@@ -140,11 +149,13 @@ TEST 13: The final sigma rule
Ὀδυσσεύς (Ὀδυσσεύς) Ὀδυσσεύς, Ὀδυσσεύς{} Ὀδυσσεύς\noop
ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
Ὀδυσσεύς (ὀδυσσεύς) ὀδυσσεύς, ὀδυσσεύς{} ὀδυσσεύς\noop
+ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
ὀδυσσεύς
ὈΔΥΣΣΕΎΣ
Ὀδυσσεύς
ὈΔΥΣΣΕΎΣ
Ὀδυσσεύς
+ὈΔΥΣΣΕΎΣ
============================================================
============================================================
TEST 14: Cyrillic
@@ -154,6 +165,7 @@ TEST 14: Cyrillic
Доклады Академии Наук
Доклады Академии Наук
Доклады академии наук
+Доклады Академии наук
============================================================
============================================================
TEST 15: BCP47 parts
@@ -318,11 +330,13 @@ FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {Baz}
FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {baz}
+FOO \emph {BAR} {BAZ}
\emph {BAR} {baz}
\emph {BAR} {BAZ}
\emph {BAR} {Baz}
\emph {BAR} {BAZ}
\emph {BAR} {baz}
+\emph {BAR} BAZ
============================================================
============================================================
TEST 25: Expanding content
@@ -332,31 +346,37 @@ SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text hello
SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text \cs_tmp:w
SOME TEXT \cs_tmp:w
Some Text \cs_tmp:w
Some Text \cs_tmp:w
Some text \cs_tmp:w
+Some text \cs_tmp:w
\cs_tmp:w sometext
\cs_tmp:w SOMETEXT
\cs_tmp:w Sometext
\cs_tmp:w Sometext
\cs_tmp:w sometext
+\cs_tmp:w sometext
============================================================
============================================================
TEST 26: Math-mode escape
@@ -366,16 +386,19 @@ SOME TEXT $y = mx + c$
Some Text $y = mx + c$
Some Text $y = mx + c$
Some text $y = mx + c$
+Some text $y = mx + c$
$y = mx + c$ text
$y = mx + c$ TEXT
$y = mx + c$ Text
$y = mx + c$ Text
$y = mx + c$ text
+$y = mx + c$ text
opps not close token in $y = mx + c
OPPS NOT CLOSE TOKEN IN $y = mx + c
Opps Not Close Token In $y = mx + c
Opps Not Close Token In $y = mx + c
Opps not close token in $y = mx + c
+Opps not close token in $y = mx + c
============================================================
============================================================
TEST 27: Nesting
@@ -393,6 +416,7 @@ TEST 28: Letter-like commands
\AA \aa \ae \dh \ss \l \o
\AA \aa \ae \dh \ss \l \O
\AA \aa \ae \dh \ss \l \o
+\AA \aa \ae \dh \ss \l \O
============================================================
============================================================
TEST 29: Accents
@@ -402,6 +426,7 @@ TEST 29: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 30: Active chars
@@ -411,6 +436,7 @@ TEST 30: Active chars
"`Lo"=rem"'
"`Lo"=rem"'
"`Lo"=rem"'
+"`Lo"=rem"'
============================================================
============================================================
TEST 31: Case changing exclusions
diff --git a/l3kernel/testfiles/m3text002.lvt b/l3kernel/testfiles/m3text002.lvt
index 9c76b6a6e..b430654b2 100644
--- a/l3kernel/testfiles/m3text002.lvt
+++ b/l3kernel/testfiles/m3text002.lvt
@@ -23,6 +23,8 @@
\text_titlecase_first:n {#1}
\NEWLINE
\text_sentencecase:n {#1}
+ \NEWLINE
+ \text_sentencecase_first:n {#1}
}
\cs_set:Npn \test:nn #1#2
{
@@ -35,6 +37,8 @@
\text_titlecase_first:nn {#1} {#2}
\NEWLINE
\text_sentencecase:nn {#1} {#2}
+ \NEWLINE
+ \text_sentencecase_first:nn {#1} {#2}
}
\TIMO
diff --git a/l3kernel/testfiles/m3text002.ptex.tlg b/l3kernel/testfiles/m3text002.ptex.tlg
index ba6230713..12dd2113f 100644
--- a/l3kernel/testfiles/m3text002.ptex.tlg
+++ b/l3kernel/testfiles/m3text002.ptex.tlg
@@ -9,6 +9,7 @@ HELLO WORLD \par WITH \ERROR &##
Hello World \par With \ERROR &##
Hello World \par With \ERROR &##
Hello world \par with \ERROR &##
+Hello world \par with \ERROR &##
============================================================
============================================================
TEST 2: Case changes in braces
@@ -18,6 +19,7 @@ TEST 2: Case changes in braces
{Hello} World \par With \ERROR &##
{Hello} World \par With \ERROR &##
{Hello} world \par with \ERROR &##
+{Hello} world \par with \ERROR &##
============================================================
============================================================
TEST 3: Case change exclusions
@@ -27,6 +29,7 @@ SOME TEXT \cite {WithFun}
Some Text \cite {WithFun}
Some Text \cite {WithFun}
Some text \cite {WithFun}
+Some text \cite {WithFun}
============================================================
============================================================
TEST 4: Titlecase basics
@@ -94,11 +97,13 @@ NO PROBLEMS
No Problems
No Problems
No problems
+No problems
no problems
NO PROBLEMS
No Problems
No Problems
No problems
+No problems
============================================================
============================================================
TEST 10: (u)pTeX-based tests
@@ -108,6 +113,8 @@ ABC^^c3^^88日本語
Abc^^c3^^a8日本語
ABC^^c3^^88日本語
Abc^^c3^^a8日本語
+ABC^^c3^^88日本語
+一^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
一^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
一^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
一^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
@@ -122,6 +129,7 @@ TEST 11: Unicode case changing
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5дα^^c9^^9b
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^adдα^^c6^^90
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5дα^^c9^^9b
+^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^adдα^^c6^^90
============================================================
============================================================
TEST 12: Unicode case changing exceptions
@@ -131,6 +139,7 @@ FUSSBALL
Fu^^c3^^9fball
Fu^^c3^^9fball
Fu^^c3^^9fball
+Fu^^c3^^9fball
============================================================
============================================================
TEST 13: The final sigma rule
@@ -140,11 +149,13 @@ TEST 13: The final sigma rule
^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ (^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ) ^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ, ^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ{} ^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ\noop
^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ (^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ) ^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ, ^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ{} ^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ\noop
^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ (^^e1^^bd^^80ΔΥΣΣΕ^^cf^^8dΣ) ^^e1^^bd^^80ΔΥΣΣΕ^^cf^^8dΣ, ^^e1^^bd^^80ΔΥΣΣΕ^^cf^^8dΣ{} ^^e1^^bd^^80ΔΥΣΣΕ^^cf^^8dΣ\noop
+^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ (^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ) ^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ, ^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ{} ^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ\noop
^^e1^^bd^^80ΔΥΣΣΕ^^cf^^8dΣ
^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ
^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ
^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ
^^e1^^bd^^88ΔΥΣΣΕ^^cf^^8dΣ
+^^e1^^bd^^88ΔΥΣΣΕ^^ce^^8eΣ
============================================================
============================================================
TEST 14: Cyrillic
@@ -154,6 +165,7 @@ TEST 14: Cyrillic
^^ea^^9e^^a4окл^^ea^^9f^^90ды ^^ea^^9e^^a0к^^ea^^9f^^90демии н^^ea^^9f^^90ук
^^ea^^9e^^a4окл^^ea^^9f^^90ды ^^ea^^9e^^a0к^^ea^^9f^^90демии н^^ea^^9f^^90ук
^^ea^^9e^^a4окл^^ea^^9f^^90ды Акад^^ea^^9f^^97мии наук
+^^ea^^9e^^a4окл^^ea^^9f^^90ды Академии наук
============================================================
============================================================
TEST 15: BCP47 parts
@@ -318,11 +330,13 @@ FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {Baz}
FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {baz}
+FOO \emph {BAR} {BAZ}
\emph {BAR} {baz}
\emph {BAR} {BAZ}
\emph {BAR} {Baz}
\emph {BAR} {BAZ}
\emph {BAR} {baz}
+\emph {BAR} BAZ
============================================================
============================================================
TEST 25: Expanding content
@@ -332,31 +346,37 @@ SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text hello
SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text \cs_tmp:w
SOME TEXT \cs_tmp:w
Some Text \cs_tmp:w
Some Text \cs_tmp:w
Some text \cs_tmp:w
+Some text \cs_tmp:w
\cs_tmp:w sometext
\cs_tmp:w SOMETEXT
\cs_tmp:w Sometext
\cs_tmp:w Sometext
\cs_tmp:w sometext
+\cs_tmp:w sometext
============================================================
============================================================
TEST 26: Math-mode escape
@@ -366,16 +386,19 @@ SOME TEXT $y = mx + c$
Some Text $y = mx + c$
Some Text $y = mx + c$
Some text $y = mx + c$
+Some text $y = mx + c$
$y = mx + c$ text
$y = mx + c$ TEXT
$y = mx + c$ Text
$y = mx + c$ Text
$y = mx + c$ text
+$y = mx + c$ text
opps not close token in $y = mx + c
OPPS NOT CLOSE TOKEN IN $y = mx + c
Opps Not Close Token In $y = mx + c
Opps Not Close Token In $y = mx + c
Opps not close token in $y = mx + c
+Opps not close token in $y = mx + c
============================================================
============================================================
TEST 27: Nesting
@@ -393,6 +416,7 @@ TEST 28: Letter-like commands
\AA \aa \ae \dh \ss \l \o
\AA \aa \ae \dh \ss \l \O
\AA \aa \ae \dh \ss \l \o
+\AA \aa \ae \dh \ss \l \O
============================================================
============================================================
TEST 29: Accents
@@ -402,6 +426,7 @@ TEST 29: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 30: Active chars
@@ -411,6 +436,7 @@ TEST 30: Active chars
"`Lo"=rem"'
"`Lo"=rem"'
"`Lo"=rem"'
+"`Lo"=rem"'
============================================================
============================================================
TEST 31: Case changing exclusions
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index a6e4cd67a..53b51fde1 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -9,6 +9,7 @@ HELLO WORLD \par WITH \ERROR &##
Hello World \par With \ERROR &##
Hello World \par With \ERROR &##
Hello world \par with \ERROR &##
+Hello world \par with \ERROR &##
============================================================
============================================================
TEST 2: Case changes in braces
@@ -18,6 +19,7 @@ TEST 2: Case changes in braces
{Hello} World \par With \ERROR &##
{Hello} World \par With \ERROR &##
{Hello} world \par with \ERROR &##
+{Hello} world \par with \ERROR &##
============================================================
============================================================
TEST 3: Case change exclusions
@@ -27,6 +29,7 @@ SOME TEXT \cite {WithFun}
Some Text \cite {WithFun}
Some Text \cite {WithFun}
Some text \cite {WithFun}
+Some text \cite {WithFun}
============================================================
============================================================
TEST 4: Titlecase basics
@@ -94,11 +97,13 @@ NO PROBLEMS
No Problems
No Problems
No problems
+No problems
no problems
NO PROBLEMS
No Problems
No Problems
No problems
+No problems
============================================================
============================================================
TEST 10: (u)pTeX-based tests
@@ -108,6 +113,8 @@ ABC^^c3^^88^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
Abc^^c3^^a8^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
ABC^^c3^^88^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
Abc^^c3^^a8^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
+ABC^^c3^^88^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
+^^e4^^b8^^80^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
^^e4^^b8^^80^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
^^e4^^b8^^80^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
^^e4^^b8^^80^^e7^^ba^^a7^^e6^^a0^^87^^e9^^a2^^98
@@ -122,6 +129,7 @@ TEST 11: Unicode case changing
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5^^d0^^b4^^ce^^b1^^c9^^9b
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5^^d0^^b4^^ce^^b1^^c9^^9b
+^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
============================================================
============================================================
TEST 12: Unicode case changing exceptions
@@ -131,6 +139,7 @@ FUSSBALL
Fu^^c3^^9fball
Fu^^c3^^9fball
Fu^^c3^^9fball
+Fu^^c3^^9fball
============================================================
============================================================
TEST 13: The final sigma rule
@@ -140,11 +149,13 @@ TEST 13: The final sigma rule
^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82 (^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82) ^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82, ^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82{} ^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82\noop
^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3 (^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3) ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3, ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3{} ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3\noop
^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82 (^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82) ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82, ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82{} ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82\noop
+^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3 (^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3) ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3, ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3{} ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3\noop
^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82
^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3
^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82
^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3
^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82
+^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3
============================================================
============================================================
TEST 14: Cyrillic
@@ -154,6 +165,7 @@ TEST 14: Cyrillic
^^d0^^94^^d0^^be^^d0^^ba^^d0^^bb^^d0^^b0^^d0^^b4^^d1^^8b ^^d0^^90^^d0^^ba^^d0^^b0^^d0^^b4^^d0^^b5^^d0^^bc^^d0^^b8^^d0^^b8 ^^d0^^9d^^d0^^b0^^d1^^83^^d0^^ba
^^d0^^94^^d0^^be^^d0^^ba^^d0^^bb^^d0^^b0^^d0^^b4^^d1^^8b ^^d0^^90^^d0^^ba^^d0^^b0^^d0^^b4^^d0^^b5^^d0^^bc^^d0^^b8^^d0^^b8 ^^d0^^9d^^d0^^b0^^d1^^83^^d0^^ba
^^d0^^94^^d0^^be^^d0^^ba^^d0^^bb^^d0^^b0^^d0^^b4^^d1^^8b ^^d0^^b0^^d0^^ba^^d0^^b0^^d0^^b4^^d0^^b5^^d0^^bc^^d0^^b8^^d0^^b8 ^^d0^^bd^^d0^^b0^^d1^^83^^d0^^ba
+^^d0^^94^^d0^^be^^d0^^ba^^d0^^bb^^d0^^b0^^d0^^b4^^d1^^8b ^^d0^^90^^d0^^ba^^d0^^b0^^d0^^b4^^d0^^b5^^d0^^bc^^d0^^b8^^d0^^b8 ^^d0^^bd^^d0^^b0^^d1^^83^^d0^^ba
============================================================
============================================================
TEST 15: BCP47 parts
@@ -318,11 +330,13 @@ FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {Baz}
FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {baz}
+FOO \emph {BAR} {BAZ}
\emph {BAR} {baz}
\emph {BAR} {BAZ}
\emph {BAR} {Baz}
\emph {BAR} {BAZ}
\emph {BAR} {baz}
+\emph {BAR} BAZ
============================================================
============================================================
TEST 25: Expanding content
@@ -332,31 +346,37 @@ SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text hello
SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text \cs_tmp:w
SOME TEXT \cs_tmp:w
Some Text \cs_tmp:w
Some Text \cs_tmp:w
Some text \cs_tmp:w
+Some text \cs_tmp:w
\cs_tmp:w sometext
\cs_tmp:w SOMETEXT
\cs_tmp:w Sometext
\cs_tmp:w Sometext
\cs_tmp:w sometext
+\cs_tmp:w sometext
============================================================
============================================================
TEST 26: Math-mode escape
@@ -366,16 +386,19 @@ SOME TEXT $y = mx + c$
Some Text $y = mx + c$
Some Text $y = mx + c$
Some text $y = mx + c$
+Some text $y = mx + c$
$y = mx + c$ text
$y = mx + c$ TEXT
$y = mx + c$ Text
$y = mx + c$ Text
$y = mx + c$ text
+$y = mx + c$ text
opps not close token in $y = mx + c
OPPS NOT CLOSE TOKEN IN $y = mx + c
Opps Not Close Token In $y = mx + c
Opps Not Close Token In $y = mx + c
Opps not close token in $y = mx + c
+Opps not close token in $y = mx + c
============================================================
============================================================
TEST 27: Nesting
@@ -393,6 +416,7 @@ TEST 28: Letter-like commands
\AA \aa \ae \dh \ss \l \o
\AA \aa \ae \dh \ss \l \O
\AA \aa \ae \dh \ss \l \o
+\AA \aa \ae \dh \ss \l \O
============================================================
============================================================
TEST 29: Accents
@@ -402,6 +426,7 @@ TEST 29: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 30: Active chars
@@ -411,6 +436,7 @@ TEST 30: Active chars
"`Lo"=rem"'
"`Lo"=rem"'
"`Lo"=rem"'
+"`Lo"=rem"'
============================================================
============================================================
TEST 31: Case changing exclusions
diff --git a/l3kernel/testfiles/m3text002.uptex.tlg b/l3kernel/testfiles/m3text002.uptex.tlg
index 7bd1f9acd..2b189f74d 100644
--- a/l3kernel/testfiles/m3text002.uptex.tlg
+++ b/l3kernel/testfiles/m3text002.uptex.tlg
@@ -9,6 +9,7 @@ HELLO WORLD \par WITH \ERROR &##
Hello World \par With \ERROR &##
Hello World \par With \ERROR &##
Hello world \par with \ERROR &##
+Hello world \par with \ERROR &##
============================================================
============================================================
TEST 2: Case changes in braces
@@ -18,6 +19,7 @@ TEST 2: Case changes in braces
{Hello} World \par With \ERROR &##
{Hello} World \par With \ERROR &##
{Hello} world \par with \ERROR &##
+{Hello} world \par with \ERROR &##
============================================================
============================================================
TEST 3: Case change exclusions
@@ -27,6 +29,7 @@ SOME TEXT \cite {WithFun}
Some Text \cite {WithFun}
Some Text \cite {WithFun}
Some text \cite {WithFun}
+Some text \cite {WithFun}
============================================================
============================================================
TEST 4: Titlecase basics
@@ -94,11 +97,13 @@ NO PROBLEMS
No Problems
No Problems
No problems
+No problems
no problems
NO PROBLEMS
No Problems
No Problems
No problems
+No problems
============================================================
============================================================
TEST 10: (u)pTeX-based tests
@@ -108,6 +113,8 @@ ABC^^c3^^88日本語
Abc^^c3^^a8日本語
ABC^^c3^^88日本語
Abc^^c3^^a8日本語
+ABC^^c3^^88日本語
+一级标题
一级标题
一级标题
一级标题
@@ -122,6 +129,7 @@ TEST 11: Unicode case changing
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5дα^^c9^^9b
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8Ὥдα^^c6^^90
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5дα^^c9^^9b
+^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8Ὥдα^^c6^^90
============================================================
============================================================
TEST 12: Unicode case changing exceptions
@@ -131,6 +139,7 @@ FUSSBALL
Fu^^c3^^9fball
Fu^^c3^^9fball
Fu^^c3^^9fball
+Fu^^c3^^9fball
============================================================
============================================================
TEST 13: The final sigma rule
@@ -140,11 +149,13 @@ TEST 13: The final sigma rule
ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
ὈΔΥΣΣΕΎΣ (^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^82^^cf^^82^^ce^^b5^^cf^^8d^^cf^^82) ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^82^^cf^^82^^ce^^b5^^cf^^8d^^cf^^82, ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^82^^cf^^82^^ce^^b5^^cf^^8d^^cf^^82{} ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^82^^cf^^82^^ce^^b5^^cf^^8d^^cf^^82\noop
+ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^82^^cf^^82^^ce^^b5^^cf^^8d^^cf^^82
ὈΔΥΣΣΕΎΣ
ὈΔΥΣΣΕΎΣ
ὈΔΥΣΣΕΎΣ
ὈΔΥΣΣΕΎΣ
+ὈΔΥΣΣΕΎΣ
============================================================
============================================================
TEST 14: Cyrillic
@@ -154,6 +165,7 @@ TEST 14: Cyrillic
Д^^d0^^9e^^d0^^9a^^d0^^9b^^d0^^90^^d0^^94^^d0^^ab А^^d0^^9a^^d0^^90^^d0^^94^^d0^^95^^d0^^9c^^d0^^98^^d0^^98 ^^d0^^9d^^d0^^90^^d0^^a3^^d0^^9a
Д^^d0^^9e^^d0^^9a^^d0^^9b^^d0^^90^^d0^^94^^d0^^ab А^^d0^^9a^^d0^^90^^d0^^94^^d0^^95^^d0^^9c^^d0^^98^^d0^^98 ^^d0^^9d^^d0^^90^^d0^^a3^^d0^^9a
Д^^d0^^9e^^d0^^9a^^d0^^9b^^d0^^90^^d0^^94^^d0^^ab ^^d0^^b0кадемии наук
+Д^^d0^^9e^^d0^^9a^^d0^^9b^^d0^^90^^d0^^94^^d0^^ab Академии наук
============================================================
============================================================
TEST 15: BCP47 parts
@@ -318,11 +330,13 @@ FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {Baz}
FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {baz}
+FOO \emph {BAR} {BAZ}
\emph {BAR} {baz}
\emph {BAR} {BAZ}
\emph {BAR} {Baz}
\emph {BAR} {BAZ}
\emph {BAR} {baz}
+\emph {BAR} BAZ
============================================================
============================================================
TEST 25: Expanding content
@@ -332,31 +346,37 @@ SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text hello
SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text \cs_tmp:w
SOME TEXT \cs_tmp:w
Some Text \cs_tmp:w
Some Text \cs_tmp:w
Some text \cs_tmp:w
+Some text \cs_tmp:w
\cs_tmp:w sometext
\cs_tmp:w SOMETEXT
\cs_tmp:w Sometext
\cs_tmp:w Sometext
\cs_tmp:w sometext
+\cs_tmp:w sometext
============================================================
============================================================
TEST 26: Math-mode escape
@@ -366,16 +386,19 @@ SOME TEXT $y = mx + c$
Some Text $y = mx + c$
Some Text $y = mx + c$
Some text $y = mx + c$
+Some text $y = mx + c$
$y = mx + c$ text
$y = mx + c$ TEXT
$y = mx + c$ Text
$y = mx + c$ Text
$y = mx + c$ text
+$y = mx + c$ text
opps not close token in $y = mx + c
OPPS NOT CLOSE TOKEN IN $y = mx + c
Opps Not Close Token In $y = mx + c
Opps Not Close Token In $y = mx + c
Opps not close token in $y = mx + c
+Opps not close token in $y = mx + c
============================================================
============================================================
TEST 27: Nesting
@@ -393,6 +416,7 @@ TEST 28: Letter-like commands
\AA \aa \ae \dh \ss \l \o
\AA \aa \ae \dh \ss \l \O
\AA \aa \ae \dh \ss \l \o
+\AA \aa \ae \dh \ss \l \O
============================================================
============================================================
TEST 29: Accents
@@ -402,6 +426,7 @@ TEST 29: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 30: Active chars
@@ -411,6 +436,7 @@ TEST 30: Active chars
"`Lo"=rem"'
"`Lo"=rem"'
"`Lo"=rem"'
+"`Lo"=rem"'
============================================================
============================================================
TEST 31: Case changing exclusions
diff --git a/l3kernel/testfiles/m3text002.xetex.tlg b/l3kernel/testfiles/m3text002.xetex.tlg
index 449491028..3621cf04c 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -9,6 +9,7 @@ HELLO WORLD \par WITH \ERROR &##
Hello World \par With \ERROR &##
Hello World \par With \ERROR &##
Hello world \par with \ERROR &##
+Hello world \par with \ERROR &##
============================================================
============================================================
TEST 2: Case changes in braces
@@ -18,6 +19,7 @@ TEST 2: Case changes in braces
{Hello} World \par With \ERROR &##
{Hello} World \par With \ERROR &##
{Hello} world \par with \ERROR &##
+{Hello} world \par with \ERROR &##
============================================================
============================================================
TEST 3: Case change exclusions
@@ -27,6 +29,7 @@ SOME TEXT \cite {WithFun}
Some Text \cite {WithFun}
Some Text \cite {WithFun}
Some text \cite {WithFun}
+Some text \cite {WithFun}
============================================================
============================================================
TEST 4: Titlecase basics
@@ -94,11 +97,13 @@ NO PROBLEMS
No Problems
No Problems
No problems
+No problems
no problems
NO PROBLEMS
No Problems
No Problems
No problems
+No problems
============================================================
============================================================
TEST 10: (u)pTeX-based tests
@@ -108,6 +113,8 @@ ABC^^c8日本語
Abc^^e8日本語
ABC^^c8日本語
Abc^^e8日本語
+ABC^^c8日本語
+一级标题
一级标题
一级标题
一级标题
@@ -122,6 +129,7 @@ TEST 11: Unicode case changing
^^c5^^e9^^ee^^f8ὥдαɛ
^^c5^^e9^^ee^^f8ὭдαƐ
^^c5^^e9^^ee^^f8ὥдαɛ
+^^c5^^e9^^ee^^f8ὭдαƐ
============================================================
============================================================
TEST 12: Unicode case changing exceptions
@@ -131,6 +139,7 @@ FUSSBALL
Fu^^dfball
Fu^^dfball
Fu^^dfball
+Fu^^dfball
============================================================
============================================================
TEST 13: The final sigma rule
@@ -140,11 +149,13 @@ TEST 13: The final sigma rule
Ὀδυσσεύς (Ὀδυσσεύς) Ὀδυσσεύς, Ὀδυσσεύς{} Ὀδυσσεύς\noop
ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
Ὀδυσσεύς (ὀδυσσεύς) ὀδυσσεύς, ὀδυσσεύς{} ὀδυσσεύς\noop
+ὈΔΥΣΣΕΎΣ (ὈΔΥΣΣΕΎΣ) ὈΔΥΣΣΕΎΣ, ὈΔΥΣΣΕΎΣ{} ὈΔΥΣΣΕΎΣ\noop
ὀδυσσεύς
ὈΔΥΣΣΕΎΣ
Ὀδυσσεύς
ὈΔΥΣΣΕΎΣ
Ὀδυσσεύς
+ὈΔΥΣΣΕΎΣ
============================================================
============================================================
TEST 14: Cyrillic
@@ -154,6 +165,7 @@ TEST 14: Cyrillic
Доклады Академии Наук
Доклады Академии Наук
Доклады академии наук
+Доклады Академии наук
============================================================
============================================================
TEST 15: BCP47 parts
@@ -318,11 +330,13 @@ FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {Baz}
FOO \emph {BAR} {BAZ}
Foo \emph {BAR} {baz}
+FOO \emph {BAR} {BAZ}
\emph {BAR} {baz}
\emph {BAR} {BAZ}
\emph {BAR} {Baz}
\emph {BAR} {BAZ}
\emph {BAR} {baz}
+\emph {BAR} BAZ
============================================================
============================================================
TEST 25: Expanding content
@@ -332,31 +346,37 @@ SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text hello
SOME TEXT HELLO
Some Text Hello
Some Text Hello
Some text hello
+Some text Hello
hello sometext
HELLO SOMETEXT
Hello Sometext
Hello Sometext
Hello sometext
+Hello sometext
some text \cs_tmp:w
SOME TEXT \cs_tmp:w
Some Text \cs_tmp:w
Some Text \cs_tmp:w
Some text \cs_tmp:w
+Some text \cs_tmp:w
\cs_tmp:w sometext
\cs_tmp:w SOMETEXT
\cs_tmp:w Sometext
\cs_tmp:w Sometext
\cs_tmp:w sometext
+\cs_tmp:w sometext
============================================================
============================================================
TEST 26: Math-mode escape
@@ -366,16 +386,19 @@ SOME TEXT $y = mx + c$
Some Text $y = mx + c$
Some Text $y = mx + c$
Some text $y = mx + c$
+Some text $y = mx + c$
$y = mx + c$ text
$y = mx + c$ TEXT
$y = mx + c$ Text
$y = mx + c$ Text
$y = mx + c$ text
+$y = mx + c$ text
opps not close token in $y = mx + c
OPPS NOT CLOSE TOKEN IN $y = mx + c
Opps Not Close Token In $y = mx + c
Opps Not Close Token In $y = mx + c
Opps not close token in $y = mx + c
+Opps not close token in $y = mx + c
============================================================
============================================================
TEST 27: Nesting
@@ -393,6 +416,7 @@ TEST 28: Letter-like commands
\AA \aa \ae \dh \ss \l \o
\AA \aa \ae \dh \ss \l \O
\AA \aa \ae \dh \ss \l \o
+\AA \aa \ae \dh \ss \l \O
============================================================
============================================================
TEST 29: Accents
@@ -402,6 +426,7 @@ TEST 29: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 30: Active chars
@@ -411,6 +436,7 @@ TEST 30: Active chars
"`Lo"=rem"'
"`Lo"=rem"'
"`Lo"=rem"'
+"`Lo"=rem"'
============================================================
============================================================
TEST 31: Case changing exclusions
More information about the latex3-commits
mailing list.