[latex3-commits] [git/LaTeX3-latex3-latex3] master: New internal interface for kerns (150570c39)
Joseph Wright
joseph.wright at morningstar2.co.uk
Sat Feb 6 12:44:45 CET 2021
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/150570c39e832aa6e232190c9334ea7391a5cdf8
>---------------------------------------------------------------
commit 150570c39e832aa6e232190c9334ea7391a5cdf8
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Sat Feb 6 11:44:45 2021 +0000
New internal interface for kerns
>---------------------------------------------------------------
150570c39e832aa6e232190c9334ea7391a5cdf8
l3backend/CHANGELOG.md | 3 +++
l3backend/l3backend-pdf.dtx | 20 ++++++++++----------
l3experimental/CHANGELOG.md | 3 +++
l3experimental/l3draw/l3draw-boxes.dtx | 2 +-
l3kernel/CHANGELOG.md | 3 +++
l3kernel/l3box.dtx | 16 +++++++++++++---
l3kernel/l3candidates.dtx | 8 ++++----
l3kernel/l3coffins.dtx | 16 +++++++---------
l3kernel/l3kernel-functions.dtx | 7 +++++++
l3trial/l3tree/l3tree.dtx | 4 ++--
l3trial/xbox/xbox.dtx | 6 +++---
11 files changed, 56 insertions(+), 32 deletions(-)
diff --git a/l3backend/CHANGELOG.md b/l3backend/CHANGELOG.md
index 9cd12c36d..a9aa2d96f 100644
--- a/l3backend/CHANGELOG.md
+++ b/l3backend/CHANGELOG.md
@@ -6,6 +6,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Changed
+- Use new (internal) interface for kerns
+
## [2021-01-29]
### Added
diff --git a/l3backend/l3backend-pdf.dtx b/l3backend/l3backend-pdf.dtx
index 8bc45503e..e4772a848 100644
--- a/l3backend/l3backend-pdf.dtx
+++ b/l3backend/l3backend-pdf.dtx
@@ -297,9 +297,9 @@
{
\hbox:n
{
- \tex_kern:D #1 \scan_stop:
+ \__kernel_kern:n {#1}
\__kernel_backend_postscript:n { pdf.save.ur }
- \tex_kern:D -#1 \scan_stop:
+ \__kernel_kern:n { -#1 }
}
}
\int_gincr:N \g_@@_backend_object_int
@@ -658,18 +658,18 @@
{
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n {#4} \scan_stop:
+ \__kernel_kern:n {#4}
\hbox:n { \__kernel_backend_postscript:n { pdf.save.ll } }
\tex_vss:D
}
- \tex_kern:D #1 \scan_stop:
+ \__kernel_kern:n {#1}
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n { -#3 } \scan_stop:
+ \__kernel_kern:n { -#3 }
\hbox:n { \__kernel_backend_postscript:n { pdf.save.ur } }
\tex_vss:D
}
- \tex_kern:D -#1 \scan_stop:
+ \__kernel_kern:n { -#1 }
\@@_backend_pdfmark:n
{
/View
@@ -1523,7 +1523,7 @@
{
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n {#4} \scan_stop:
+ \__kernel_kern:n {#4}
\hbox:n
{
\@@_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos }
@@ -1531,10 +1531,10 @@
}
\tex_vss:D
}
- \tex_kern:D #1 \scan_stop:
+ \__kernel_kern:n {#1}
\vbox_to_zero:n
{
- \tex_kern:D \dim_eval:n { -#3 } \scan_stop:
+ \__kernel_kern:n { -#3 }
\hbox:n
{
\@@_backend:n
@@ -1550,7 +1550,7 @@
}
\tex_vss:D
}
- \tex_kern:D -#1 \scan_stop:
+ \__kernel_kern:n { -#1 }
}
% \end{macrocode}
% \end{macro}
diff --git a/l3experimental/CHANGELOG.md b/l3experimental/CHANGELOG.md
index fa437900c..42147ca5d 100644
--- a/l3experimental/CHANGELOG.md
+++ b/l3experimental/CHANGELOG.md
@@ -7,6 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Changed
+- Use new (internal) interface for kerns
+
## [2021-01-29]
### Added
diff --git a/l3experimental/l3draw/l3draw-boxes.dtx b/l3experimental/l3draw/l3draw-boxes.dtx
index 0f040620d..bd88443e7 100644
--- a/l3experimental/l3draw/l3draw-boxes.dtx
+++ b/l3experimental/l3draw/l3draw-boxes.dtx
@@ -113,7 +113,7 @@
}
\hbox_set:Nn \l_@@_tmp_box
{
- \tex_kern:D \l_@@_xshift_dim
+ \__kernel_kern:n { \l_@@_xshift_dim }
\box_move_up:nn { \l_@@_yshift_dim }
{ \box_use_drop:N \l_@@_tmp_box }
}
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index ce8e2d5ab..6b9621ec8 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Changed
+- Use new (internal) interface for kerns
+
## [2021-02-02]
### Added
diff --git a/l3kernel/l3box.dtx b/l3kernel/l3box.dtx
index 647f5b68d..14dd62234 100644
--- a/l3kernel/l3box.dtx
+++ b/l3kernel/l3box.dtx
@@ -917,6 +917,16 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{'\__kernel_kern:n}
+% We need kerns in a few places. At present, we don't have a module for
+% this concept, so it goes in at first use: here. The idea is to avoid
+% repeated use of the bare primitive.
+% \begin{macrocode}
+\cs_new_protected:Npn \__kernel_kern:n #1
+ { \tex_kern:D \@@_dim_eval:n {#1} }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Creating and initialising boxes}
%
% \TestFiles{m3box001.lvt}
@@ -1768,7 +1778,7 @@
\hbox_set:Nn \l_@@_internal_box { \box_use:N #1 }
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D -\l_@@_left_new_dim
+ \__kernel_kern:n { -\l_@@_left_new_dim }
\hbox:n
{
\@@_backend_rotate:Nn
@@ -2227,7 +2237,7 @@
{
\hbox_to_wd:nn { \l_@@_right_new_dim }
{
- \tex_kern:D \l_@@_right_new_dim
+ \__kernel_kern:n { \l_@@_right_new_dim }
\box_use_drop:N \l_@@_internal_box
\tex_hss:D
}
@@ -2236,7 +2246,7 @@
\box_set_wd:Nn \l_@@_internal_box { \l_@@_right_new_dim }
\hbox:n
{
- \tex_kern:D \c_zero_dim
+ \__kernel_kern:n { 0pt }
\box_use_drop:N \l_@@_internal_box
\tex_hss:D
}
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index 9c7e92521..8830b81c4 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -732,9 +732,9 @@
{
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D - \@@_dim_eval:n {#2}
+ \__kernel_kern:n { -#2 }
\box_use:N #1
- \tex_kern:D - \@@_dim_eval:n {#4}
+ \__kernel_kern:n { -#4 }
}
% \end{macrocode}
% For the height and depth, there is a need to watch the baseline is
@@ -809,9 +809,9 @@
{
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D - \@@_dim_eval:n {#2}
+ \__kernel_kern:n { -#2 }
\box_use:N #1
- \tex_kern:D \@@_dim_eval:n { #4 - \box_wd:N #1 }
+ \__kernel_kern:n { #4 - \box_wd:N #1 }
}
\dim_compare:nNnTF {#3} < \c_zero_dim
{
diff --git a/l3kernel/l3coffins.dtx b/l3kernel/l3coffins.dtx
index 1df2770f8..1c02fa1d6 100644
--- a/l3kernel/l3coffins.dtx
+++ b/l3kernel/l3coffins.dtx
@@ -1412,10 +1412,8 @@
% \begin{macrocode}
\hbox_set:Nn \l_@@_internal_box
{
- \tex_kern:D
- \dim_eval:n
+ \__kernel_kern:n
{ \l_@@_bounding_shift_dim - \l_@@_left_corner_dim }
- \exp_stop_f:
\box_move_down:nn { \l_@@_bottom_corner_dim }
{ \box_use:N #1 }
}
@@ -1870,12 +1868,12 @@
\hbox_set:Nn \l_@@_aligned_coffin
{
\dim_compare:nNnT { \l_@@_offset_x_dim } < \c_zero_dim
- { \tex_kern:D -\l_@@_offset_x_dim }
+ { \__kernel_kern:n { -\l_@@_offset_x_dim } }
\hbox_unpack:N \l_@@_aligned_coffin
\dim_set:Nn \l_@@_internal_dim
{ \l_@@_offset_x_dim - \box_wd:N #1 + \box_wd:N #4 }
\dim_compare:nNnT \l_@@_internal_dim < \c_zero_dim
- { \tex_kern:D -\l_@@_internal_dim }
+ { \__kernel_kern:n { -\l_@@_internal_dim } }
}
% \end{macrocode}
% The coffin structure is reset, and the corners are cleared: only
@@ -2001,8 +1999,8 @@
\hbox_set:Nn \l_@@_aligned_internal_coffin
{
\box_use:N #1
- \tex_kern:D -\box_wd:N #1
- \tex_kern:D \l_@@_offset_x_dim
+ \__kernel_kern:n { -\box_wd:N #1 }
+ \__kernel_kern:n { \l_@@_offset_x_dim }
\box_move_up:nn { \l_@@_offset_y_dim } { \box_use:N #4 }
}
\coffin_set_eq:NN #9 \l_@@_aligned_internal_coffin
@@ -2455,8 +2453,8 @@
\hbox_set:Nn \l_@@_aligned_coffin
{
\box_use:N \l_@@_display_coffin
- \tex_kern:D -\box_wd:N \l_@@_display_coffin
- \tex_kern:D \l_@@_offset_x_dim
+ \__kernel_kern:n { -\box_wd:N \l_@@_display_coffin }
+ \__kernel_kern:n { \l_@@_offset_x_dim }
\box_move_up:nn { \l_@@_offset_y_dim } { \box_use:N #1 }
}
\box_set_ht:Nn \l_@@_aligned_coffin
diff --git a/l3kernel/l3kernel-functions.dtx b/l3kernel/l3kernel-functions.dtx
index bc10c5e5c..9990bb0cd 100644
--- a/l3kernel/l3kernel-functions.dtx
+++ b/l3kernel/l3kernel-functions.dtx
@@ -259,6 +259,13 @@
% that \tn{errorcontextlines} is $-1$ when displaying a message.
% \end{function}
%
+% \begin{variable}{\__kernel_kern:n}
+% \begin{syntax}
+% \cs{__kernel_kern:n} \Arg{length}
+% \end{syntax}
+% Inserts a kern of the specified \meta{length}, a dimension expression.
+% \end{variable}
+%
% \begin{function}
% {\__kernel_msg_new:nnnn, \__kernel_msg_new:nnn}
% \begin{syntax}
diff --git a/l3trial/l3tree/l3tree.dtx b/l3trial/l3tree/l3tree.dtx
index 92cb95127..a93adfaf7 100644
--- a/l3trial/l3tree/l3tree.dtx
+++ b/l3trial/l3tree/l3tree.dtx
@@ -414,7 +414,7 @@
\cs_new_protected:Npn \tree_ordered:
{
\box_use_drop:N \l_tree_parent_box
- \tex_kern:D \c_one_sp_dim
+ \__kernel_kern:n { \c_one_sp_dim }
}
\cs_new_protected:Npn \tree_reversed:
{
@@ -422,7 +422,7 @@
\box_use_drop:N \l_tree_first_box
\tex_setbox:D \l_tree_first_box \tex_box:D \l_tree_second_box
\box_use_drop:N \l_tree_parent_box
- \tex_kern:D - \c_one_sp_dim
+ \__kernel_kern:n { -\c_one_sp_dim }
}
% \end{macrocode}
% \end{macro}
diff --git a/l3trial/xbox/xbox.dtx b/l3trial/xbox/xbox.dtx
index ff3f02f47..59b472435 100644
--- a/l3trial/xbox/xbox.dtx
+++ b/l3trial/xbox/xbox.dtx
@@ -852,7 +852,7 @@
\hbox_to_wd:nn {#1}
{ \@@_hposition:n { \hbox_unpack_drop:N \l_@@_internal_box } }
}
- \tex_kern:D 0pt \scan_stop:
+ \__kernel_kern:n { 0pt }
}
}
}
@@ -1255,13 +1255,13 @@
\cs_new_protected:Npn \kern_horizontal:n #1
{
\mode_leave_vertical:
- \tex_kern:D \dim_eval:n {#1} \exp_stop_f:
+ \__kernel_kern:n {#1}
}
\cs_new_protected:Npn \kern_vertical:n #1
{
\mode_if_vertical:F
{ \par }
- \tex_kern:D \dim_eval:n {#1} \exp_stop_f:
+ \__kernel_kern:n {#1}
}
% \end{macrocode}
% \end{macro}
More information about the latex3-commits
mailing list.