[latex3-commits] [git/LaTeX3-latex3-latex2e] gh297: fix for #297 (14e74c59)

Frank Mittelbach frank.mittelbach at latex-project.org
Mon Apr 6 15:13:51 CEST 2020


Repository : https://github.com/latex3/latex2e
On branch  : gh297
Link       : https://github.com/latex3/latex2e/commit/14e74c59c9067edc8896761fc284df9af6db52d1

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

commit 14e74c59c9067edc8896761fc284df9af6db52d1
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Mon Apr 6 15:13:51 2020 +0200

    fix for #297


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

14e74c59c9067edc8896761fc284df9af6db52d1
 base/doc/ltnews32.tex                              |  23 ++-
 .../{array-2016-10-06.sty => array-2020-02-10.sty} | 133 +++++++++------
 required/tools/array.dtx                           |  23 ++-
 required/tools/changes.txt                         |  11 +-
 .../testfiles/github-0297-rollback.luatex.tlg      | 170 +++++++++++++++++++
 required/tools/testfiles/github-0297-rollback.lvt  |  29 ++++
 required/tools/testfiles/github-0297-rollback.tlg  | 165 +++++++++++++++++++
 required/tools/testfiles/github-0297.luatex.tlg    | 182 +++++++++++++++++++++
 required/tools/testfiles/github-0297.lvt           |  29 ++++
 required/tools/testfiles/github-0297.tlg           | 177 ++++++++++++++++++++
 required/tools/testfiles/tub-38-02-fmi.tlg         |   4 +-
 11 files changed, 883 insertions(+), 63 deletions(-)

diff --git a/base/doc/ltnews32.tex b/base/doc/ltnews32.tex
index e09e3ea7..f90f6782 100644
--- a/base/doc/ltnews32.tex
+++ b/base/doc/ltnews32.tex
@@ -209,7 +209,7 @@ In some circumstances the use of \cs{linethickness} introduced a
 spurious space that shifted objects in a \texttt{picture} environments
 to the right. This has been corrected.
 %
-\githubissue{270}
+\githubissue{274}
 
 
 \subsection{Support for uncommon font series defaults}
@@ -291,7 +291,7 @@ to the log file, because of a typo in the check. This has been corrected.
 
 \section{Changes to packages in the \pkg{tools} category}
 
-\subsection{Support stretchable glue in \texttt{w}-columns}
+\subsection{\pkg{array}: Support stretchable glue in \texttt{w}-columns}
 
 If stretchable glue, e.g., \cs{dotfill}, is used in \env{tabular}
 columns made with the \pkg{array} package, it stretches as it would in
@@ -303,6 +303,25 @@ types in this respect.
 %
 \githubissue{270}
 
+\subsection{\pkg{array}: Use math mode for \texttt{w} and
+  \texttt{W}-cells in \env{array}}
+
+The \texttt{w} and \texttt{W}-columns are LR-columns very similar to
+\texttt{l}, \texttt{c} and \texttt{r}. It is therefore natural to
+expect their cell content to be typeset in math mode instead of text
+mode if they are used in an \env{array} environment.  This has now
+been adjusted. Note that this is a breaking change in version v2.5!
+If you have used \texttt{w} or \texttt{W}-columns in older documents
+either add \texttt{\detokenize{>{$}...<{$}}} for such columns or
+remove the \texttt{\$} signs in the cells. Alternatively, you can roll
+back to the old version by loading \pkg{array} with
+\begin{verbatim}
+\usepackage{array}[=v2.4]
+\end{verbatim}
+in such documents.
+%
+\githubissue{297}
+
 
 
 \section{Changes to packages in the \pkg{amsmath} category}
diff --git a/required/tools/array-2016-10-06.sty b/required/tools/array-2020-02-10.sty
similarity index 78%
copy from required/tools/array-2016-10-06.sty
copy to required/tools/array-2020-02-10.sty
index 10fd5e8d..9fddc0d4 100644
--- a/required/tools/array-2016-10-06.sty
+++ b/required/tools/array-2020-02-10.sty
@@ -1,7 +1,19 @@
 %%
-%% This is an old release of `array.sty',
+%% This is file `array.sty',
+%% generated with the docstrip utility.
 %%
-%% Copyright 1993-2016
+%% The original source files were:
+%%
+%% array.dtx  (with options: `package,ncols')
+%% 
+%% This is a generated file.
+%% 
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%% 
+%% 
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -12,16 +24,28 @@
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
-%%    http://www.latex-project.org/lppl.txt
+%%    https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
 %% 
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%% 
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
 %% 
 %% Package `array' to use with LaTeX 2e
 %% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
 \NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
+\DeclareCurrentRelease{}{2019-10-01}
+
 \ProvidesPackage{array}
-         [2016/10/06 v2.4d Tabular extension package (FMi)]
+         [2020/02/10 v2.4m Tabular extension package (FMi)]
 %%
 
 \def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}}
@@ -71,29 +95,6 @@
    \the at toks \the \count@ \relax}
 \newdimen\col at sep
 \def\@acol{\@addtopreamble{\hskip\col at sep}}
-\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
-   \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
-   \@xexpast #1*0x\@@
-   \count@\m at ne
-   \let\the at toks\relax
-   \prepnext at tok
-   \expandafter \@tfor \expandafter \@nextchar
-    \expandafter :\expandafter =\@tempa \do
-   {\@testpach
-   \ifcase \@chclass \@classz \or \@classi \or \@classii
-     \or \save at decl \or \or \@classv \or \@classvi
-     \or \@classvii \or \@classviii  \or \@classix
-     \or \@classx \fi
-   \@lastchclass\@chclass}%
-   \ifcase\@lastchclass
-   \@acol \or
-   \or
-   \@acol \or
-   \@preamerr \thr@@ \or
-   \@preamerr \tw@ \@addtopreamble\@sharp \or
-   \or
-   \else  \@preamerr \@ne \fi
-   \def\the at toks{\the\toks}}
 \def\@classx{%
   \ifcase \@lastchclass
   \@acolampacol \or
@@ -108,21 +109,33 @@
    \prepnext at tok
    \@addtopreamble{\ifcase \@chnum
       \hfil
+      \hskip1sp%
       \d at llarbegin
       \insert at column
-      \d at llarend \hfil \or
-      \hskip1sp\d at llarbegin \insert at column \d at llarend \hfil \or
-      \hfil\hskip1sp\d at llarbegin \insert at column \d at llarend \or
-   $\vcenter
-   \@startpbox{\@nextchar}\insert at column \@endpbox $\or
-   \vtop \@startpbox{\@nextchar}\insert at column \@endpbox \or
-   \vbox \@startpbox{\@nextchar}\insert at column \@endpbox
+      \d at llarend \do at row@strut \hfil \or
+      \hskip1sp\d at llarbegin \insert at column \d at llarend \do at row@strut \hfil \or
+      \hfil\hskip1sp\d at llarbegin \insert at column \d at llarend \do at row@strut \or
+    \setbox\ar at mcellbox\vbox
+    \@startpbox{\@nextchar}\insert at column \@endpbox
+    \ar at align@mcell
+    \do at row@strut \or
+   \vtop \@startpbox{\@nextchar}\insert at column \@endpbox\do at row@strut \or
+   \vbox \@startpbox{\@nextchar}\insert at column \@endpbox\do at row@strut
   \fi}\prepnext at tok}
-\def\@classix{\ifnum \@lastchclass = \thr@@
-       \@preamerr \thr@@ \fi
-       \@classx}
-\def\@classviii{\ifnum \@lastchclass >\z@
-      \@preamerr 4\@chclass 6 \@classvi \fi}
+
+\newbox\ar at mcellbox
+\def\ar at align@mcell{%
+  \ifdim \ht\ar at mcellbox > \ht\@arstrutbox
+    \begingroup
+     \dimen@\ht\ar at mcellbox
+     \advance\dimen at -\ht\@arstrutbox
+     \advance\dimen@\baselineskip
+     \lower.5\dimen@\box\ar at mcellbox
+    \endgroup
+  \else % assume one line and align at baseline
+    \box\ar at mcellbox
+  \fi}
+
 \def\@arrayrule{\@addtopreamble \vline}
 \def\@classvii{\ifnum \@lastchclass = \thr@@
    \@preamerr \thr@@ \fi}
@@ -134,19 +147,17 @@
       \fi}
 \def\@classii{\advance \count@ \m at ne
    \save at decl\prepnext at tok}
-\def\@classv{\save at decl
-   \@addtopreamble{\d at llarbegin\the at toks\the\count@\relax\d at llarend}%
-   \prepnext at tok}
 \def\@classi{\@classvi
    \ifcase \@chnum \@arrayrule \or
       \@classv \fi}
 \def\@startpbox#1{\bgroup
+  \color at begingroup
   \setlength\hsize{#1}\@arrayparboxrestore
    \everypar{%
       \vrule \@height \ht\@arstrutbox \@width \z@
       \everypar{}}%
    }
-\def\@endpbox{\@finalstrut\@arstrutbox \egroup\hfil}
+\def\@endpbox{\@finalstrut\@arstrutbox \color at endgroup \egroup\hfil}
 \def\@array[#1]#2{%
   \@tempdima \ht \strutbox
   \advance \@tempdima by\extrarowheight
@@ -179,9 +190,13 @@
 \def\@argarraycr[#1]{\ifnum0=`{}\fi\ifdim #1>\z@
   \expandafter\@xargarraycr\else
   \expandafter\@yargarraycr\fi{#1}}
-\def\@xargarraycr#1{\unskip
-  \@tempdima #1\advance\@tempdima \dp\@arstrutbox
-  \vrule \@depth\@tempdima \@width\z@ \cr}
+\def\@xargarraycr#1{\unskip\gdef\do at row@strut
+ {\@tempdima #1\advance\@tempdima \dp\@arstrutbox
+   \vrule \@depth\@tempdima \@width\z@\global\let\do at row@strut\relax}%
+ %    \begin{macrocode}
+   \ifnum\@multicnt >\z@ \do at row@strut \fi
+   \cr}
+\let\do at row@strut\relax
 \def\@yargarraycr#1{\cr\noalign{\vskip #1}}
 \long\def\multicolumn#1#2#3{%
    \multispan{#1}\begingroup
@@ -198,7 +213,6 @@
 \def\array{\col at sep\arraycolsep
   \def\d at llarbegin{$}\let\d at llarend\d at llarbegin\def\@halignto{}%
   \@tabarray}
-\def\@tabarray{\@ifnextchar[{\@array}{\@array[c]}}
 \def\tabular{\def\@halignto{}\@tabular}
 \expandafter\def\csname tabular*\endcsname#1{%
        \setlength\dimen@{#1}%
@@ -208,7 +222,6 @@
   \hbox \bgroup $\col at sep\tabcolsep \let\d at llarbegin\begingroup
                                     \let\d at llarend\endgroup
   \@tabarray}
-\def\endarray{\crcr \egroup \egroup \gdef\@preamble{}}
 \def\endtabular{\endarray $\egroup}
 \expandafter\let\csname endtabular*\endcsname=\endtabular
 \let\@ampacol=\relax        \let\@expast=\relax
@@ -228,7 +241,9 @@
 \def\newcolumntype#1{%
   \edef\NC at char{\string#1}%
   \@ifundefined{NC at find@\NC at char}%
-    {\@tfor\next:=<>clrmbp@!|\do{\if\noexpand\next\NC at char
+    {\@tfor\next:=<>clrmbp@!|\do
+      {%
+        \if\expandafter\noexpand\next\NC at char
         \PackageWarning{array}%
                        {Redefining primitive column \NC at char}\fi}%
      \NC at list\expandafter{\the\NC at list\NC at do#1}}%
@@ -269,7 +284,11 @@
 \def\save at decl{\toks \count@ = \expandafter\expandafter\expandafter
                   {\expandafter\@nextchar\the\toks\count@}}
 \def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
-   \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
+   \let\@sharp\relax
+   \def\@startpbox##1{\unexpanded\expandafter{\expandafter
+                      \@startpbox\expandafter{##1}}}\let\@endpbox\relax
+   \let\do at row@strut\relax
+   \let\ar at align@mcell\relax
    \@temptokena{#1}\@tempswatrue
    \@whilesw\if at tempswa\fi{\@tempswafalse\the\NC at list}%
    \count@\m at ne
@@ -336,6 +355,20 @@
                \vskip\doublerulesep
              \fi
       \ifnum0=`{\fi}}
+
+\newsavebox\ar at cellbox
+\newcolumntype{w}[2]{%
+  >{\begin{lrbox}\ar at cellbox}%
+  c%
+  <{\end{lrbox}%
+    \makebox[#2][#1]{\unhbox\ar at cellbox}}}
+
+\newcolumntype{W}[2]
+  {>{\begin{lrbox}\ar at cellbox}%
+   c%
+   <{\end{lrbox}%
+   \let\hss\hfil
+   \makebox[#2][#1]{\unhbox\ar at cellbox}}}
 \endinput
 %%
 %% End of file `array.sty'.
diff --git a/required/tools/array.dtx b/required/tools/array.dtx
index aca43a53..de1d0ecf 100644
--- a/required/tools/array.dtx
+++ b/required/tools/array.dtx
@@ -29,10 +29,11 @@
 %<+package>\providecommand\DeclareCurrentRelease[2]{}
 %<+package>
 %<+package>\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
-%<+package>\DeclareCurrentRelease{}{2019-10-01}
+%<+package>\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty}
+%<+package>\DeclareCurrentRelease{}{2020-10-01}
 %<+package>
 %<+package>\ProvidesPackage{array}
-%<+package>         [2020/02/10 v2.4m Tabular extension package (FMi)]
+%<+package>         [2020/10/01 v2.5a Tabular extension package (FMi)]
 %
 % \fi
 %
@@ -3034,14 +3035,18 @@
 %    alignment which is either "l", "c", or "r" and the second is the
 %    nominal width of the column.
 % \changes{v2.4f}{2017/11/07}{Column type added}
+% \changes{v2.5a}{2020/04/06}{Use \cs{d at llarbegin} and \cs{d at llarend} so
+%    that cell is typeset in math mode inside \texttt{array} (gh/297)}
 %    \begin{macrocode}
 \newcolumntype{w}[2]{%
 %    \end{macrocode}
 %    Before the cell content we start an "lrbox"-environment to
 %    collect the cell material into the previously allocated box
-%    "\ar at cellbox".
+%    "\ar at cellbox". We add \cs{d at llarbegin} (and later \cs{d at llarend})
+%    so that the content is typeset in math mode if we are in an
+%    \texttt{array} environment.
 %    \begin{macrocode}
-  >{\begin{lrbox}\ar at cellbox}%
+  >{\begin{lrbox}\ar at cellbox\d at llarbegin}%
 %    \end{macrocode}
 %    Then comes a specifier for the cell content.  We use "c", but
 %    that doesn't matter as in the end we will always put a box of a
@@ -3059,9 +3064,9 @@
 %    alignment within that width. We unbox the collected material so
 %    that any stretchable glue inside can interact with the alignment.
 % \changes{v2.4m}{2020/02/10}{Unbox collected material so that
-%  %    stretchable glue inside can act (gh/270)}
+%                             stretchable glue inside can act (gh/270)}
 %    \begin{macrocode}
-  <{\end{lrbox}%
+  <{\d at llarend \end{lrbox}%
     \makebox[#2][#1]{\unhbox\ar at cellbox}}}
 %    \end{macrocode}
 %  \end{macro}
@@ -3072,11 +3077,13 @@
 %    The \texttt{W} is similar but in this case we want a warning if
 %    the cell content is too wide.
 % \changes{v2.4f}{2017/11/07}{Column type added}
+% \changes{v2.5a}{2020/04/06}{Use \cs{d at llarbegin} and \cs{d at llarend} so
+%    that cell is typeset in mathmode inside \texttt{array} (gh/297)}
 %    \begin{macrocode}
 \newcolumntype{W}[2]
-  {>{\begin{lrbox}\ar at cellbox}%
+  {>{\begin{lrbox}\ar at cellbox\d at llarbegin}%
    c%
-   <{\end{lrbox}%
+   <{\d at llarend\end{lrbox}%
    \let\hss\hfil
    \makebox[#2][#1]{\unhbox\ar at cellbox}}}
 %    \end{macrocode}
diff --git a/required/tools/changes.txt b/required/tools/changes.txt
index ca9ea3d9..b50b4d8e 100644
--- a/required/tools/changes.txt
+++ b/required/tools/changes.txt
@@ -5,11 +5,20 @@ completeness or accuracy and it contains some references to files that
 are not part of the distribution.
 =======================================================================
 
+2020-04-06  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* array.dtx (subsection{Implementing column types w and W}):
+	Use \d at llarbegin and \d at llarendde so that cell is typeset by
+	default in math mode inside array; the use of >{$} ... <{$}
+	to make such a column text mode remains possible
+	(gh/297)  --- this is a breaking change!
+
+
 2020-02-10  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* array.dtx (subsection{Implementing column types w and W}):
 	Unbox collected material so that stretchable glue
-	inside can act (gh/270#)
+	inside can act (gh/270)
 
 #########################
 # 2020-02-02 Release
diff --git a/required/tools/testfiles/github-0297-rollback.luatex.tlg b/required/tools/testfiles/github-0297-rollback.luatex.tlg
new file mode 100644
index 00000000..97323b4c
--- /dev/null
+++ b/required/tools/testfiles/github-0297-rollback.luatex.tlg
@@ -0,0 +1,170 @@
+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 ....
+Completed box being shipped out [1]
+\vbox(633.0+0.0)x407.0, direction TLT
+.\glue 16.0
+.\vbox(617.0+0.0)x345.0, shifted 62.0, direction TLT
+..\vbox(12.0+0.0)x345.0, glue set 12.0fil, direction TLT
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x345.0, direction TLT
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(550.0+0.0)x345.0, glue set 479.44879fil, direction TLT
+...\write-{}
+...\glue(\topskip) 10.0
+...\hbox(0.0+0.0)x345.0, glue set 137.9979fil, direction TLT
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x0.0, direction TLT
+....\hbox(0.0+0.0)x207.0021, glue set 103.50105fil, direction TLT
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 10000
+...\glue(\abovedisplayskip) 10.0 plus 2.0 minus 5.0
+...\glue(\lineskip) 1.0
+...\hbox(14.5+9.5)x77.7055, shifted 133.64725, direction TLT
+....\vbox(14.5+9.5)x77.7055, direction TLT
+.....\hbox(8.39996+3.60004)x77.7055, direction TLT
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+0.0)x28.45274, glue set 23.17494fil, direction TLT
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\OT1/cmr/m/n/10 x
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+1.94444)x28.45274, glue set 23.19115fil, direction TLT
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 y
+........\kern0.35878 (italic)
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+.....\glue(\lineskip) 0.0
+.....\hbox(8.39996+3.60004)x77.7055, direction TLT
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.94444+0.83333)x28.45274, glue set - 2.10289fil, direction TLT
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\OT1/cmr/m/n/10 a
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 b
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 c
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.83331+0.83333)x28.45274, glue set - 0.19499, direction TLT
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 X
+........\kern0.7847 (italic)
+........\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 Y
+........\kern2.22223 (italic)
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayskip) 10.0 plus 2.0 minus 5.0
+...\penalty 10000
+...\glue(\abovedisplayshortskip) 0.0 plus 3.0
+...\glue(\lineskip) 1.0
+...\hbox(8.5+3.5)x77.7055, shifted 133.64725, direction TLT
+....\vbox(8.5+3.5)x77.7055, direction TLT
+.....\hbox(8.39996+3.60004)x77.7055, direction TLT
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set - 10.99158fil, direction TLT
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\OT1/cmr/m/n/10 1
+........\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
+........\OT1/cmr/m/n/10 2
+........\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
+........\OT1/cmr/m/n/10 3
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set 10.67491fil, direction TLT
+........\glue 0.0 plus 1.0fil
+........\OT1/cmr/m/n/10 4
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 5
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayshortskip) 6.0 plus 3.0 minus 3.0
+...\glue -3.5
+...\glue 0.0 plus 1.0fil
+...\glue 0.0
+...\glue 0.0 plus 0.0001fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x345.0, glue set 170.0fil, direction TLT
+...\glue 0.0 plus 1.0fil
+...\OT1/cmr/m/n/10 1
+...\glue 0.0 plus 1.0fil
+(github-0297-rollback.aux)
diff --git a/required/tools/testfiles/github-0297-rollback.lvt b/required/tools/testfiles/github-0297-rollback.lvt
new file mode 100644
index 00000000..a58cc35b
--- /dev/null
+++ b/required/tools/testfiles/github-0297-rollback.lvt
@@ -0,0 +1,29 @@
+% https://github.com/latex3/latex2e/issues/297
+
+\documentclass{article}
+
+\input{test2e}
+
+\usepackage{array}[=v2.4]
+
+\setlength\parindent{0pt}
+
+\showoutput
+
+\begin{document}
+
+\START
+
+\[
+\begin{array}{|wr{1cm}Wr{1cm}|}
+ x     & $y$  \\
+a+b+c  & $X+Y$
+\end{array}
+\]
+\[
+\begin{array}{|wr{1cm}Wr{1cm}|}
+$1+2+3$  & 4+5
+\end{array}
+\]
+
+\end{document}
diff --git a/required/tools/testfiles/github-0297-rollback.tlg b/required/tools/testfiles/github-0297-rollback.tlg
new file mode 100644
index 00000000..4da030a1
--- /dev/null
+++ b/required/tools/testfiles/github-0297-rollback.tlg
@@ -0,0 +1,165 @@
+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 ....
+Completed box being shipped out [1]
+\vbox(633.0+0.0)x407.0
+.\glue 16.0
+.\vbox(617.0+0.0)x345.0, shifted 62.0
+..\vbox(12.0+0.0)x345.0, glue set 12.0fil
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x345.0
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(550.0+0.0)x345.0, glue set 479.44879fil
+...\write-{}
+...\glue(\topskip) 10.0
+...\hbox(0.0+0.0)x345.0, glue set 137.9979fil
+....\hbox(0.0+0.0)x0.0
+....\hbox(0.0+0.0)x207.0021, glue set 103.50105fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 10000
+...\glue(\abovedisplayskip) 10.0 plus 2.0 minus 5.0
+...\glue(\lineskip) 1.0
+...\hbox(14.5+9.5)x77.7055, shifted 133.64725, display
+....\vbox(14.5+9.5)x77.7055
+.....\hbox(8.39996+3.60004)x77.7055
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+0.0)x28.45274, glue set 23.17494fil
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\OT1/cmr/m/n/10 x
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+1.94444)x28.45274, glue set 23.19115fil
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 y
+........\kern0.35878
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+.....\glue(\lineskip) 0.0
+.....\hbox(8.39996+3.60004)x77.7055
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.94444+0.83333)x28.45274, glue set - 2.10289fil
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\OT1/cmr/m/n/10 a
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 b
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 c
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.83331+0.83333)x28.45274, glue set - 0.19499
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 X
+........\kern0.7847
+........\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 Y
+........\kern2.22223
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayskip) 10.0 plus 2.0 minus 5.0
+...\penalty 10000
+...\glue(\abovedisplayshortskip) 0.0 plus 3.0
+...\glue(\lineskip) 1.0
+...\hbox(8.5+3.5)x77.7055, shifted 133.64725, display
+....\vbox(8.5+3.5)x77.7055
+.....\hbox(8.39996+3.60004)x77.7055
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set - 10.99158fil
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\OT1/cmr/m/n/10 1
+........\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
+........\OT1/cmr/m/n/10 2
+........\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
+........\OT1/cmr/m/n/10 3
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set 10.67491fil
+........\glue 0.0 plus 1.0fil
+........\OT1/cmr/m/n/10 4
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 5
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayshortskip) 6.0 plus 3.0 minus 3.0
+...\glue -3.5
+...\glue 0.0 plus 1.0fil
+...\glue 0.0
+...\glue 0.0 plus 0.0001fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x345.0, glue set 170.0fil
+...\glue 0.0 plus 1.0fil
+...\OT1/cmr/m/n/10 1
+...\glue 0.0 plus 1.0fil
+(github-0297-rollback.aux)
diff --git a/required/tools/testfiles/github-0297.luatex.tlg b/required/tools/testfiles/github-0297.luatex.tlg
new file mode 100644
index 00000000..26d232ac
--- /dev/null
+++ b/required/tools/testfiles/github-0297.luatex.tlg
@@ -0,0 +1,182 @@
+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 ....
+Completed box being shipped out [1]
+\vbox(633.0+0.0)x407.0, direction TLT
+.\glue 16.0
+.\vbox(617.0+0.0)x345.0, shifted 62.0, direction TLT
+..\vbox(12.0+0.0)x345.0, glue set 12.0fil, direction TLT
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x345.0, direction TLT
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(550.0+0.0)x345.0, glue set 479.44879fil, direction TLT
+...\write-{}
+...\glue(\topskip) 10.0
+...\hbox(0.0+0.0)x345.0, glue set 137.9979fil, direction TLT
+....\localpar
+.....\localinterlinepenalty=0
+.....\localbrokenpenalty=0
+.....\localleftbox=null
+.....\localrightbox=null
+....\hbox(0.0+0.0)x0.0, direction TLT
+....\hbox(0.0+0.0)x207.0021, glue set 103.50105fil, direction TLT
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 10000
+...\glue(\abovedisplayskip) 10.0 plus 2.0 minus 5.0
+...\glue(\lineskip) 1.0
+...\hbox(14.5+9.5)x77.7055, shifted 133.64725, direction TLT
+....\vbox(14.5+9.5)x77.7055, direction TLT
+.....\hbox(8.39996+3.60004)x77.7055, direction TLT
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+0.0)x28.45274, glue set 23.17494fil, direction TLT
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\mathoff
+........\OT1/cmr/m/n/10 x
+........\mathon
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+1.94444)x28.45274, glue set 23.19115fil, direction TLT
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 y
+........\kern0.35878 (italic)
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+.....\glue(\lineskip) 0.0
+.....\hbox(8.39996+3.60004)x77.7055, direction TLT
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.94444+0.83333)x28.45274, glue set - 2.10289fil, direction TLT
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\mathoff
+........\OT1/cmr/m/n/10 a
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 b
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 c
+........\mathon
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.83331+0.83333)x28.45274, glue set - 0.19499, direction TLT
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 X
+........\kern0.7847 (italic)
+........\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 Y
+........\kern2.22223 (italic)
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayskip) 10.0 plus 2.0 minus 5.0
+...\penalty 10000
+...\glue(\abovedisplayshortskip) 0.0 plus 3.0
+...\glue(\lineskip) 1.0
+...\hbox(8.5+3.5)x77.7055, shifted 133.64725, direction TLT
+....\vbox(8.5+3.5)x77.7055, direction TLT
+.....\hbox(8.39996+3.60004)x77.7055, direction TLT
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set - 10.99158fil, direction TLT
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\OT1/cmr/m/n/10 1
+........\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
+........\OT1/cmr/m/n/10 2
+........\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
+........\OT1/cmr/m/n/10 3
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275, direction TLT
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set 10.67491fil, direction TLT
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\mathoff
+........\OT1/cmr/m/n/10 4
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 5
+........\mathon
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayshortskip) 6.0 plus 3.0 minus 3.0
+...\glue -3.5
+...\glue 0.0 plus 1.0fil
+...\glue 0.0
+...\glue 0.0 plus 0.0001fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x345.0, glue set 170.0fil, direction TLT
+...\glue 0.0 plus 1.0fil
+...\OT1/cmr/m/n/10 1
+...\glue 0.0 plus 1.0fil
+(github-0297.aux)
diff --git a/required/tools/testfiles/github-0297.lvt b/required/tools/testfiles/github-0297.lvt
new file mode 100644
index 00000000..451695d7
--- /dev/null
+++ b/required/tools/testfiles/github-0297.lvt
@@ -0,0 +1,29 @@
+% https://github.com/latex3/latex2e/issues/297
+
+\documentclass{article}
+
+\input{test2e}
+
+\usepackage{array}
+
+\setlength\parindent{0pt}
+
+\showoutput
+
+\begin{document}
+
+\START
+
+\[
+\begin{array}{|>{$}wr{1cm}<{$}Wr{1cm}|}
+ x     & y  \\
+a+b+c  & X+Y
+\end{array}
+\]
+\[
+\begin{array}{|wr{1cm}>{$}Wr{1cm}<{$}|}
+1+2+3  & 4+5
+\end{array}
+\]
+
+\end{document}
diff --git a/required/tools/testfiles/github-0297.tlg b/required/tools/testfiles/github-0297.tlg
new file mode 100644
index 00000000..42cf0c64
--- /dev/null
+++ b/required/tools/testfiles/github-0297.tlg
@@ -0,0 +1,177 @@
+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 ....
+Completed box being shipped out [1]
+\vbox(633.0+0.0)x407.0
+.\glue 16.0
+.\vbox(617.0+0.0)x345.0, shifted 62.0
+..\vbox(12.0+0.0)x345.0, glue set 12.0fil
+...\glue 0.0 plus 1.0fil
+...\hbox(0.0+0.0)x345.0
+..\glue 25.0
+..\glue(\lineskip) 0.0
+..\vbox(550.0+0.0)x345.0, glue set 479.44879fil
+...\write-{}
+...\glue(\topskip) 10.0
+...\hbox(0.0+0.0)x345.0, glue set 137.9979fil
+....\hbox(0.0+0.0)x0.0
+....\hbox(0.0+0.0)x207.0021, glue set 103.50105fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+....\penalty 10000
+....\glue(\parfillskip) 0.0 plus 1.0fil
+....\glue(\rightskip) 0.0
+...\penalty 10000
+...\glue(\abovedisplayskip) 10.0 plus 2.0 minus 5.0
+...\glue(\lineskip) 1.0
+...\hbox(14.5+9.5)x77.7055, shifted 133.64725, display
+....\vbox(14.5+9.5)x77.7055
+.....\hbox(8.39996+3.60004)x77.7055
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+0.0)x28.45274, glue set 23.17494fil
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\mathoff
+........\OT1/cmr/m/n/10 x
+........\mathon
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(4.30554+1.94444)x28.45274, glue set 23.19115fil
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 y
+........\kern0.35878
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+.....\glue(\lineskip) 0.0
+.....\hbox(8.39996+3.60004)x77.7055
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.94444+0.83333)x28.45274, glue set - 2.10289fil
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\mathoff
+........\OT1/cmr/m/n/10 a
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 b
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 c
+........\mathon
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.83331+0.83333)x28.45274, glue set - 0.19499
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\OML/cmm/m/it/10 X
+........\kern0.7847
+........\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 Y
+........\kern2.22223
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayskip) 10.0 plus 2.0 minus 5.0
+...\penalty 10000
+...\glue(\abovedisplayshortskip) 0.0 plus 3.0
+...\glue(\lineskip) 1.0
+...\hbox(8.5+3.5)x77.7055, shifted 133.64725, display
+....\vbox(8.5+3.5)x77.7055
+.....\hbox(8.39996+3.60004)x77.7055
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\rule(8.39996+3.60004)x0.0
+.......\rule(*+*)x0.4
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set - 10.99158fil
+........\glue 0.0 plus 1.0fil minus 1.0fil
+........\mathon
+........\OT1/cmr/m/n/10 1
+........\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
+........\OT1/cmr/m/n/10 2
+........\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
+........\OT1/cmr/m/n/10 3
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+......\glue(\tabskip) 0.0
+......\hbox(8.39996+3.60004)x38.85275
+.......\glue 5.0
+.......\glue 0.0 plus 1.0fil
+.......\glue 0.00002
+.......\mathon
+.......\hbox(6.44444+0.83333)x28.45274, glue set 10.67491fil
+........\glue 0.0 plus 1.0fil
+........\mathon
+........\mathoff
+........\OT1/cmr/m/n/10 4
+........\OT1/cmr/m/n/10 +
+........\OT1/cmr/m/n/10 5
+........\mathon
+........\mathoff
+.......\mathoff
+.......\glue 0.0 plus 1.0fil
+.......\glue 5.0
+.......\rule(*+*)x0.4
+......\glue(\tabskip) 0.0
+...\penalty 0
+...\glue(\belowdisplayshortskip) 6.0 plus 3.0 minus 3.0
+...\glue -3.5
+...\glue 0.0 plus 1.0fil
+...\glue 0.0
+...\glue 0.0 plus 0.0001fil
+..\glue(\baselineskip) 23.55556
+..\hbox(6.44444+0.0)x345.0, glue set 170.0fil
+...\glue 0.0 plus 1.0fil
+...\OT1/cmr/m/n/10 1
+...\glue 0.0 plus 1.0fil
+(github-0297.aux)
diff --git a/required/tools/testfiles/tub-38-02-fmi.tlg b/required/tools/testfiles/tub-38-02-fmi.tlg
index 9200f0cb..dfa01f7c 100644
--- a/required/tools/testfiles/tub-38-02-fmi.tlg
+++ b/required/tools/testfiles/tub-38-02-fmi.tlg
@@ -1,7 +1,7 @@
 This is a generated file for the LaTeX2e validation system.
 Don't change this file in any respect.
-Column w#1#2 -> >{\begin {lrbox}\ar at cellbox }c<{\end {lrbox}\makebox [#2][#1]{\unhbox \ar at cellbox }}
-Column W#1#2 -> >{\begin {lrbox}\ar at cellbox }c<{\end {lrbox}\let \hss \hfil \makebox [#2][#1]{\unhbox \ar at cellbox }}
+Column w#1#2 -> >{\begin {lrbox}\ar at cellbox \d at llarbegin }c<{\d at llarend \end {lrbox}\makebox [#2][#1]{\unhbox \ar at cellbox }}
+Column W#1#2 -> >{\begin {lrbox}\ar at cellbox \d at llarbegin }c<{\d at llarend \end {lrbox}\let \hss \hfil \makebox [#2][#1]{\unhbox \ar at cellbox }}
 LaTeX Font Info:    External font `cmex10' loaded for size
 (Font)              <7> on input line ....
 LaTeX Font Info:    External font `cmex10' loaded for size





More information about the latex3-commits mailing list.