[latex3-commits] [l3svn] 01/03: Move box affine transformations to stable status

noreply at latex-project.org noreply at latex-project.org
Thu Apr 6 21:39:51 CEST 2017


This is an automated email from the git hooks/post-receive script.

joseph pushed a commit to branch master
in repository l3svn.

commit 21e24be47fdf6a0e7310afbbaadc66317f65e2ba
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Thu Apr 6 19:35:57 2017 +0100

    Move box affine transformations to stable status
---
 l3kernel/l3box.dtx                      |  696 +++++++++++++++++++++++++++++++
 l3kernel/l3candidates.dtx               |  696 -------------------------------
 l3kernel/testfiles/m3expl001.luatex.tlg |  144 +++----
 l3kernel/testfiles/m3expl001.ptex.tlg   |  144 +++----
 l3kernel/testfiles/m3expl001.tlg        |  144 +++----
 l3kernel/testfiles/m3expl001.uptex.tlg  |  144 +++----
 l3kernel/testfiles/m3expl001.xetex.tlg  |  144 +++----
 l3kernel/testfiles/m3expl002.luatex.tlg |   56 +--
 l3kernel/testfiles/m3expl002.ptex.tlg   |   56 +--
 l3kernel/testfiles/m3expl002.tlg        |   56 +--
 l3kernel/testfiles/m3expl002.uptex.tlg  |   56 +--
 l3kernel/testfiles/m3expl002.xetex.tlg  |   56 +--
 l3kernel/testfiles/m3expl003.luatex.tlg |  144 +++----
 l3kernel/testfiles/m3expl003.ptex.tlg   |  144 +++----
 l3kernel/testfiles/m3expl003.tlg        |  144 +++----
 l3kernel/testfiles/m3expl003.uptex.tlg  |  144 +++----
 l3kernel/testfiles/m3expl003.xetex.tlg  |  144 +++----
 l3kernel/testfiles/m3expl004.luatex.tlg |   56 +--
 l3kernel/testfiles/m3expl004.ptex.tlg   |   56 +--
 l3kernel/testfiles/m3expl004.tlg        |   56 +--
 l3kernel/testfiles/m3expl004.uptex.tlg  |   56 +--
 l3kernel/testfiles/m3expl004.xetex.tlg  |   56 +--
 l3kernel/testfiles/m3expl006.luatex.tlg |   56 +--
 l3kernel/testfiles/m3expl006.ptex.tlg   |   56 +--
 l3kernel/testfiles/m3expl006.tlg        |   56 +--
 l3kernel/testfiles/m3expl006.uptex.tlg  |   56 +--
 l3kernel/testfiles/m3expl006.xetex.tlg  |   56 +--
 27 files changed, 1836 insertions(+), 1836 deletions(-)

diff --git a/l3kernel/l3box.dtx b/l3kernel/l3box.dtx
index 3ecd58d..dbbce92 100644
--- a/l3kernel/l3box.dtx
+++ b/l3kernel/l3box.dtx
@@ -575,6 +575,168 @@
 %   \end{texnote}
 % \end{function}
 %
+% \subsection{Affine transformations}
+%
+% Affine transformations are changes which (informally) preserve straight
+% lines. Simple translations are affine transformations, but are better handled
+% in \TeX{} by doing the translation first, then inserting an unmodified box.
+% On the other hand, rotation and resizing of boxed material can best be
+% handled by modifying boxes. These transformations are described here.
+%
+% \begin{function}[added = 2017-04-04]
+%   {\box_autosize_to_wd_and_ht:Nnn, \box_autosize_to_wd_and_ht:Nnn}
+%   \begin{syntax}
+%     \cs{box_autosize_to_wd_and_ht:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
+%   \end{syntax}
+%   Resize the \meta{box} to fit within the given \meta{x-size} (horizontally)
+%   and \meta{y-size} (vertically): both of the sizes are dimension
+%   expressions).
+%   The \meta{y-size} is the height only: it does not include any depth.
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied. The final size of the
+%   box will be the smaller of \Arg{x-size} and \Arg{y-size}, \emph{i.e.}~the
+%   result will fit within the dimensions specified.
+%   Negative sizes will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-sizes will result in a box a depth dependent on the
+%   height of the original box a height dependent on the depth.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}[added = 2017-04-04]
+%   {\box_autosize_to_wd_and_ht_plus_dp:Nnn, \box_autosize_to_wd_and_ht_plus_dp:Nnn}
+%   \begin{syntax}
+%     \cs{box_autosize_to_wd_and_ht_plus_dp:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
+%   \end{syntax}
+%   Resize the \meta{box} to fit within the given \meta{x-size} (horizontally)
+%   and \meta{y-size} (vertically): both of the sizes are dimension
+%   expressions).
+%   The \meta{y-size} is the vertical size (height plus depth) of
+%   the box.
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied. The final size of the
+%   box will be the smaller of \Arg{x-size} and \Arg{y-size}, \emph{i.e.}~the
+%   result will fit within the dimensions specified.
+%   Negative sizes will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-sizes will result in a box a depth dependent on the
+%   height of the original box a height dependent on the depth.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}{\box_resize:Nnn, \box_resize:cnn}
+%   \begin{syntax}
+%     \cs{box_resize:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
+%   \end{syntax}
+%   Resize the \meta{box} to \meta{x-size} horizontally and \meta{y-size}
+%   vertically (both of the sizes are dimension expressions).
+%   The \meta{y-size} is the vertical size (height plus depth) of
+%   the box. The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied. Negative sizes will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-sizes will result in a box a depth dependent on the
+%   height of the original box a height dependent on the depth.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}
+%   {\box_resize_to_ht_plus_dp:Nn, \box_resize_to_ht_plus_dp:cn}
+%   \begin{syntax}
+%     \cs{box_resize_to_ht_plus_dp:Nn} \meta{box} \Arg{y-size}
+%   \end{syntax}
+%   Resize the \meta{box} to \meta{y-size} vertically, scaling the horizontal
+%   size by the same amount (\meta{y-size} is a dimension expression).
+%   The \meta{y-size} is the vertical size (height plus depth) of
+%   the box.
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied. A negative size will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-sizes will result in a box with depth dependent on the
+%   height of the original box and height dependent on the depth of the original.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}
+%   {\box_resize_to_ht:Nn, \box_resize_to_ht:cn}
+%   \begin{syntax}
+%     \cs{box_resize_to_ht:Nn} \meta{box} \Arg{y-size}
+%   \end{syntax}
+%   Resize the \meta{box} to \meta{y-size} vertically, scaling the horizontal
+%   size by the same amount (\meta{y-size} is a dimension expression).
+%   The \meta{y-size} is the height only, not including depth, of
+%   the box.
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied.
+%   A negative size will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-sizes will result in a box with depth dependent on the
+%   height of the original box and height dependent on the depth of the original.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}{\box_resize_to_wd:Nn, \box_resize_to_wd:cn}
+%   \begin{syntax}
+%     \cs{box_resize_to_wd:Nn} \meta{box} \Arg{x-size}
+%   \end{syntax}
+%   Resize the \meta{box} to \meta{x-size} horizontally, scaling the vertical
+%   size by the same amount (\meta{x-size} is a dimension expression).
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied. A negative size will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-sizes will result in a box a depth dependent on the
+%   height of the original box a height dependent on the depth.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}[added = 2014-07-03]
+%   {\box_resize_to_wd_and_ht:Nnn, \box_resize_to_wd_and_ht:cnn}
+%   \begin{syntax}
+%     \cs{box_resize_to_wd_and_ht:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
+%   \end{syntax}
+%   Resize the \meta{box} to a \emph{height} of
+%   \meta{x-size} horizontally and \meta{y-size}
+%   vertically (both of the sizes are dimension expressions).
+%   The \meta{y-size} is the \emph{height} of the box, ignoring any depth.
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box}  before the resizing is applied. Negative sizes will
+%   cause the material in the \meta{box} to be reversed in direction, but the
+%   reference point of the \meta{box} will be unchanged.
+% \end{function}
+%
+% \begin{function}{\box_rotate:Nn, \box_rotate:cn}
+%   \begin{syntax}
+%     \cs{box_rotate:Nn} \meta{box} \Arg{angle}
+%   \end{syntax}
+%   Rotates the \meta{box} by \meta{angle} (in degrees) anti-clockwise about
+%   its reference point. The reference point of the updated box will be moved
+%   horizontally such that it is at the left side of the smallest rectangle
+%   enclosing the rotated material.
+%   The updated \meta{box} will be an hbox, irrespective of the nature
+%   of the \meta{box} before the rotation is applied. The rotation applies
+%   within the current \TeX{} group level.
+% \end{function}
+%
+% \begin{function}{\box_scale:Nnn, \box_scale:cnn}
+%   \begin{syntax}
+%     \cs{box_scale:Nnn} \meta{box} \Arg{x-scale} \Arg{y-scale}
+%   \end{syntax}
+%   Scales the \meta{box} by factors \meta{x-scale} and \meta{y-scale} in
+%   the horizontal and vertical directions, respectively (both scales are
+%   integer expressions). The updated \meta{box} will be an hbox, irrespective
+%   of the nature of the \meta{box} before the scaling is applied. Negative
+%   scalings will cause the material in the \meta{box} to be reversed in
+%   direction, but the reference point of the \meta{box} will be unchanged.
+%   Thus negative $y$-scales will result in a box a depth dependent on the
+%   height of the original box a height dependent on the depth.
+%   The resizing applies within the current \TeX{} group level.
+% \end{function}
+%
 % \section{Primitive box conditionals}
 %
 % \begin{function}[EXP]{\if_hbox:N}
@@ -1224,6 +1386,540 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \subsection{Affine transformations}
+%
+% \begin{variable}{\l_@@_angle_fp}
+%   When rotating boxes, the angle itself may be needed by the
+%   engine-dependent code. This is done using the \pkg{fp} module so
+%   that the value is tidied up properly.
+%    \begin{macrocode}
+\fp_new:N \l_@@_angle_fp
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_cos_fp, \l_@@_sin_fp}
+%   These are used to hold the calculated sine and cosine values while
+%   carrying out a rotation.
+%    \begin{macrocode}
+\fp_new:N \l_@@_cos_fp
+\fp_new:N \l_@@_sin_fp
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}
+%   {\l_@@_top_dim, \l_@@_bottom_dim, \l_@@_left_dim, \l_@@_right_dim}
+%   These are the positions of the four edges of a box before
+%   manipulation.
+%    \begin{macrocode}
+\dim_new:N \l_@@_top_dim
+\dim_new:N \l_@@_bottom_dim
+\dim_new:N \l_@@_left_dim
+\dim_new:N \l_@@_right_dim
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}
+%  {
+%    \l_@@_top_new_dim,  \l_@@_bottom_new_dim ,
+%    \l_@@_left_new_dim, \l_@@_right_new_dim
+%  }
+%   These are the positions of the four edges of a box after
+%   manipulation.
+%    \begin{macrocode}
+\dim_new:N \l_@@_top_new_dim
+\dim_new:N \l_@@_bottom_new_dim
+\dim_new:N \l_@@_left_new_dim
+\dim_new:N \l_@@_right_new_dim
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_internal_box}
+%   Scratch space, but also needed by some parts of the driver.
+%    \begin{macrocode}
+\box_new:N \l_@@_internal_box
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\box_rotate:Nn}
+% \begin{macro}[aux]{\@@_rotate:N}
+% \begin{macro}[aux]{\@@_rotate_x:nnN, \@@_rotate_y:nnN}
+% \begin{macro}[aux]
+%   {
+%     \@@_rotate_quadrant_one:,   \@@_rotate_quadrant_two:,
+%     \@@_rotate_quadrant_three:, \@@_rotate_quadrant_four:
+%   }
+%   Rotation of a box starts with working out the relevant sine and
+%   cosine. The actual rotation is in an auxiliary to keep the flow slightly
+%   clearer
+%    \begin{macrocode}
+\cs_new_protected:Npn \box_rotate:Nn #1#2
+  {
+    \hbox_set:Nn #1
+      {
+        \fp_set:Nn \l_@@_angle_fp {#2}
+        \fp_set:Nn \l_@@_sin_fp { sind ( \l_@@_angle_fp ) }
+        \fp_set:Nn \l_@@_cos_fp { cosd ( \l_@@_angle_fp ) }
+        \@@_rotate:N #1
+      }
+  }
+%    \end{macrocode}
+%   The edges of the box are then recorded: the left edge will
+%   always be at zero. Rotation of the four edges then takes place: this is
+%   most efficiently done on a quadrant by quadrant basis.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_rotate:N #1
+  {
+    \dim_set:Nn \l_@@_top_dim    {  \box_ht:N #1 }
+    \dim_set:Nn \l_@@_bottom_dim { -\box_dp:N #1 }
+    \dim_set:Nn \l_@@_right_dim  {  \box_wd:N #1 }
+    \dim_zero:N \l_@@_left_dim
+%    \end{macrocode}
+%   The next step is to work out the $x$ and $y$ coordinates of vertices of
+%   the rotated box in relation to its original coordinates. The box can be
+%   visualized with vertices $B$, $C$, $D$ and $E$ is illustrated
+%   (Figure~\ref{fig:l3candidates:rotation}). The vertex $O$ is the reference point
+%   on the baseline, and in this implementation is also the centre of rotation.
+%   \begin{figure}
+%     \centering
+%     \setlength{\unitlength}{3pt}^^A
+%     \begin{picture}(34,36)(12,44)
+%       \thicklines
+%       \put(20,52){\dashbox{1}(20,21){}}
+%       \put(20,80){\line(0,-1){36}}
+%       \put(12,58){\line(1, 0){34}}
+%       \put(41,59){A}
+%       \put(40,74){B}
+%       \put(21,74){C}
+%       \put(21,49){D}
+%       \put(40,49){E}
+%       \put(21,59){O}
+%     \end{picture}
+%     \caption{Co-ordinates of a box prior to rotation.}
+%     \label{fig:l3candidates:rotation}
+%   \end{figure}
+%   The formulae are, for a point $P$ and angle $\alpha$:
+%   \[
+%     \begin{array}{l}
+%       P'_x = P_x - O_x \\
+%       P'_y = P_y - O_y \\
+%       P''_x =  ( P'_x \cos(\alpha)) - ( P'_y \sin(\alpha) ) \\
+%       P''_y =  ( P'_x \sin(\alpha)) + ( P'_y \cos(\alpha) ) \\
+%       P'''_x = P''_x + O_x + L_x \\
+%       P'''_y = P''_y + O_y
+%    \end{array}
+%   \]
+%   The \enquote{extra} horizontal translation $L_x$ at the end is calculated
+%   so that the leftmost point of the resulting box has $x$-coordinate $0$.
+%   This is desirable as \TeX{} boxes must have the reference point at
+%   the left edge of the box. (As $O$ is always $(0,0)$, this part of the
+%   calculation is omitted here.)
+%    \begin{macrocode}
+    \fp_compare:nNnTF \l_@@_sin_fp > \c_zero_fp
+      {
+        \fp_compare:nNnTF \l_@@_cos_fp > \c_zero_fp
+          { \@@_rotate_quadrant_one: }
+          { \@@_rotate_quadrant_two: }
+      }
+      {
+        \fp_compare:nNnTF \l_@@_cos_fp < \c_zero_fp
+          { \@@_rotate_quadrant_three: }
+          { \@@_rotate_quadrant_four: }
+      }
+%    \end{macrocode}
+%   The position of the box edges are now known, but the box at this
+%   stage be misplaced relative to the current \TeX{} reference point. So the
+%   content of the box is moved such that the reference point of the
+%   rotated box will be in the same place as the original.
+%    \begin{macrocode}
+    \hbox_set:Nn \l_@@_internal_box { \box_use:N #1 }
+    \hbox_set:Nn \l_@@_internal_box
+      {
+        \tex_kern:D -\l_@@_left_new_dim
+        \hbox:n
+          {
+            \__driver_box_use_rotate:Nn
+              \l_@@_internal_box
+              \l_@@_angle_fp
+          }
+      }
+%    \end{macrocode}
+%   Tidy up the size of the box so that the material is actually inside
+%   the bounding box. The result can then be used to reset the original
+%   box.
+%    \begin{macrocode}
+    \box_set_ht:Nn \l_@@_internal_box {  \l_@@_top_new_dim }
+    \box_set_dp:Nn \l_@@_internal_box { -\l_@@_bottom_new_dim }
+    \box_set_wd:Nn \l_@@_internal_box
+      { \l_@@_right_new_dim - \l_@@_left_new_dim }
+    \box_use:N \l_@@_internal_box
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%   These functions take a general point $(|#1|, |#2|)$ and rotate its
+%   location about the origin, using the previously-set sine and cosine
+%   values. Each function gives only one component of the location of the
+%   updated point. This is because for rotation of a box each step needs
+%   only one value, and so performance is gained by avoiding working
+%   out both $x'$ and $y'$ at the same time. Contrast this with
+%   the equivalent function in the \pkg{l3coffins} module, where both parts
+%   are needed.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_rotate_x:nnN #1#2#3
+  {
+    \dim_set:Nn #3
+      {
+        \fp_to_dim:n
+          {
+              \l_@@_cos_fp * \dim_to_fp:n {#1}
+            - \l_@@_sin_fp * \dim_to_fp:n {#2}
+          }
+      }
+  }
+\cs_new_protected:Npn \@@_rotate_y:nnN #1#2#3
+  {
+    \dim_set:Nn #3
+      {
+        \fp_to_dim:n
+          {
+              \l_@@_sin_fp * \dim_to_fp:n {#1}
+            + \l_@@_cos_fp * \dim_to_fp:n {#2}
+          }
+      }
+  }
+%    \end{macrocode}
+%   Rotation of the edges is done using a different formula for each
+%   quadrant. In every case, the top and bottom edges only need the
+%   resulting $y$-values, whereas the left and right edges need the
+%   $x$-values. Each case is a question of picking out which corner
+%   ends up at with the maximum top, bottom, left and right value. Doing
+%   this by hand means a lot less calculating and avoids lots of
+%   comparisons.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_rotate_quadrant_one:
+  {
+    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_top_dim
+      \l_@@_top_new_dim
+    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_bottom_dim
+      \l_@@_bottom_new_dim
+    \@@_rotate_x:nnN \l_@@_left_dim  \l_@@_top_dim
+      \l_@@_left_new_dim
+    \@@_rotate_x:nnN \l_@@_right_dim \l_@@_bottom_dim
+      \l_@@_right_new_dim
+  }
+\cs_new_protected:Npn \@@_rotate_quadrant_two:
+  {
+    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_bottom_dim
+      \l_@@_top_new_dim
+    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_top_dim
+      \l_@@_bottom_new_dim
+    \@@_rotate_x:nnN \l_@@_right_dim  \l_@@_top_dim
+      \l_@@_left_new_dim
+    \@@_rotate_x:nnN \l_@@_left_dim   \l_@@_bottom_dim
+      \l_@@_right_new_dim
+  }
+\cs_new_protected:Npn \@@_rotate_quadrant_three:
+  {
+    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_bottom_dim
+      \l_@@_top_new_dim
+    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_top_dim
+      \l_@@_bottom_new_dim
+    \@@_rotate_x:nnN \l_@@_right_dim \l_@@_bottom_dim
+      \l_@@_left_new_dim
+    \@@_rotate_x:nnN \l_@@_left_dim   \l_@@_top_dim
+      \l_@@_right_new_dim
+  }
+\cs_new_protected:Npn \@@_rotate_quadrant_four:
+  {
+    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_top_dim
+      \l_@@_top_new_dim
+    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_bottom_dim
+      \l_@@_bottom_new_dim
+    \@@_rotate_x:nnN \l_@@_left_dim  \l_@@_bottom_dim
+      \l_@@_left_new_dim
+    \@@_rotate_x:nnN \l_@@_right_dim \l_@@_top_dim
+      \l_@@_right_new_dim
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_scale_x_fp, \l_@@_scale_y_fp}
+%   Scaling is potentially-different in the two axes.
+%    \begin{macrocode}
+\fp_new:N \l_@@_scale_x_fp
+\fp_new:N \l_@@_scale_y_fp
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\box_resize:Nnn, \box_resize:cnn}
+% \begin{macro}[aux]{\@@_resize_set_corners:N}
+% \begin{macro}[aux]{\@@_resize:N}
+% \begin{macro}[aux]{\@@_resize:NNN}
+%   Resizing a box starts by working out the various dimensions of the
+%   existing box.
+%    \begin{macrocode}
+\cs_new_protected:Npn \box_resize:Nnn #1#2#3
+  {
+    \hbox_set:Nn #1
+      {
+        \@@_resize_set_corners:N #1
+%    \end{macrocode}
+%   The $x$-scaling and resulting box size is easy enough to work
+%   out: the dimension is that given as |#2|, and the scale is simply the
+%   new width divided by the old one.
+%    \begin{macrocode}
+        \fp_set:Nn \l_@@_scale_x_fp
+          { \dim_to_fp:n {#2} / \dim_to_fp:n { \l_@@_right_dim } }
+%    \end{macrocode}
+%   The $y$-scaling needs both the height and the depth of the current box.
+%    \begin{macrocode}
+        \fp_set:Nn \l_@@_scale_y_fp
+          {
+              \dim_to_fp:n {#3}
+            / \dim_to_fp:n { \l_@@_top_dim - \l_@@_bottom_dim }
+          }
+%    \end{macrocode}
+%   Hand off to the auxiliary which does the rest of the work.
+%    \begin{macrocode}
+        \@@_resize:N #1
+      }
+  }
+\cs_generate_variant:Nn \box_resize:Nnn { c }
+\cs_new_protected:Npn \@@_resize_set_corners:N #1
+  {
+    \dim_set:Nn \l_@@_top_dim    {  \box_ht:N #1 }
+    \dim_set:Nn \l_@@_bottom_dim { -\box_dp:N #1 }
+    \dim_set:Nn \l_@@_right_dim  {  \box_wd:N #1 }
+    \dim_zero:N \l_@@_left_dim
+  }
+%    \end{macrocode}
+%   With at least one real scaling to do, the next phase is to find the new
+%   edge co-ordinates. In the $x$~direction this is relatively easy: just
+%   scale the right edge. In the $y$~direction, both dimensions have to be
+%   scaled, and this again needs the absolute scale value.
+%   Once that is all done, the common resize/rescale code can be employed.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_resize:N #1
+  {
+    \@@_resize:NNN \l_@@_right_new_dim
+      \l_@@_scale_x_fp \l_@@_right_dim
+    \@@_resize:NNN \l_@@_bottom_new_dim
+      \l_@@_scale_y_fp \l_@@_bottom_dim
+    \@@_resize:NNN \l_@@_top_new_dim
+      \l_@@_scale_y_fp \l_@@_top_dim
+    \@@_resize_common:N #1
+  }
+\cs_new_protected:Npn \@@_resize:NNN #1#2#3
+  {
+    \dim_set:Nn #1
+      { \fp_to_dim:n { \fp_abs:n { #2 } * \dim_to_fp:n { #3 } } }
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\box_resize_to_ht:Nn, \box_resize_to_ht:cn}
+% \begin{macro}{\box_resize_to_ht_plus_dp:Nn, \box_resize_to_ht_plus_dp:cn}
+% \begin{macro}{\box_resize_to_wd:Nn, \box_resize_to_wd:cn}
+% \begin{macro}{\box_resize_to_wd_and_ht:Nnn, \box_resize_to_wd_and_ht:cnn}
+%   Scaling to a (total) height or to a width is a simplified version of the main
+%   resizing operation, with the scale simply copied between the two parts. The
+%   internal auxiliary is called using the scaling value twice, as the sign for
+%   both parts is needed (as this allows the same internal code to be used as
+%   for the general case).
+%    \begin{macrocode}
+\cs_new_protected:Npn \box_resize_to_ht:Nn #1#2
+  {
+    \hbox_set:Nn #1
+      {
+        \@@_resize_set_corners:N #1
+        \fp_set:Nn \l_@@_scale_y_fp
+          {
+              \dim_to_fp:n {#2}
+            / \dim_to_fp:n { \l_@@_top_dim }
+          }
+        \fp_set_eq:NN \l_@@_scale_x_fp \l_@@_scale_y_fp
+        \@@_resize:N #1
+      }
+  }
+\cs_generate_variant:Nn \box_resize_to_ht:Nn { c }
+\cs_new_protected:Npn \box_resize_to_ht_plus_dp:Nn #1#2
+  {
+    \hbox_set:Nn #1
+      {
+        \@@_resize_set_corners:N #1
+        \fp_set:Nn \l_@@_scale_y_fp
+          {
+              \dim_to_fp:n {#2}
+            / \dim_to_fp:n { \l_@@_top_dim - \l_@@_bottom_dim }
+          }
+        \fp_set_eq:NN \l_@@_scale_x_fp \l_@@_scale_y_fp
+        \@@_resize:N #1
+      }
+  }
+\cs_generate_variant:Nn \box_resize_to_ht_plus_dp:Nn { c }
+\cs_new_protected:Npn \box_resize_to_wd:Nn #1#2
+  {
+    \hbox_set:Nn #1
+      {
+        \@@_resize_set_corners:N #1
+        \fp_set:Nn \l_@@_scale_x_fp
+          { \dim_to_fp:n {#2} / \dim_to_fp:n { \l_@@_right_dim } }
+        \fp_set_eq:NN \l_@@_scale_y_fp \l_@@_scale_x_fp
+        \@@_resize:N #1
+      }
+  }
+\cs_generate_variant:Nn \box_resize_to_wd:Nn { c }
+\cs_new_protected:Npn \box_resize_to_wd_and_ht:Nnn #1#2#3
+  {
+    \hbox_set:Nn #1
+      {
+        \@@_resize_set_corners:N #1
+        \fp_set:Nn \l_@@_scale_x_fp
+          { \dim_to_fp:n {#2} / \dim_to_fp:n { \l_@@_right_dim } }
+        \fp_set:Nn \l_@@_scale_y_fp
+          {
+              \dim_to_fp:n {#3}
+            / \dim_to_fp:n { \l_@@_top_dim }
+          }
+        \@@_resize:N #1
+      }
+  }
+\cs_generate_variant:Nn \box_resize_to_wd_and_ht:Nnn { c }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\box_scale:Nnn, \box_scale:cnn}
+% \begin{macro}[aux]{\@@_scale_aux:N}
+%   When scaling a box, setting the scaling itself is easy enough. The
+%   new dimensions are also relatively easy to find, allowing only for
+%   the need to keep them positive in all cases. Once that is done then
+%   after a check for the trivial scaling a hand-off can be made to the
+%   common code. The code here is split into two as this allows sharing
+%   with the auto-resizing functions.
+%    \begin{macrocode}
+\cs_new_protected:Npn \box_scale:Nnn #1#2#3
+  {
+    \hbox_set:Nn #1
+      {
+        \fp_set:Nn \l_@@_scale_x_fp {#2}
+        \fp_set:Nn \l_@@_scale_y_fp {#3}
+        \@@_scale_aux:N #1
+      }
+  }
+\cs_generate_variant:Nn \box_scale:Nnn { c }
+\cs_new_protected:Npn \@@_scale_aux:N #1
+  {
+    \dim_set:Nn \l_@@_top_dim    {  \box_ht:N #1 }
+    \dim_set:Nn \l_@@_bottom_dim { -\box_dp:N #1 }
+    \dim_set:Nn \l_@@_right_dim  {  \box_wd:N #1 }
+    \dim_zero:N \l_@@_left_dim
+    \dim_set:Nn \l_@@_top_new_dim
+      { \fp_abs:n { \l_@@_scale_y_fp } \l_@@_top_dim }
+    \dim_set:Nn \l_@@_bottom_new_dim
+      { \fp_abs:n { \l_@@_scale_y_fp } \l_@@_bottom_dim }
+    \dim_set:Nn \l_@@_right_new_dim
+      { \fp_abs:n { \l_@@_scale_x_fp } \l_@@_right_dim }
+    \@@_resize_common:N #1
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}
+%   {
+%     \box_autosize_to_wd_and_ht:Nnn         ,
+%     \box_autosize_to_wd_and_ht:cnn         ,
+%     \box_autosize_to_wd_and_ht_plus_dp:cnn ,
+%     \box_autosize_to_wd_and_ht_plus_dp:Nnn
+%   }
+% \begin{macro}[aux]{\@@_autosize:Nnnn}
+%   Although autosizing a box uses dimensions, it has more in common in
+%   implementation with scaling. As such, most of the real work here is
+%   done elsewhere.
+%    \begin{macrocode}
+\cs_new_protected:Npn \box_autosize_to_wd_and_ht:Nnn #1#2#3
+  { \@@_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 } }
+\cs_generate_variant:Nn \box_autosize_to_wd_and_ht:Nnn { c }
+\cs_new_protected:Npn \box_autosize_to_wd_and_ht_plus_dp:Nnn #1#2#3
+  { \@@_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 + \box_dp:N #1 } }
+\cs_generate_variant:Nn \box_autosize_to_wd_and_ht_plus_dp:Nnn { c }
+\cs_new_protected:Npn \@@_autosize:Nnnn #1#2#3#4
+  {
+    \hbox_set:Nn #1
+      {
+        \fp_set:Nn \l_@@_scale_x_fp { ( #2 ) / \box_wd:N #1 }
+        \fp_set:Nn \l_@@_scale_y_fp { ( #3 ) / ( #4 ) }
+        \fp_compare:nNnTF \l_@@_scale_x_fp > \l_@@_scale_y_fp
+          { \fp_set_eq:NN \l_@@_scale_x_fp \l_@@_scale_y_fp }
+          { \fp_set_eq:NN \l_@@_scale_y_fp \l_@@_scale_x_fp }
+        \@@_scale_aux:N #1
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[aux]{\@@_resize_common:N}
+%   The main resize function places in input into a box which will start
+%   of with zero width, and includes the handles for engine rescaling.
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_resize_common:N #1
+  {
+    \hbox_set:Nn \l_@@_internal_box
+      {
+        \__driver_box_use_scale:Nnn
+          #1
+          \l_@@_scale_x_fp
+          \l_@@_scale_y_fp
+      }
+%    \end{macrocode}
+%   The new height and depth can be applied directly.
+%    \begin{macrocode}
+    \fp_compare:nNnTF \l_@@_scale_y_fp > \c_zero_fp
+      {
+        \box_set_ht:Nn \l_@@_internal_box { \l_@@_top_new_dim }
+        \box_set_dp:Nn \l_@@_internal_box { -\l_@@_bottom_new_dim }
+      }
+      {
+        \box_set_dp:Nn \l_@@_internal_box { \l_@@_top_new_dim }
+        \box_set_ht:Nn \l_@@_internal_box { -\l_@@_bottom_new_dim }
+      }
+%    \end{macrocode}
+%   Things are not quite as obvious for the width, as the reference point
+%   needs to remain unchanged. For positive scaling factors resizing the
+%   box is all that is needed. However, for case of a negative scaling
+%   the material must be shifted such that the reference point ends up in
+%   the right place.
+%    \begin{macrocode}
+    \fp_compare:nNnTF \l_@@_scale_x_fp < \c_zero_fp
+      {
+        \hbox_to_wd:nn { \l_@@_right_new_dim }
+          {
+            \tex_kern:D \l_@@_right_new_dim
+            \box_use:N \l_@@_internal_box
+            \tex_hss:D
+          }
+      }
+      {
+        \box_set_wd:Nn \l_@@_internal_box { \l_@@_right_new_dim }
+        \hbox:n
+          {
+            \tex_kern:D \c_zero_dim
+            \box_use:N \l_@@_internal_box
+            \tex_hss:D
+          }
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 %    \begin{macrocode}
 %</initex|package>
 %    \end{macrocode}
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index b8a7cf4..257eeb4 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -84,168 +84,6 @@
 %
 % \section{Additions to \pkg{l3box}}
 %
-% \subsection{Affine transformations}
-%
-% Affine transformations are changes which (informally) preserve straight
-% lines. Simple translations are affine transformations, but are better handled
-% in \TeX{} by doing the translation first, then inserting an unmodified box.
-% On the other hand, rotation and resizing of boxed material can best be
-% handled by modifying boxes. These transformations are described here.
-%
-% \begin{function}[added = 2017-04-04]
-%   {\box_autosize_to_wd_and_ht:Nnn, \box_autosize_to_wd_and_ht:Nnn}
-%   \begin{syntax}
-%     \cs{box_autosize_to_wd_and_ht:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
-%   \end{syntax}
-%   Resize the \meta{box} to fit within the given \meta{x-size} (horizontally)
-%   and \meta{y-size} (vertically): both of the sizes are dimension
-%   expressions).
-%   The \meta{y-size} is the height only: it does not include any depth.
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied. The final size of the
-%   box will be the smaller of \Arg{x-size} and \Arg{y-size}, \emph{i.e.}~the
-%   result will fit within the dimensions specified.
-%   Negative sizes will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-sizes will result in a box a depth dependent on the
-%   height of the original box a height dependent on the depth.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}[added = 2017-04-04]
-%   {\box_autosize_to_wd_and_ht_plus_dp:Nnn, \box_autosize_to_wd_and_ht_plus_dp:Nnn}
-%   \begin{syntax}
-%     \cs{box_autosize_to_wd_and_ht_plus_dp:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
-%   \end{syntax}
-%   Resize the \meta{box} to fit within the given \meta{x-size} (horizontally)
-%   and \meta{y-size} (vertically): both of the sizes are dimension
-%   expressions).
-%   The \meta{y-size} is the vertical size (height plus depth) of
-%   the box.
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied. The final size of the
-%   box will be the smaller of \Arg{x-size} and \Arg{y-size}, \emph{i.e.}~the
-%   result will fit within the dimensions specified.
-%   Negative sizes will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-sizes will result in a box a depth dependent on the
-%   height of the original box a height dependent on the depth.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}{\box_resize:Nnn, \box_resize:cnn}
-%   \begin{syntax}
-%     \cs{box_resize:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
-%   \end{syntax}
-%   Resize the \meta{box} to \meta{x-size} horizontally and \meta{y-size}
-%   vertically (both of the sizes are dimension expressions).
-%   The \meta{y-size} is the vertical size (height plus depth) of
-%   the box. The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied. Negative sizes will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-sizes will result in a box a depth dependent on the
-%   height of the original box a height dependent on the depth.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}
-%   {\box_resize_to_ht_plus_dp:Nn, \box_resize_to_ht_plus_dp:cn}
-%   \begin{syntax}
-%     \cs{box_resize_to_ht_plus_dp:Nn} \meta{box} \Arg{y-size}
-%   \end{syntax}
-%   Resize the \meta{box} to \meta{y-size} vertically, scaling the horizontal
-%   size by the same amount (\meta{y-size} is a dimension expression).
-%   The \meta{y-size} is the vertical size (height plus depth) of
-%   the box.
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied. A negative size will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-sizes will result in a box with depth dependent on the
-%   height of the original box and height dependent on the depth of the original.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}
-%   {\box_resize_to_ht:Nn, \box_resize_to_ht:cn}
-%   \begin{syntax}
-%     \cs{box_resize_to_ht:Nn} \meta{box} \Arg{y-size}
-%   \end{syntax}
-%   Resize the \meta{box} to \meta{y-size} vertically, scaling the horizontal
-%   size by the same amount (\meta{y-size} is a dimension expression).
-%   The \meta{y-size} is the height only, not including depth, of
-%   the box.
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied.
-%   A negative size will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-sizes will result in a box with depth dependent on the
-%   height of the original box and height dependent on the depth of the original.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}{\box_resize_to_wd:Nn, \box_resize_to_wd:cn}
-%   \begin{syntax}
-%     \cs{box_resize_to_wd:Nn} \meta{box} \Arg{x-size}
-%   \end{syntax}
-%   Resize the \meta{box} to \meta{x-size} horizontally, scaling the vertical
-%   size by the same amount (\meta{x-size} is a dimension expression).
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied. A negative size will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-sizes will result in a box a depth dependent on the
-%   height of the original box a height dependent on the depth.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}[added = 2014-07-03]
-%   {\box_resize_to_wd_and_ht:Nnn, \box_resize_to_wd_and_ht:cnn}
-%   \begin{syntax}
-%     \cs{box_resize_to_wd_and_ht:Nnn} \meta{box} \Arg{x-size} \Arg{y-size}
-%   \end{syntax}
-%   Resize the \meta{box} to a \emph{height} of
-%   \meta{x-size} horizontally and \meta{y-size}
-%   vertically (both of the sizes are dimension expressions).
-%   The \meta{y-size} is the \emph{height} of the box, ignoring any depth.
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box}  before the resizing is applied. Negative sizes will
-%   cause the material in the \meta{box} to be reversed in direction, but the
-%   reference point of the \meta{box} will be unchanged.
-% \end{function}
-%
-% \begin{function}{\box_rotate:Nn, \box_rotate:cn}
-%   \begin{syntax}
-%     \cs{box_rotate:Nn} \meta{box} \Arg{angle}
-%   \end{syntax}
-%   Rotates the \meta{box} by \meta{angle} (in degrees) anti-clockwise about
-%   its reference point. The reference point of the updated box will be moved
-%   horizontally such that it is at the left side of the smallest rectangle
-%   enclosing the rotated material.
-%   The updated \meta{box} will be an hbox, irrespective of the nature
-%   of the \meta{box} before the rotation is applied. The rotation applies
-%   within the current \TeX{} group level.
-% \end{function}
-%
-% \begin{function}{\box_scale:Nnn, \box_scale:cnn}
-%   \begin{syntax}
-%     \cs{box_scale:Nnn} \meta{box} \Arg{x-scale} \Arg{y-scale}
-%   \end{syntax}
-%   Scales the \meta{box} by factors \meta{x-scale} and \meta{y-scale} in
-%   the horizontal and vertical directions, respectively (both scales are
-%   integer expressions). The updated \meta{box} will be an hbox, irrespective
-%   of the nature of the \meta{box} before the scaling is applied. Negative
-%   scalings will cause the material in the \meta{box} to be reversed in
-%   direction, but the reference point of the \meta{box} will be unchanged.
-%   Thus negative $y$-scales will result in a box a depth dependent on the
-%   height of the original box a height dependent on the depth.
-%   The resizing applies within the current \TeX{} group level.
-% \end{function}
-%
 % \subsection{Viewing part of a box}
 %
 % \begin{function}{\box_clip:N, \box_clip:c}
@@ -990,540 +828,6 @@
 %<@@=box>
 %    \end{macrocode}
 %
-% \subsection{Affine transformations}
-%
-% \begin{variable}{\l_@@_angle_fp}
-%   When rotating boxes, the angle itself may be needed by the
-%   engine-dependent code. This is done using the \pkg{fp} module so
-%   that the value is tidied up properly.
-%    \begin{macrocode}
-\fp_new:N \l_@@_angle_fp
-%    \end{macrocode}
-% \end{variable}
-%
-% \begin{variable}{\l_@@_cos_fp, \l_@@_sin_fp}
-%   These are used to hold the calculated sine and cosine values while
-%   carrying out a rotation.
-%    \begin{macrocode}
-\fp_new:N \l_@@_cos_fp
-\fp_new:N \l_@@_sin_fp
-%    \end{macrocode}
-% \end{variable}
-%
-% \begin{variable}
-%   {\l_@@_top_dim, \l_@@_bottom_dim, \l_@@_left_dim, \l_@@_right_dim}
-%   These are the positions of the four edges of a box before
-%   manipulation.
-%    \begin{macrocode}
-\dim_new:N \l_@@_top_dim
-\dim_new:N \l_@@_bottom_dim
-\dim_new:N \l_@@_left_dim
-\dim_new:N \l_@@_right_dim
-%    \end{macrocode}
-% \end{variable}
-%
-% \begin{variable}
-%  {
-%    \l_@@_top_new_dim,  \l_@@_bottom_new_dim ,
-%    \l_@@_left_new_dim, \l_@@_right_new_dim
-%  }
-%   These are the positions of the four edges of a box after
-%   manipulation.
-%    \begin{macrocode}
-\dim_new:N \l_@@_top_new_dim
-\dim_new:N \l_@@_bottom_new_dim
-\dim_new:N \l_@@_left_new_dim
-\dim_new:N \l_@@_right_new_dim
-%    \end{macrocode}
-% \end{variable}
-%
-% \begin{variable}{\l_@@_internal_box}
-%   Scratch space, but also needed by some parts of the driver.
-%    \begin{macrocode}
-\box_new:N \l_@@_internal_box
-%    \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}{\box_rotate:Nn}
-% \begin{macro}[aux]{\@@_rotate:N}
-% \begin{macro}[aux]{\@@_rotate_x:nnN, \@@_rotate_y:nnN}
-% \begin{macro}[aux]
-%   {
-%     \@@_rotate_quadrant_one:,   \@@_rotate_quadrant_two:,
-%     \@@_rotate_quadrant_three:, \@@_rotate_quadrant_four:
-%   }
-%   Rotation of a box starts with working out the relevant sine and
-%   cosine. The actual rotation is in an auxiliary to keep the flow slightly
-%   clearer
-%    \begin{macrocode}
-\cs_new_protected:Npn \box_rotate:Nn #1#2
-  {
-    \hbox_set:Nn #1
-      {
-        \fp_set:Nn \l_@@_angle_fp {#2}
-        \fp_set:Nn \l_@@_sin_fp { sind ( \l_@@_angle_fp ) }
-        \fp_set:Nn \l_@@_cos_fp { cosd ( \l_@@_angle_fp ) }
-        \@@_rotate:N #1
-      }
-  }
-%    \end{macrocode}
-%   The edges of the box are then recorded: the left edge will
-%   always be at zero. Rotation of the four edges then takes place: this is
-%   most efficiently done on a quadrant by quadrant basis.
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_rotate:N #1
-  {
-    \dim_set:Nn \l_@@_top_dim    {  \box_ht:N #1 }
-    \dim_set:Nn \l_@@_bottom_dim { -\box_dp:N #1 }
-    \dim_set:Nn \l_@@_right_dim  {  \box_wd:N #1 }
-    \dim_zero:N \l_@@_left_dim
-%    \end{macrocode}
-%   The next step is to work out the $x$ and $y$ coordinates of vertices of
-%   the rotated box in relation to its original coordinates. The box can be
-%   visualized with vertices $B$, $C$, $D$ and $E$ is illustrated
-%   (Figure~\ref{fig:l3candidates:rotation}). The vertex $O$ is the reference point
-%   on the baseline, and in this implementation is also the centre of rotation.
-%   \begin{figure}
-%     \centering
-%     \setlength{\unitlength}{3pt}^^A
-%     \begin{picture}(34,36)(12,44)
-%       \thicklines
-%       \put(20,52){\dashbox{1}(20,21){}}
-%       \put(20,80){\line(0,-1){36}}
-%       \put(12,58){\line(1, 0){34}}
-%       \put(41,59){A}
-%       \put(40,74){B}
-%       \put(21,74){C}
-%       \put(21,49){D}
-%       \put(40,49){E}
-%       \put(21,59){O}
-%     \end{picture}
-%     \caption{Co-ordinates of a box prior to rotation.}
-%     \label{fig:l3candidates:rotation}
-%   \end{figure}
-%   The formulae are, for a point $P$ and angle $\alpha$:
-%   \[
-%     \begin{array}{l}
-%       P'_x = P_x - O_x \\
-%       P'_y = P_y - O_y \\
-%       P''_x =  ( P'_x \cos(\alpha)) - ( P'_y \sin(\alpha) ) \\
-%       P''_y =  ( P'_x \sin(\alpha)) + ( P'_y \cos(\alpha) ) \\
-%       P'''_x = P''_x + O_x + L_x \\
-%       P'''_y = P''_y + O_y
-%    \end{array}
-%   \]
-%   The \enquote{extra} horizontal translation $L_x$ at the end is calculated
-%   so that the leftmost point of the resulting box has $x$-coordinate $0$.
-%   This is desirable as \TeX{} boxes must have the reference point at
-%   the left edge of the box. (As $O$ is always $(0,0)$, this part of the
-%   calculation is omitted here.)
-%    \begin{macrocode}
-    \fp_compare:nNnTF \l_@@_sin_fp > \c_zero_fp
-      {
-        \fp_compare:nNnTF \l_@@_cos_fp > \c_zero_fp
-          { \@@_rotate_quadrant_one: }
-          { \@@_rotate_quadrant_two: }
-      }
-      {
-        \fp_compare:nNnTF \l_@@_cos_fp < \c_zero_fp
-          { \@@_rotate_quadrant_three: }
-          { \@@_rotate_quadrant_four: }
-      }
-%    \end{macrocode}
-%   The position of the box edges are now known, but the box at this
-%   stage be misplaced relative to the current \TeX{} reference point. So the
-%   content of the box is moved such that the reference point of the
-%   rotated box will be in the same place as the original.
-%    \begin{macrocode}
-    \hbox_set:Nn \l_@@_internal_box { \box_use:N #1 }
-    \hbox_set:Nn \l_@@_internal_box
-      {
-        \tex_kern:D -\l_@@_left_new_dim
-        \hbox:n
-          {
-            \__driver_box_use_rotate:Nn
-              \l_@@_internal_box
-              \l_@@_angle_fp
-          }
-      }
-%    \end{macrocode}
-%   Tidy up the size of the box so that the material is actually inside
-%   the bounding box. The result can then be used to reset the original
-%   box.
-%    \begin{macrocode}
-    \box_set_ht:Nn \l_@@_internal_box {  \l_@@_top_new_dim }
-    \box_set_dp:Nn \l_@@_internal_box { -\l_@@_bottom_new_dim }
-    \box_set_wd:Nn \l_@@_internal_box
-      { \l_@@_right_new_dim - \l_@@_left_new_dim }
-    \box_use:N \l_@@_internal_box
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%   These functions take a general point $(|#1|, |#2|)$ and rotate its
-%   location about the origin, using the previously-set sine and cosine
-%   values. Each function gives only one component of the location of the
-%   updated point. This is because for rotation of a box each step needs
-%   only one value, and so performance is gained by avoiding working
-%   out both $x'$ and $y'$ at the same time. Contrast this with
-%   the equivalent function in the \pkg{l3coffins} module, where both parts
-%   are needed.
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_rotate_x:nnN #1#2#3
-  {
-    \dim_set:Nn #3
-      {
-        \fp_to_dim:n
-          {
-              \l_@@_cos_fp * \dim_to_fp:n {#1}
-            - \l_@@_sin_fp * \dim_to_fp:n {#2}
-          }
-      }
-  }
-\cs_new_protected:Npn \@@_rotate_y:nnN #1#2#3
-  {
-    \dim_set:Nn #3
-      {
-        \fp_to_dim:n
-          {
-              \l_@@_sin_fp * \dim_to_fp:n {#1}
-            + \l_@@_cos_fp * \dim_to_fp:n {#2}
-          }
-      }
-  }
-%    \end{macrocode}
-%   Rotation of the edges is done using a different formula for each
-%   quadrant. In every case, the top and bottom edges only need the
-%   resulting $y$-values, whereas the left and right edges need the
-%   $x$-values. Each case is a question of picking out which corner
-%   ends up at with the maximum top, bottom, left and right value. Doing
-%   this by hand means a lot less calculating and avoids lots of
-%   comparisons.
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_rotate_quadrant_one:
-  {
-    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_top_dim
-      \l_@@_top_new_dim
-    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_bottom_dim
-      \l_@@_bottom_new_dim
-    \@@_rotate_x:nnN \l_@@_left_dim  \l_@@_top_dim
-      \l_@@_left_new_dim
-    \@@_rotate_x:nnN \l_@@_right_dim \l_@@_bottom_dim
-      \l_@@_right_new_dim
-  }
-\cs_new_protected:Npn \@@_rotate_quadrant_two:
-  {
-    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_bottom_dim
-      \l_@@_top_new_dim
-    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_top_dim
-      \l_@@_bottom_new_dim
-    \@@_rotate_x:nnN \l_@@_right_dim  \l_@@_top_dim
-      \l_@@_left_new_dim
-    \@@_rotate_x:nnN \l_@@_left_dim   \l_@@_bottom_dim
-      \l_@@_right_new_dim
-  }
-\cs_new_protected:Npn \@@_rotate_quadrant_three:
-  {
-    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_bottom_dim
-      \l_@@_top_new_dim
-    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_top_dim
-      \l_@@_bottom_new_dim
-    \@@_rotate_x:nnN \l_@@_right_dim \l_@@_bottom_dim
-      \l_@@_left_new_dim
-    \@@_rotate_x:nnN \l_@@_left_dim   \l_@@_top_dim
-      \l_@@_right_new_dim
-  }
-\cs_new_protected:Npn \@@_rotate_quadrant_four:
-  {
-    \@@_rotate_y:nnN \l_@@_left_dim  \l_@@_top_dim
-      \l_@@_top_new_dim
-    \@@_rotate_y:nnN \l_@@_right_dim \l_@@_bottom_dim
-      \l_@@_bottom_new_dim
-    \@@_rotate_x:nnN \l_@@_left_dim  \l_@@_bottom_dim
-      \l_@@_left_new_dim
-    \@@_rotate_x:nnN \l_@@_right_dim \l_@@_top_dim
-      \l_@@_right_new_dim
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{variable}{\l_@@_scale_x_fp, \l_@@_scale_y_fp}
-%   Scaling is potentially-different in the two axes.
-%    \begin{macrocode}
-\fp_new:N \l_@@_scale_x_fp
-\fp_new:N \l_@@_scale_y_fp
-%    \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}{\box_resize:Nnn, \box_resize:cnn}
-% \begin{macro}[aux]{\@@_resize_set_corners:N}
-% \begin{macro}[aux]{\@@_resize:N}
-% \begin{macro}[aux]{\@@_resize:NNN}
-%   Resizing a box starts by working out the various dimensions of the
-%   existing box.
-%    \begin{macrocode}
-\cs_new_protected:Npn \box_resize:Nnn #1#2#3
-  {
-    \hbox_set:Nn #1
-      {
-        \@@_resize_set_corners:N #1
-%    \end{macrocode}
-%   The $x$-scaling and resulting box size is easy enough to work
-%   out: the dimension is that given as |#2|, and the scale is simply the
-%   new width divided by the old one.
-%    \begin{macrocode}
-        \fp_set:Nn \l_@@_scale_x_fp
-          { \dim_to_fp:n {#2} / \dim_to_fp:n { \l_@@_right_dim } }
-%    \end{macrocode}
-%   The $y$-scaling needs both the height and the depth of the current box.
-%    \begin{macrocode}
-        \fp_set:Nn \l_@@_scale_y_fp
-          {
-              \dim_to_fp:n {#3}
-            / \dim_to_fp:n { \l_@@_top_dim - \l_@@_bottom_dim }
-          }
-%    \end{macrocode}
-%   Hand off to the auxiliary which does the rest of the work.
-%    \begin{macrocode}
-        \@@_resize:N #1
-      }
-  }
-\cs_generate_variant:Nn \box_resize:Nnn { c }
-\cs_new_protected:Npn \@@_resize_set_corners:N #1
-  {
-    \dim_set:Nn \l_@@_top_dim    {  \box_ht:N #1 }
-    \dim_set:Nn \l_@@_bottom_dim { -\box_dp:N #1 }
-    \dim_set:Nn \l_@@_right_dim  {  \box_wd:N #1 }
-    \dim_zero:N \l_@@_left_dim
-  }
-%    \end{macrocode}
-%   With at least one real scaling to do, the next phase is to find the new
-%   edge co-ordinates. In the $x$~direction this is relatively easy: just
-%   scale the right edge. In the $y$~direction, both dimensions have to be
-%   scaled, and this again needs the absolute scale value.
-%   Once that is all done, the common resize/rescale code can be employed.
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_resize:N #1
-  {
-    \@@_resize:NNN \l_@@_right_new_dim
-      \l_@@_scale_x_fp \l_@@_right_dim
-    \@@_resize:NNN \l_@@_bottom_new_dim
-      \l_@@_scale_y_fp \l_@@_bottom_dim
-    \@@_resize:NNN \l_@@_top_new_dim
-      \l_@@_scale_y_fp \l_@@_top_dim
-    \@@_resize_common:N #1
-  }
-\cs_new_protected:Npn \@@_resize:NNN #1#2#3
-  {
-    \dim_set:Nn #1
-      { \fp_to_dim:n { \fp_abs:n { #2 } * \dim_to_fp:n { #3 } } }
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\box_resize_to_ht:Nn, \box_resize_to_ht:cn}
-% \begin{macro}{\box_resize_to_ht_plus_dp:Nn, \box_resize_to_ht_plus_dp:cn}
-% \begin{macro}{\box_resize_to_wd:Nn, \box_resize_to_wd:cn}
-% \begin{macro}{\box_resize_to_wd_and_ht:Nnn, \box_resize_to_wd_and_ht:cnn}
-%   Scaling to a (total) height or to a width is a simplified version of the main
-%   resizing operation, with the scale simply copied between the two parts. The
-%   internal auxiliary is called using the scaling value twice, as the sign for
-%   both parts is needed (as this allows the same internal code to be used as
-%   for the general case).
-%    \begin{macrocode}
-\cs_new_protected:Npn \box_resize_to_ht:Nn #1#2
-  {
-    \hbox_set:Nn #1
-      {
-        \@@_resize_set_corners:N #1
-        \fp_set:Nn \l_@@_scale_y_fp
-          {
-              \dim_to_fp:n {#2}
-            / \dim_to_fp:n { \l_@@_top_dim }
-          }
-        \fp_set_eq:NN \l_@@_scale_x_fp \l_@@_scale_y_fp
-        \@@_resize:N #1
-      }
-  }
-\cs_generate_variant:Nn \box_resize_to_ht:Nn { c }
-\cs_new_protected:Npn \box_resize_to_ht_plus_dp:Nn #1#2
-  {
-    \hbox_set:Nn #1
-      {
-        \@@_resize_set_corners:N #1
-        \fp_set:Nn \l_@@_scale_y_fp
-          {
-              \dim_to_fp:n {#2}
-            / \dim_to_fp:n { \l_@@_top_dim - \l_@@_bottom_dim }
-          }
-        \fp_set_eq:NN \l_@@_scale_x_fp \l_@@_scale_y_fp
-        \@@_resize:N #1
-      }
-  }
-\cs_generate_variant:Nn \box_resize_to_ht_plus_dp:Nn { c }
-\cs_new_protected:Npn \box_resize_to_wd:Nn #1#2
-  {
-    \hbox_set:Nn #1
-      {
-        \@@_resize_set_corners:N #1
-        \fp_set:Nn \l_@@_scale_x_fp
-          { \dim_to_fp:n {#2} / \dim_to_fp:n { \l_@@_right_dim } }
-        \fp_set_eq:NN \l_@@_scale_y_fp \l_@@_scale_x_fp
-        \@@_resize:N #1
-      }
-  }
-\cs_generate_variant:Nn \box_resize_to_wd:Nn { c }
-\cs_new_protected:Npn \box_resize_to_wd_and_ht:Nnn #1#2#3
-  {
-    \hbox_set:Nn #1
-      {
-        \@@_resize_set_corners:N #1
-        \fp_set:Nn \l_@@_scale_x_fp
-          { \dim_to_fp:n {#2} / \dim_to_fp:n { \l_@@_right_dim } }
-        \fp_set:Nn \l_@@_scale_y_fp
-          {
-              \dim_to_fp:n {#3}
-            / \dim_to_fp:n { \l_@@_top_dim }
-          }
-        \@@_resize:N #1
-      }
-  }
-\cs_generate_variant:Nn \box_resize_to_wd_and_ht:Nnn { c }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\box_scale:Nnn, \box_scale:cnn}
-% \begin{macro}[aux]{\@@_scale_aux:N}
-%   When scaling a box, setting the scaling itself is easy enough. The
-%   new dimensions are also relatively easy to find, allowing only for
-%   the need to keep them positive in all cases. Once that is done then
-%   after a check for the trivial scaling a hand-off can be made to the
-%   common code. The code here is split into two as this allows sharing
-%   with the auto-resizing functions.
-%    \begin{macrocode}
-\cs_new_protected:Npn \box_scale:Nnn #1#2#3
-  {
-    \hbox_set:Nn #1
-      {
-        \fp_set:Nn \l_@@_scale_x_fp {#2}
-        \fp_set:Nn \l_@@_scale_y_fp {#3}
-        \@@_scale_aux:N #1
-      }
-  }
-\cs_generate_variant:Nn \box_scale:Nnn { c }
-\cs_new_protected:Npn \@@_scale_aux:N #1
-  {
-    \dim_set:Nn \l_@@_top_dim    {  \box_ht:N #1 }
-    \dim_set:Nn \l_@@_bottom_dim { -\box_dp:N #1 }
-    \dim_set:Nn \l_@@_right_dim  {  \box_wd:N #1 }
-    \dim_zero:N \l_@@_left_dim
-    \dim_set:Nn \l_@@_top_new_dim
-      { \fp_abs:n { \l_@@_scale_y_fp } \l_@@_top_dim }
-    \dim_set:Nn \l_@@_bottom_new_dim
-      { \fp_abs:n { \l_@@_scale_y_fp } \l_@@_bottom_dim }
-    \dim_set:Nn \l_@@_right_new_dim
-      { \fp_abs:n { \l_@@_scale_x_fp } \l_@@_right_dim }
-    \@@_resize_common:N #1
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}
-%   {
-%     \box_autosize_to_wd_and_ht:Nnn         ,
-%     \box_autosize_to_wd_and_ht:cnn         ,
-%     \box_autosize_to_wd_and_ht_plus_dp:cnn ,
-%     \box_autosize_to_wd_and_ht_plus_dp:Nnn
-%   }
-% \begin{macro}[aux]{\@@_autosize:Nnnn}
-%   Although autosizing a box uses dimensions, it has more in common in
-%   implementation with scaling. As such, most of the real work here is
-%   done elsewhere.
-%    \begin{macrocode}
-\cs_new_protected:Npn \box_autosize_to_wd_and_ht:Nnn #1#2#3
-  { \@@_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 } }
-\cs_generate_variant:Nn \box_autosize_to_wd_and_ht:Nnn { c }
-\cs_new_protected:Npn \box_autosize_to_wd_and_ht_plus_dp:Nnn #1#2#3
-  { \@@_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 + \box_dp:N #1 } }
-\cs_generate_variant:Nn \box_autosize_to_wd_and_ht_plus_dp:Nnn { c }
-\cs_new_protected:Npn \@@_autosize:Nnnn #1#2#3#4
-  {
-    \hbox_set:Nn #1
-      {
-        \fp_set:Nn \l_@@_scale_x_fp { ( #2 ) / \box_wd:N #1 }
-        \fp_set:Nn \l_@@_scale_y_fp { ( #3 ) / ( #4 ) }
-        \fp_compare:nNnTF \l_@@_scale_x_fp > \l_@@_scale_y_fp
-          { \fp_set_eq:NN \l_@@_scale_x_fp \l_@@_scale_y_fp }
-          { \fp_set_eq:NN \l_@@_scale_y_fp \l_@@_scale_x_fp }
-        \@@_scale_aux:N #1
-      }
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}[aux]{\@@_resize_common:N}
-%   The main resize function places in input into a box which will start
-%   of with zero width, and includes the handles for engine rescaling.
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_resize_common:N #1
-  {
-    \hbox_set:Nn \l_@@_internal_box
-      {
-        \__driver_box_use_scale:Nnn
-          #1
-          \l_@@_scale_x_fp
-          \l_@@_scale_y_fp
-      }
-%    \end{macrocode}
-%   The new height and depth can be applied directly.
-%    \begin{macrocode}
-    \fp_compare:nNnTF \l_@@_scale_y_fp > \c_zero_fp
-      {
-        \box_set_ht:Nn \l_@@_internal_box { \l_@@_top_new_dim }
-        \box_set_dp:Nn \l_@@_internal_box { -\l_@@_bottom_new_dim }
-      }
-      {
-        \box_set_dp:Nn \l_@@_internal_box { \l_@@_top_new_dim }
-        \box_set_ht:Nn \l_@@_internal_box { -\l_@@_bottom_new_dim }
-      }
-%    \end{macrocode}
-%   Things are not quite as obvious for the width, as the reference point
-%   needs to remain unchanged. For positive scaling factors resizing the
-%   box is all that is needed. However, for case of a negative scaling
-%   the material must be shifted such that the reference point ends up in
-%   the right place.
-%    \begin{macrocode}
-    \fp_compare:nNnTF \l_@@_scale_x_fp < \c_zero_fp
-      {
-        \hbox_to_wd:nn { \l_@@_right_new_dim }
-          {
-            \tex_kern:D \l_@@_right_new_dim
-            \box_use:N \l_@@_internal_box
-            \tex_hss:D
-          }
-      }
-      {
-        \box_set_wd:Nn \l_@@_internal_box { \l_@@_right_new_dim }
-        \hbox:n
-          {
-            \tex_kern:D \c_zero_dim
-            \box_use:N \l_@@_internal_box
-            \tex_hss:D
-          }
-      }
-  }
-%    \end{macrocode}
-% \end{macro}
-%
 % \subsection{Viewing part of a box}
 %
 % \begin{macro}{\box_clip:N, \box_clip:c}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 582c1e4..47e86b2 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4501,10 +4501,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4512,19 +4565,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4553,15 +4606,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4605,18 +4658,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4676,59 +4729,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index aadb927..edec775 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4469,10 +4469,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4480,19 +4533,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4521,15 +4574,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4573,18 +4626,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4644,59 +4697,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index d3dc1a5..60fc063 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -4489,10 +4489,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4500,19 +4553,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4541,15 +4594,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4593,18 +4646,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4664,59 +4717,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 86c8a4c..29a5d96 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -4469,10 +4469,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4480,19 +4533,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4521,15 +4574,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4573,18 +4626,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4644,59 +4697,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index b329611..0c74c36 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4479,10 +4479,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4490,19 +4543,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4531,15 +4584,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4583,18 +4636,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4654,59 +4707,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl002.luatex.tlg b/l3kernel/testfiles/m3expl002.luatex.tlg
index 1455692..e7a825e 100644
--- a/l3kernel/testfiles/m3expl002.luatex.tlg
+++ b/l3kernel/testfiles/m3expl002.luatex.tlg
@@ -61,34 +61,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl002.ptex.tlg b/l3kernel/testfiles/m3expl002.ptex.tlg
index 897508f..5d811d2 100644
--- a/l3kernel/testfiles/m3expl002.ptex.tlg
+++ b/l3kernel/testfiles/m3expl002.ptex.tlg
@@ -57,34 +57,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl002.tlg b/l3kernel/testfiles/m3expl002.tlg
index 7161474..1436076 100644
--- a/l3kernel/testfiles/m3expl002.tlg
+++ b/l3kernel/testfiles/m3expl002.tlg
@@ -60,34 +60,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl002.uptex.tlg b/l3kernel/testfiles/m3expl002.uptex.tlg
index 897508f..5d811d2 100644
--- a/l3kernel/testfiles/m3expl002.uptex.tlg
+++ b/l3kernel/testfiles/m3expl002.uptex.tlg
@@ -57,34 +57,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl002.xetex.tlg b/l3kernel/testfiles/m3expl002.xetex.tlg
index f864c81..17016e8 100644
--- a/l3kernel/testfiles/m3expl002.xetex.tlg
+++ b/l3kernel/testfiles/m3expl002.xetex.tlg
@@ -57,34 +57,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 6eb2e34..453c269 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4502,10 +4502,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4513,19 +4566,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4554,15 +4607,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4606,18 +4659,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4677,59 +4730,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 341ef7a..c4bfa7c 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4470,10 +4470,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4481,19 +4534,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4522,15 +4575,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4574,18 +4627,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4645,59 +4698,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index aa01fc8..857f8ee 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -4490,10 +4490,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4501,19 +4554,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4542,15 +4595,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4594,18 +4647,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4665,59 +4718,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 1ea195f..9acf4f6 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -4470,10 +4470,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4481,19 +4534,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4522,15 +4575,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4574,18 +4627,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4645,59 +4698,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 5d11ab1..2f75573 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4480,10 +4480,63 @@ Defining \vbox_unpack_clear:N on line ...
 Defining \vbox_unpack:c on line ...
 Defining \vbox_unpack_clear:c on line ...
 Defining \vbox_set_split_to_ht:NNn on line ...
+Defining \l__box_angle_fp on line ...
+Defining \l__box_cos_fp on line ...
+Defining \l__box_sin_fp on line ...
+Defining \l__box_top_dim on line ...
+\l__box_top_dim=\dimen138
+Defining \l__box_bottom_dim on line ...
+\l__box_bottom_dim=\dimen139
+Defining \l__box_left_dim on line ...
+\l__box_left_dim=\dimen140
+Defining \l__box_right_dim on line ...
+\l__box_right_dim=\dimen141
+Defining \l__box_top_new_dim on line ...
+\l__box_top_new_dim=\dimen142
+Defining \l__box_bottom_new_dim on line ...
+\l__box_bottom_new_dim=\dimen143
+Defining \l__box_left_new_dim on line ...
+\l__box_left_new_dim=\dimen144
+Defining \l__box_right_new_dim on line ...
+\l__box_right_new_dim=\dimen145
+Defining \l__box_internal_box on line ...
+\l__box_internal_box=\box61
+Defining \box_rotate:Nn on line ...
+Defining \__box_rotate:N on line ...
+Defining \__box_rotate_x:nnN on line ...
+Defining \__box_rotate_y:nnN on line ...
+Defining \__box_rotate_quadrant_one: on line ...
+Defining \__box_rotate_quadrant_two: on line ...
+Defining \__box_rotate_quadrant_three: on line ...
+Defining \__box_rotate_quadrant_four: on line ...
+Defining \l__box_scale_x_fp on line ...
+Defining \l__box_scale_y_fp on line ...
+Defining \box_resize:Nnn on line ...
+Defining \box_resize:cnn on line ...
+Defining \__box_resize_set_corners:N on line ...
+Defining \__box_resize:N on line ...
+Defining \__box_resize:NNN on line ...
+Defining \box_resize_to_ht:Nn on line ...
+Defining \box_resize_to_ht:cn on line ...
+Defining \box_resize_to_ht_plus_dp:Nn on line ...
+Defining \box_resize_to_ht_plus_dp:cn on line ...
+Defining \box_resize_to_wd:Nn on line ...
+Defining \box_resize_to_wd:cn on line ...
+Defining \box_resize_to_wd_and_ht:Nnn on line ...
+Defining \box_resize_to_wd_and_ht:cnn on line ...
+Defining \box_scale:Nnn on line ...
+Defining \box_scale:cnn on line ...
+Defining \__box_scale_aux:N on line ...
+Defining \box_autosize_to_wd_and_ht:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht:cnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
+Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
+Defining \__box_autosize:Nnnn on line ...
+Defining \__box_resize_common:N on line ...
 Defining \l__coffin_internal_box on line ...
-\l__coffin_internal_box=\box61
+\l__coffin_internal_box=\box62
 Defining \l__coffin_internal_dim on line ...
-\l__coffin_internal_dim=\dimen138
+\l__coffin_internal_dim=\dimen146
 Defining \l__coffin_internal_tl on line ...
 Defining \c__coffin_corners_prop on line ...
 Defining \c__coffin_poles_prop on line ...
@@ -4491,19 +4544,19 @@ Defining \l__coffin_slope_x_fp on line ...
 Defining \l__coffin_slope_y_fp on line ...
 Defining \l__coffin_error_bool on line ...
 Defining \l__coffin_offset_x_dim on line ...
-\l__coffin_offset_x_dim=\dimen139
+\l__coffin_offset_x_dim=\dimen147
 Defining \l__coffin_offset_y_dim on line ...
-\l__coffin_offset_y_dim=\dimen140
+\l__coffin_offset_y_dim=\dimen148
 Defining \l__coffin_pole_a_tl on line ...
 Defining \l__coffin_pole_b_tl on line ...
 Defining \l__coffin_x_dim on line ...
-\l__coffin_x_dim=\dimen141
+\l__coffin_x_dim=\dimen149
 Defining \l__coffin_y_dim on line ...
-\l__coffin_y_dim=\dimen142
+\l__coffin_y_dim=\dimen150
 Defining \l__coffin_x_prime_dim on line ...
-\l__coffin_x_prime_dim=\dimen143
+\l__coffin_x_prime_dim=\dimen151
 Defining \l__coffin_y_prime_dim on line ...
-\l__coffin_y_prime_dim=\dimen144
+\l__coffin_y_prime_dim=\dimen152
 Defining \coffin_if_exist_p:N on line ...
 Defining \coffin_if_exist:NT on line ...
 Defining \coffin_if_exist:NF on line ...
@@ -4532,15 +4585,15 @@ Defining \coffin_set_eq:cN on line ...
 Defining \coffin_set_eq:Nc on line ...
 Defining \coffin_set_eq:cc on line ...
 Defining \c_empty_coffin on line ...
-\c_empty_coffin=\box62
+\c_empty_coffin=\box63
 Defining \l__coffin_aligned_coffin on line ...
-\l__coffin_aligned_coffin=\box63
+\l__coffin_aligned_coffin=\box64
 Defining \l__coffin_aligned_internal_coffin on line ...
-\l__coffin_aligned_internal_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
 Defining \l_tmpa_coffin on line ...
-\l_tmpa_coffin=\box65
+\l_tmpa_coffin=\box66
 Defining \l_tmpb_coffin on line ...
-\l_tmpb_coffin=\box66
+\l_tmpb_coffin=\box67
 Defining \coffin_dp:N on line ...
 Defining \coffin_dp:c on line ...
 Defining \coffin_ht:N on line ...
@@ -4584,18 +4637,18 @@ Defining \__coffin_update_B:nnnnnnnnN on line ...
 Defining \coffin_typeset:Nnnnn on line ...
 Defining \coffin_typeset:cnnnn on line ...
 Defining \l__coffin_display_coffin on line ...
-\l__coffin_display_coffin=\box67
+\l__coffin_display_coffin=\box68
 Defining \l__coffin_display_coord_coffin on line ...
-\l__coffin_display_coord_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
 Defining \l__coffin_display_pole_coffin on line ...
-\l__coffin_display_pole_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
 Defining \l__coffin_display_handles_prop on line ...
 Defining \l__coffin_display_offset_dim on line ...
-\l__coffin_display_offset_dim=\dimen145
+\l__coffin_display_offset_dim=\dimen153
 Defining \l__coffin_display_x_dim on line ...
-\l__coffin_display_x_dim=\dimen146
+\l__coffin_display_x_dim=\dimen154
 Defining \l__coffin_display_y_dim on line ...
-\l__coffin_display_y_dim=\dimen147
+\l__coffin_display_y_dim=\dimen155
 Defining \l__coffin_display_poles_prop on line ...
 Defining \l__coffin_display_font_tl on line ...
 Defining \coffin_mark_handle:Nnnn on line ...
@@ -4655,59 +4708,6 @@ Defining \sys_if_output_pdf_p: on line ...
 Defining \c_sys_output_str on line ...
 Defining \__deprecation_error:Nnn on line ...
 Defining \deprecation_error: on line ...
-Defining \l__box_angle_fp on line ...
-Defining \l__box_cos_fp on line ...
-Defining \l__box_sin_fp on line ...
-Defining \l__box_top_dim on line ...
-\l__box_top_dim=\dimen148
-Defining \l__box_bottom_dim on line ...
-\l__box_bottom_dim=\dimen149
-Defining \l__box_left_dim on line ...
-\l__box_left_dim=\dimen150
-Defining \l__box_right_dim on line ...
-\l__box_right_dim=\dimen151
-Defining \l__box_top_new_dim on line ...
-\l__box_top_new_dim=\dimen152
-Defining \l__box_bottom_new_dim on line ...
-\l__box_bottom_new_dim=\dimen153
-Defining \l__box_left_new_dim on line ...
-\l__box_left_new_dim=\dimen154
-Defining \l__box_right_new_dim on line ...
-\l__box_right_new_dim=\dimen155
-Defining \l__box_internal_box on line ...
-\l__box_internal_box=\box70
-Defining \box_rotate:Nn on line ...
-Defining \__box_rotate:N on line ...
-Defining \__box_rotate_x:nnN on line ...
-Defining \__box_rotate_y:nnN on line ...
-Defining \__box_rotate_quadrant_one: on line ...
-Defining \__box_rotate_quadrant_two: on line ...
-Defining \__box_rotate_quadrant_three: on line ...
-Defining \__box_rotate_quadrant_four: on line ...
-Defining \l__box_scale_x_fp on line ...
-Defining \l__box_scale_y_fp on line ...
-Defining \box_resize:Nnn on line ...
-Defining \box_resize:cnn on line ...
-Defining \__box_resize_set_corners:N on line ...
-Defining \__box_resize:N on line ...
-Defining \__box_resize:NNN on line ...
-Defining \box_resize_to_ht:Nn on line ...
-Defining \box_resize_to_ht:cn on line ...
-Defining \box_resize_to_ht_plus_dp:Nn on line ...
-Defining \box_resize_to_ht_plus_dp:cn on line ...
-Defining \box_resize_to_wd:Nn on line ...
-Defining \box_resize_to_wd:cn on line ...
-Defining \box_resize_to_wd_and_ht:Nnn on line ...
-Defining \box_resize_to_wd_and_ht:cnn on line ...
-Defining \box_scale:Nnn on line ...
-Defining \box_scale:cnn on line ...
-Defining \__box_scale_aux:N on line ...
-Defining \box_autosize_to_wd_and_ht:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht:cnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:Nnn on line ...
-Defining \box_autosize_to_wd_and_ht_plus_dp:cnn on line ...
-Defining \__box_autosize:Nnnn on line ...
-Defining \__box_resize_common:N on line ...
 Defining \box_clip:N on line ...
 Defining \box_clip:c on line ...
 Defining \box_trim:Nnnnn on line ...
diff --git a/l3kernel/testfiles/m3expl004.luatex.tlg b/l3kernel/testfiles/m3expl004.luatex.tlg
index 1455692..e7a825e 100644
--- a/l3kernel/testfiles/m3expl004.luatex.tlg
+++ b/l3kernel/testfiles/m3expl004.luatex.tlg
@@ -61,34 +61,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl004.ptex.tlg b/l3kernel/testfiles/m3expl004.ptex.tlg
index 897508f..5d811d2 100644
--- a/l3kernel/testfiles/m3expl004.ptex.tlg
+++ b/l3kernel/testfiles/m3expl004.ptex.tlg
@@ -57,34 +57,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl004.tlg b/l3kernel/testfiles/m3expl004.tlg
index 7161474..1436076 100644
--- a/l3kernel/testfiles/m3expl004.tlg
+++ b/l3kernel/testfiles/m3expl004.tlg
@@ -60,34 +60,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl004.uptex.tlg b/l3kernel/testfiles/m3expl004.uptex.tlg
index 897508f..5d811d2 100644
--- a/l3kernel/testfiles/m3expl004.uptex.tlg
+++ b/l3kernel/testfiles/m3expl004.uptex.tlg
@@ -57,34 +57,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl004.xetex.tlg b/l3kernel/testfiles/m3expl004.xetex.tlg
index f864c81..17016e8 100644
--- a/l3kernel/testfiles/m3expl004.xetex.tlg
+++ b/l3kernel/testfiles/m3expl004.xetex.tlg
@@ -57,34 +57,34 @@ Don't change this file in any respect.
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl006.luatex.tlg b/l3kernel/testfiles/m3expl006.luatex.tlg
index d58b71f..9bbba16 100644
--- a/l3kernel/testfiles/m3expl006.luatex.tlg
+++ b/l3kernel/testfiles/m3expl006.luatex.tlg
@@ -62,34 +62,34 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl006.ptex.tlg b/l3kernel/testfiles/m3expl006.ptex.tlg
index 11b53c7..5b14ec1 100644
--- a/l3kernel/testfiles/m3expl006.ptex.tlg
+++ b/l3kernel/testfiles/m3expl006.ptex.tlg
@@ -58,34 +58,34 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl006.tlg b/l3kernel/testfiles/m3expl006.tlg
index 0106afb..db745e3 100644
--- a/l3kernel/testfiles/m3expl006.tlg
+++ b/l3kernel/testfiles/m3expl006.tlg
@@ -61,34 +61,34 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl006.uptex.tlg b/l3kernel/testfiles/m3expl006.uptex.tlg
index 11b53c7..5b14ec1 100644
--- a/l3kernel/testfiles/m3expl006.uptex.tlg
+++ b/l3kernel/testfiles/m3expl006.uptex.tlg
@@ -58,34 +58,34 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158
diff --git a/l3kernel/testfiles/m3expl006.xetex.tlg b/l3kernel/testfiles/m3expl006.xetex.tlg
index 89ed7ac..25a37ef 100644
--- a/l3kernel/testfiles/m3expl006.xetex.tlg
+++ b/l3kernel/testfiles/m3expl006.xetex.tlg
@@ -58,34 +58,34 @@ Author: Bruno Le Floch and Joseph Wright
 \l_tmpb_box=\box58
 \g_tmpa_box=\box59
 \g_tmpb_box=\box60
-\l__coffin_internal_box=\box61
-\l__coffin_internal_dim=\dimen138
-\l__coffin_offset_x_dim=\dimen139
-\l__coffin_offset_y_dim=\dimen140
-\l__coffin_x_dim=\dimen141
-\l__coffin_y_dim=\dimen142
-\l__coffin_x_prime_dim=\dimen143
-\l__coffin_y_prime_dim=\dimen144
-\c_empty_coffin=\box62
-\l__coffin_aligned_coffin=\box63
-\l__coffin_aligned_internal_coffin=\box64
-\l_tmpa_coffin=\box65
-\l_tmpb_coffin=\box66
-\l__coffin_display_coffin=\box67
-\l__coffin_display_coord_coffin=\box68
-\l__coffin_display_pole_coffin=\box69
-\l__coffin_display_offset_dim=\dimen145
-\l__coffin_display_x_dim=\dimen146
-\l__coffin_display_y_dim=\dimen147
-\l__box_top_dim=\dimen148
-\l__box_bottom_dim=\dimen149
-\l__box_left_dim=\dimen150
-\l__box_right_dim=\dimen151
-\l__box_top_new_dim=\dimen152
-\l__box_bottom_new_dim=\dimen153
-\l__box_left_new_dim=\dimen154
-\l__box_right_new_dim=\dimen155
-\l__box_internal_box=\box70
+\l__box_top_dim=\dimen138
+\l__box_bottom_dim=\dimen139
+\l__box_left_dim=\dimen140
+\l__box_right_dim=\dimen141
+\l__box_top_new_dim=\dimen142
+\l__box_bottom_new_dim=\dimen143
+\l__box_left_new_dim=\dimen144
+\l__box_right_new_dim=\dimen145
+\l__box_internal_box=\box61
+\l__coffin_internal_box=\box62
+\l__coffin_internal_dim=\dimen146
+\l__coffin_offset_x_dim=\dimen147
+\l__coffin_offset_y_dim=\dimen148
+\l__coffin_x_dim=\dimen149
+\l__coffin_y_dim=\dimen150
+\l__coffin_x_prime_dim=\dimen151
+\l__coffin_y_prime_dim=\dimen152
+\c_empty_coffin=\box63
+\l__coffin_aligned_coffin=\box64
+\l__coffin_aligned_internal_coffin=\box65
+\l_tmpa_coffin=\box66
+\l_tmpb_coffin=\box67
+\l__coffin_display_coffin=\box68
+\l__coffin_display_coord_coffin=\box69
+\l__coffin_display_pole_coffin=\box70
+\l__coffin_display_offset_dim=\dimen153
+\l__coffin_display_x_dim=\dimen154
+\l__coffin_display_y_dim=\dimen155
 \l__coffin_bounding_shift_dim=\dimen156
 \l__coffin_left_corner_dim=\dimen157
 \l__coffin_right_corner_dim=\dimen158

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list