[latex3-commits] [git/LaTeX3-latex3-latex3] main: Avoid \AtBeginDvi in backend (8e5ab1287)

Joseph Wright joseph.wright at morningstar2.co.uk
Mon Mar 22 08:40:29 CET 2021


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/8e5ab128710c56558b5a48cfa58132494a4ba3c5

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

commit 8e5ab128710c56558b5a48cfa58132494a4ba3c5
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon Mar 22 07:40:29 2021 +0000

    Avoid \AtBeginDvi in backend


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

8e5ab128710c56558b5a48cfa58132494a4ba3c5
 l3backend/l3backend-basics.dtx          | 23 +++++++++++++++++++----
 l3backend/l3backend-color.dtx           | 16 ++++++----------
 l3kernel/testfiles/m3expl001.luatex.tlg |  1 +
 l3kernel/testfiles/m3expl001.ptex.tlg   |  1 +
 l3kernel/testfiles/m3expl001.tlg        |  1 +
 l3kernel/testfiles/m3expl001.uptex.tlg  |  1 +
 l3kernel/testfiles/m3expl001.xetex.tlg  |  1 +
 l3kernel/testfiles/m3expl003.luatex.tlg |  1 +
 l3kernel/testfiles/m3expl003.ptex.tlg   |  1 +
 l3kernel/testfiles/m3expl003.tlg        |  1 +
 l3kernel/testfiles/m3expl003.uptex.tlg  |  1 +
 l3kernel/testfiles/m3expl003.xetex.tlg  |  1 +
 12 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/l3backend/l3backend-basics.dtx b/l3backend/l3backend-basics.dtx
index 787232cc3..7e996b85f 100644
--- a/l3backend/l3backend-basics.dtx
+++ b/l3backend/l3backend-basics.dtx
@@ -151,6 +151,23 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\__kernel_backend_first_shipout:n}
+%   We need to write at first shipout in a few places. As we want to use the
+%   most up-to-date method, 
+%    \begin{macrocode}
+\cs_if_exist:NTF \@ifl at t@r
+  {
+    \@ifl at t@r \fmtversion { 2020-10-01 }
+      {
+        \cs_new_protected:Npn \__kernel_backend_first_shipout:n #1
+          { \hook_gput_code:nnn { shipout / firstpage } { l3backend } {#1} }
+      }
+      { \cs_new_eq:NN \__kernel_backend_first_shipout:n \AtBeginDvi }
+  }
+  { \cs_new_eq:NN \__kernel_backend_first_shipout:n \use:n }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsection{\texttt{dvips} backend}
 %
 %    \begin{macrocode}
@@ -187,10 +204,8 @@
 %    \begin{macrocode}
 \bool_if:NT \g__kernel_backend_header_bool
   {
-    \cs_if_exist:NTF \AtBeginDvi
-      { \AtBeginDvi }
-      { \use:n }
-        { \__kernel_backend_literal:n { header = l3backend-dvips.pro } }
+    \__kernel_backend_first_shipout:n
+      { \__kernel_backend_literal:n { header = l3backend-dvips.pro } }
   }
 %    \end{macrocode}
 %
diff --git a/l3backend/l3backend-color.dtx b/l3backend/l3backend-color.dtx
index d5cd5b042..5540c2c5a 100644
--- a/l3backend/l3backend-color.dtx
+++ b/l3backend/l3backend-color.dtx
@@ -213,9 +213,7 @@
         \int_const:Nn #1 { \exp_not:N \g_@@_backend_stack_int }
         \use:x
           {
-            \cs_if_exist:NTF \AtBeginDvi
-              { \exp_not:N \AtBeginDvi }
-              { \exp_not:N \use:n }
+            \__kernel_backend_first_shipout:n
               {
                 \__kernel_backend_literal:n
                   {
@@ -530,13 +528,11 @@
   {
     \bool_if:NT \g__kernel_backend_header_bool
       {
-        \cs_if_exist:NTF \AtBeginDvi
-          { \exp_not:N \AtBeginDvi }
-          { \use:n }
-            {
-              \exp_not:N \@@_backend_separation_init_aux:nnnnn
-                {#1} {#2} {#3} {#4} {#5}
-            }
+        \__kernel_backend_first_shipout:n
+          {
+            \exp_not:N \@@_backend_separation_init_aux:nnnnn
+              {#1} {#2} {#3} {#4} {#5}
+          }
       }
   }
 \cs_generate_variant:Nn \@@_backend_separation_init:nnnnn { nxx }
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 8a44ff1bf..bd3e87db5 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -20,6 +20,7 @@ File: l3backend-luatex.def ....-..-.. L3 backend support: PDF output (LuaTeX)
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_pdf:n on line ...
 Defining \__kernel_backend_literal_pdf:x on line ...
 Defining \__kernel_backend_literal_page:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 26541e1e7..ce7b95e4f 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -20,6 +20,7 @@ File: l3backend-dvips.def ....-..-.. L3 backend support: dvips
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_postscript:n on line ...
 Defining \__kernel_backend_literal_postscript:x on line ...
 Defining \__kernel_backend_postscript:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 88d7686b8..0d79753c4 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -20,6 +20,7 @@ File: l3backend-pdftex.def ....-..-.. L3 backend support: PDF output (pdfTeX)
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_pdf:n on line ...
 Defining \__kernel_backend_literal_pdf:x on line ...
 Defining \__kernel_backend_literal_page:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 26541e1e7..ce7b95e4f 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -20,6 +20,7 @@ File: l3backend-dvips.def ....-..-.. L3 backend support: dvips
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_postscript:n on line ...
 Defining \__kernel_backend_literal_postscript:x on line ...
 Defining \__kernel_backend_postscript:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 5e132f1ba..bffa6483e 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -20,6 +20,7 @@ File: l3backend-xetex.def ....-..-.. L3 backend support: XeTeX
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_pdf:n on line ...
 Defining \__kernel_backend_literal_pdf:x on line ...
 Defining \__kernel_backend_literal_page:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 8a44ff1bf..bd3e87db5 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -20,6 +20,7 @@ File: l3backend-luatex.def ....-..-.. L3 backend support: PDF output (LuaTeX)
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_pdf:n on line ...
 Defining \__kernel_backend_literal_pdf:x on line ...
 Defining \__kernel_backend_literal_page:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 26541e1e7..ce7b95e4f 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -20,6 +20,7 @@ File: l3backend-dvips.def ....-..-.. L3 backend support: dvips
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_postscript:n on line ...
 Defining \__kernel_backend_literal_postscript:x on line ...
 Defining \__kernel_backend_postscript:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 88d7686b8..0d79753c4 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -20,6 +20,7 @@ File: l3backend-pdftex.def ....-..-.. L3 backend support: PDF output (pdfTeX)
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_pdf:n on line ...
 Defining \__kernel_backend_literal_pdf:x on line ...
 Defining \__kernel_backend_literal_page:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 26541e1e7..ce7b95e4f 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -20,6 +20,7 @@ File: l3backend-dvips.def ....-..-.. L3 backend support: dvips
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_postscript:n on line ...
 Defining \__kernel_backend_literal_postscript:x on line ...
 Defining \__kernel_backend_postscript:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 5e132f1ba..bffa6483e 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -20,6 +20,7 @@ File: l3backend-xetex.def ....-..-.. L3 backend support: XeTeX
 Defining \__kernel_backend_literal:e on line ...
 Defining \__kernel_backend_literal:n on line ...
 Defining \__kernel_backend_literal:x on line ...
+Defining \__kernel_backend_first_shipout:n on line ...
 Defining \__kernel_backend_literal_pdf:n on line ...
 Defining \__kernel_backend_literal_pdf:x on line ...
 Defining \__kernel_backend_literal_page:n on line ...





More information about the latex3-commits mailing list.