[latex3-commits] [git/LaTeX3-latex3-latex2e] gh881: use latest l3 case change code and no protected at edef for #881 (1bb4799e)

David Carlisle d.p.carlisle at gmail.com
Thu Jun 30 22:37:59 CEST 2022


Repository : https://github.com/latex3/latex2e
On branch  : gh881
Link       : https://github.com/latex3/latex2e/commit/1bb4799ee19d45627e9250fef1889a52794092ee

>---------------------------------------------------------------

commit 1bb4799ee19d45627e9250fef1889a52794092ee
Author: David Carlisle <d.p.carlisle at gmail.com>
Date:   Thu Jun 30 21:37:59 2022 +0100

    use latest l3 case change code and no protected at edef for #881


>---------------------------------------------------------------

1bb4799ee19d45627e9250fef1889a52794092ee
 base/testfiles-legacy/github-0881c.lvt |  45 ++++++++
 base/testfiles-legacy/github-0881c.tlg | 113 +++++++++++++++++++
 base/testfiles/github-0881a.lvt        |  28 +++++
 base/testfiles/github-0881a.tlg        |  37 +++++++
 base/testfiles/github-0881b.lvt        |  50 +++++++++
 base/testfiles/github-0881b.tlg        | 195 +++++++++++++++++++++++++++++++++
 6 files changed, 468 insertions(+)

diff --git a/base/testfiles-legacy/github-0881c.lvt b/base/testfiles-legacy/github-0881c.lvt
new file mode 100644
index 00000000..0bfddcdc
--- /dev/null
+++ b/base/testfiles-legacy/github-0881c.lvt
@@ -0,0 +1,45 @@
+% encoding ISO 8859-1
+
+% Latin 1 characters should uppercase correctly
+
+\documentclass{article}
+
+\setlength\parindent{0pt}
+\setlength\parskip{20pt}
+
+\ExplSyntaxOn
+\let\textuppercase\text_uppercase:n
+\ExplSyntaxOff
+
+% the two boxes should show the same content
+\def\TEST#1#2#3{%
+\typeout{Test: #1}%
+\sbox0{#2}\showbox0
+\sbox2{#3}\showbox2
+\usebox{0}\\$\rightarrow$ \usebox{2}}
+
+
+\input{test2e}
+
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+
+\begin{document}
+
+\START
+
+\TEST{1}
+     {\textuppercase{abc Æ Â é ö}}
+     {ABC Æ Â É Ö}
+
+\TEST{2}
+     {\textuppercase{abc $\alpha+b$}}
+     {ABC $\alpha+b$}
+
+\def\foo{xyz}
+
+\TEST{3}
+     {\textuppercase{abc \foo\ \protect\foo}}
+     {ABC XYZ\ xyz}
+	    
+\END
diff --git a/base/testfiles-legacy/github-0881c.tlg b/base/testfiles-legacy/github-0881c.tlg
new file mode 100644
index 00000000..8689e683
--- /dev/null
+++ b/base/testfiles-legacy/github-0881c.tlg
@@ -0,0 +1,113 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+Test: 1
+> \box...=
+\hbox(8.91449+0.0)x66.23383
+.\T1/cmr/m/n/10 A
+.\T1/cmr/m/n/10 B
+.\T1/cmr/m/n/10 C
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^c6
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^c2
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^c9
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^d6
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ...     {ABC ^^c6 ^^c2 ^^c9 ^^d6}
+> \box...=
+\hbox(8.91449+0.0)x66.23383
+.\T1/cmr/m/n/10 A
+.\T1/cmr/m/n/10 B
+.\T1/cmr/m/n/10 C
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^c6
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^c2
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^c9
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 ^^d6
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ...     {ABC ^^c6 ^^c2 ^^c9 ^^d6}
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <7> on input line ....
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <5> on input line ....
+Test: 2
+> \box...=
+\hbox(6.94444+0.83333)x48.08058
+.\T1/cmr/m/n/10 A
+.\T1/cmr/m/n/10 B
+.\T1/cmr/m/n/10 C
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\mathon
+.\OML/cmm/m/it/10 ^^K
+.\kern0.03702
+.\glue(\medmuskip) 2.22217 plus 1.11108 minus 2.22217
+.\OT1/cmr/m/n/10 +
+.\glue(\medmuskip) 2.22217 plus 1.11108 minus 2.22217
+.\OML/cmm/m/it/10 b
+.\mathoff
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ...     {ABC $\alpha+b$}
+> \box...=
+\hbox(6.94444+0.83333)x48.08058
+.\T1/cmr/m/n/10 A
+.\T1/cmr/m/n/10 B
+.\T1/cmr/m/n/10 C
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\mathon
+.\OML/cmm/m/it/10 ^^K
+.\kern0.03702
+.\glue(\medmuskip) 2.22217 plus 1.11108 minus 2.22217
+.\OT1/cmr/m/n/10 +
+.\glue(\medmuskip) 2.22217 plus 1.11108 minus 2.22217
+.\OML/cmm/m/it/10 b
+.\mathoff
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ...     {ABC $\alpha+b$}
+Test: 3
+> \box...=
+\hbox(6.8872+1.94397)x64.56757
+.\T1/cmr/m/n/10 A
+.\T1/cmr/m/n/10 B
+.\T1/cmr/m/n/10 C
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 X
+.\T1/cmr/m/n/10 Y
+.\T1/cmr/m/n/10 Z
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T1/cmr/m/n/10 x
+.\T1/cmr/m/n/10 y
+.\T1/cmr/m/n/10 z
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ...     {ABC XYZ\ xyz}
+> \box...=
+\hbox(6.8872+1.94397)x64.56757
+.\T1/cmr/m/n/10 A
+.\T1/cmr/m/n/10 B
+.\T1/cmr/m/n/10 C
+.\glue 3.33252 plus 1.66458 minus 1.11194
+.\T1/cmr/m/n/10 X
+.\T1/cmr/m/n/10 Y
+.\T1/cmr/m/n/10 Z
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T1/cmr/m/n/10 x
+.\T1/cmr/m/n/10 y
+.\T1/cmr/m/n/10 z
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ...     {ABC XYZ\ xyz}
diff --git a/base/testfiles/github-0881a.lvt b/base/testfiles/github-0881a.lvt
new file mode 100644
index 00000000..ebb8a4be
--- /dev/null
+++ b/base/testfiles/github-0881a.lvt
@@ -0,0 +1,28 @@
+%
+% \label \ref \eqref should not error in MakeUppercase
+%
+\documentclass{article}
+
+\input{test2e}
+
+\protected\def\eqref#1{(\ref{#1})}
+
+\AddToNoCaseChangeList{\eqref}
+
+
+\begin{document}
+
+\START
+
+\section{abc}\label{sec:a}
+
+\begin{equation}
+  \label{eq:a}
+  1=1
+\end{equation}
+
+\sbox0{\MakeUppercase{xyz \ref{sec:a} and \eqref{eq:a} \label{lower}} see \ref{lower}}
+\showbox0
+\usebox0
+
+\end{document}
\ No newline at end of file
diff --git a/base/testfiles/github-0881a.tlg b/base/testfiles/github-0881a.tlg
new file mode 100644
index 00000000..5b15bc7f
--- /dev/null
+++ b/base/testfiles/github-0881a.tlg
@@ -0,0 +1,37 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <7> on input line ....
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <5> on input line ....
+> \box...=
+\hbox(7.5+2.5)x96.0279
+.\OT1/cmr/m/n/10 X
+.\OT1/cmr/m/n/10 Y
+.\OT1/cmr/m/n/10 Z
+.\glue 3.33333 plus 1.66498 minus 1.11221
+.\OT1/cmr/m/n/10 1
+.\hbox(0.0+0.0)x0.0
+.\glue 3.33333 plus 1.66666 minus 1.11111
+.\OT1/cmr/m/n/10 A
+.\OT1/cmr/m/n/10 N
+.\OT1/cmr/m/n/10 D
+.\glue 3.33333 plus 1.66498 minus 1.11221
+.\OT1/cmr/m/n/10 (
+.\OT1/cmr/m/n/10 1
+.\hbox(0.0+0.0)x0.0
+.\OT1/cmr/m/n/10 )
+.\glue 3.33333 plus 1.66666 minus 1.11111
+.\write1{\newlabel{lower}{{1}{\thepage }}}
+.\penalty 10000
+.\glue 0.0
+.\OT1/cmr/m/n/10 s
+.\OT1/cmr/m/n/10 e
+.\OT1/cmr/m/n/10 e
+.\glue 3.33333 plus 1.66666 minus 1.11111
+.\OT1/cmr/m/n/10 1
+.\hbox(0.0+0.0)x0.0
+! OK.
+l. ...\showbox0
+[1
+] (github-0881a.aux)
diff --git a/base/testfiles/github-0881b.lvt b/base/testfiles/github-0881b.lvt
new file mode 100644
index 00000000..c275b653
--- /dev/null
+++ b/base/testfiles/github-0881b.lvt
@@ -0,0 +1,50 @@
+% LICR commands should be case changed, but not inside \protect
+% The original version of MakeUppercase would uppercase \cyr but not a in \protect\foo
+
+\documentclass{article}
+
+\setlength\parindent{0pt}
+\setlength\parskip{20pt}
+
+\ExplSyntaxOn
+\let\textuppercase\text_uppercase:n
+\ExplSyntaxOff
+
+\input{test2e}
+
+\usepackage[T2A]{fontenc}
+
+% the two boxes should show the same content
+\def\TEST#1#2#3{%
+\typeout{Test: #1}%
+\sbox0{#2}\showbox0
+\sbox2{#3}\showbox2
+\usebox{0}\\$\rightarrow$ \usebox{2}}
+
+\begin{document}
+
+\START
+
+\TEST{0}
+     {\CYRA\CYRB\CYRV}
+     {\CYRA\CYRB\CYRV}
+
+\TEST{1}
+     {\MakeUppercase{\cyra\cyrb\cyrv}}
+     {\CYRA\CYRB\CYRV}
+
+\TEST{2]
+     {\textuppercase{\cyra\cyrb\cyrv}}
+     {\CYRA\CYRB\CYRV}
+
+\newcommand\foo{abc\cyra\cyrb\cyrv}
+
+\TEST{3}
+     {\MakeUppercase{lower: \protect\foo\ upper: \foo}}
+     {LOWER: abc\cyra\cyrb\cyrv\ UPPER: ABC\CYRA\CYRB\CYRV}
+
+\TEST{4}
+     {\textuppercase{lower: \protect\foo\ upper: \foo}}
+     {LOWER: abc\cyra\cyrb\cyrv\ UPPER: ABC\CYRA\CYRB\CYRV}
+	   
+\END
diff --git a/base/testfiles/github-0881b.tlg b/base/testfiles/github-0881b.tlg
new file mode 100644
index 00000000..07fe6004
--- /dev/null
+++ b/base/testfiles/github-0881b.tlg
@@ -0,0 +1,195 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+Test: 0
+> \box...=
+\hbox(6.83167+0.0)x21.66138
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ...     {\CYRA\CYRB\CYRV}
+> \box...=
+\hbox(6.83167+0.0)x21.66138
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ...     {\CYRA\CYRB\CYRV}
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <7> on input line ....
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <5> on input line ....
+Test: 1
+> \box...=
+\hbox(6.83167+0.0)x21.66138
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ...     {\CYRA\CYRB\CYRV}
+> \box...=
+\hbox(6.83167+0.0)x21.66138
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ...     {\CYRA\CYRB\CYRV}
+Runaway argument?
+{2] {\textuppercase {\cyra \cyrb \cyrv }} {\CYRA \CYRB \CYRV } 
+! Paragraph ended before \TEST was complete.
+<to be read again> 
+                   \par 
+l. ...
+I suspect you've forgotten a `}', causing me to apply this
+control sequence to too much text. How can we recover?
+My plan is to forget the whole thing and hope for the best.
+Test: 3
+> \box...=
+\hbox(6.94275+0.0)x162.73804
+.\T2A/cmr/m/n/10 L
+.\T2A/cmr/m/n/10 O
+.\kern-0.27771
+.\T2A/cmr/m/n/10 W
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 a
+.\T2A/cmr/m/n/10 b
+.\kern0.27771
+.\T2A/cmr/m/n/10 c
+.\T2A/cmr/m/n/10 ^^e0
+.\T2A/cmr/m/n/10 ^^e1
+.\T2A/cmr/m/n/10 ^^e2
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 U
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 A
+.\T2A/cmr/m/n/10 B
+.\T2A/cmr/m/n/10 C
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ......cyra\cyrb\cyrv\ UPPER: ABC\CYRA\CYRB\CYRV}
+> \box...=
+\hbox(6.94275+0.0)x162.73804
+.\T2A/cmr/m/n/10 L
+.\T2A/cmr/m/n/10 O
+.\kern-0.27771
+.\T2A/cmr/m/n/10 W
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 a
+.\T2A/cmr/m/n/10 b
+.\kern0.27771
+.\T2A/cmr/m/n/10 c
+.\T2A/cmr/m/n/10 ^^e0
+.\T2A/cmr/m/n/10 ^^e1
+.\T2A/cmr/m/n/10 ^^e2
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 U
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 A
+.\T2A/cmr/m/n/10 B
+.\T2A/cmr/m/n/10 C
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ......cyra\cyrb\cyrv\ UPPER: ABC\CYRA\CYRB\CYRV}
+Test: 4
+> \box...=
+\hbox(6.94275+0.0)x162.73804
+.\T2A/cmr/m/n/10 L
+.\T2A/cmr/m/n/10 O
+.\kern-0.27771
+.\T2A/cmr/m/n/10 W
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 a
+.\T2A/cmr/m/n/10 b
+.\kern0.27771
+.\T2A/cmr/m/n/10 c
+.\T2A/cmr/m/n/10 ^^e0
+.\T2A/cmr/m/n/10 ^^e1
+.\T2A/cmr/m/n/10 ^^e2
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 U
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 A
+.\T2A/cmr/m/n/10 B
+.\T2A/cmr/m/n/10 C
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...\typeout {Test: #1}\sbox 0{#2}\showbox 0 
+                                                  \sbox 2{#3}\showbox 2 \use...
+l. ......cyra\cyrb\cyrv\ UPPER: ABC\CYRA\CYRB\CYRV}
+> \box...=
+\hbox(6.94275+0.0)x162.73804
+.\T2A/cmr/m/n/10 L
+.\T2A/cmr/m/n/10 O
+.\kern-0.27771
+.\T2A/cmr/m/n/10 W
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 a
+.\T2A/cmr/m/n/10 b
+.\kern0.27771
+.\T2A/cmr/m/n/10 c
+.\T2A/cmr/m/n/10 ^^e0
+.\T2A/cmr/m/n/10 ^^e1
+.\T2A/cmr/m/n/10 ^^e2
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 U
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 P
+.\T2A/cmr/m/n/10 E
+.\T2A/cmr/m/n/10 R
+.\T2A/cmr/m/n/10 :
+.\glue 3.33252 plus 1.66626 minus 1.11084
+.\T2A/cmr/m/n/10 A
+.\T2A/cmr/m/n/10 B
+.\T2A/cmr/m/n/10 C
+.\T2A/cmr/m/n/10 ^^c0
+.\T2A/cmr/m/n/10 ^^c1
+.\T2A/cmr/m/n/10 ^^c2
+! OK.
+\TEST ...ox 0{#2}\showbox 0 \sbox 2{#3}\showbox 2 
+                                                  \usebox {0}\\$\rightarrow ...
+l. ......cyra\cyrb\cyrv\ UPPER: ABC\CYRA\CYRB\CYRV}





More information about the latex3-commits mailing list.