texlive[71139] Master/texmf-dist: l3backend (30apr24)

commits+karl at tug.org commits+karl at tug.org
Tue Apr 30 22:02:48 CEST 2024


Revision: 71139
          https://tug.org/svn/texlive?view=revision&revision=71139
Author:   karl
Date:     2024-04-30 22:02:48 +0200 (Tue, 30 Apr 2024)
Log Message:
-----------
l3backend (30apr24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3backend/README.md
    trunk/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
    trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def

Modified: trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md	2024-04-30 20:02:48 UTC (rev 71139)
@@ -6,6 +6,14 @@
 
 ## [Unreleased]
 
+## [2024-04-11]
+
+### Added
+- Support for 'raw' PDF object IDs
+
+### Changed
+- Update PDF object management code
+
 ## [2024-03-14]
 
 ### Removed
@@ -339,7 +347,8 @@
 - Include `l3backend` in file names
 - Moved backend code to internal for each 'parent' module
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
 [2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
 [2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
 [2024-01-04]: https://github.com/latex3/latex3/compare/2023-11-09...2024-01-04

Modified: trunk/Master/texmf-dist/doc/latex/l3backend/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3backend/README.md	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/doc/latex/l3backend/README.md	2024-04-30 20:02:48 UTC (rev 71139)
@@ -1,7 +1,7 @@
 LaTeX3 Backend Drivers
 ======================
 
-Release 2024-03-14
+Release 2024-04-11
 
 This package forms parts of `expl3`, and contains the code used to interface
 with backends (drivers) across the `expl3` codebase. The functions here are

Modified: trunk/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %
@@ -70,27 +70,27 @@
 %    \begin{macrocode}
 \ProvidesExplFile
 %<*dvipdfmx>
-  {l3backend-dvipdfmx.def}{2024-03-14}{}
+  {l3backend-dvipdfmx.def}{2024-04-11}{}
   {L3 backend support: dvipdfmx}
 %</dvipdfmx>
 %<*dvips>
-  {l3backend-dvips.def}{2024-03-14}{}
+  {l3backend-dvips.def}{2024-04-11}{}
   {L3 backend support: dvips}
 %</dvips>
 %<*dvisvgm>
-  {l3backend-dvisvgm.def}{2024-03-14}{}
+  {l3backend-dvisvgm.def}{2024-04-11}{}
   {L3 backend support: dvisvgm}
 %</dvisvgm>
 %<*luatex>
-  {l3backend-luatex.def}{2024-03-14}{}
+  {l3backend-luatex.def}{2024-04-11}{}
   {L3 backend support: PDF output (LuaTeX)}
 %</luatex>
 %<*pdftex>
-  {l3backend-pdftex.def}{2024-03-14}{}
+  {l3backend-pdftex.def}{2024-04-11}{}
   {L3 backend support: PDF output (pdfTeX)}
 %</pdftex>
 %<*xetex>
-  {l3backend-xetex.def}{2024-03-14}{}
+  {l3backend-xetex.def}{2024-04-11}{}
   {L3 backend support: XeTeX}
 %</xetex>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx	2024-04-30 20:02:48 UTC (rev 71139)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
 %
 % \maketitle
 %
@@ -113,26 +113,14 @@
 %
 % \subsubsection{Objects}
 %
-% \begin{variable}{\g_@@_backend_object_int}
-%   For tracking objects.
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
 %    \begin{macrocode}
-\int_new:N \g_@@_backend_object_int
+\cs_new_protected:Npn \@@_backend_object_new:
+  { \int_gincr:N \g_@@_backend_object_int }
+\cs_new:Npn \@@_backend_object_ref:n #1 { { pdf.obj #1 } }
+\cs_new_eq:NN \@@_backend_object_id:n \@@_backend_object_ref:n
 %    \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
-%    \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
-  {
-    \int_gincr:N \g_@@_backend_object_int
-    \int_const:cn
-      { c_@@_object_ \tl_to_str:n {#1} _int }
-      { \g_@@_backend_object_int }
-  }
-\cs_new:Npn \@@_backend_object_ref:n #1
-  { { pdf.obj \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } } }
-%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 %
@@ -958,12 +946,12 @@
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
 %   Declaring objects means reserving at the PDF level plus starting
 %   tracking.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
+\cs_new_protected:Npn \@@_backend_object_new:
   {
 %<*luatex>
     \tex_pdfextension:D obj ~
@@ -972,17 +960,16 @@
     \tex_pdfobj:D
 %</pdftex>
       reserveobjnum ~
-      \int_const:cn
-        { c_@@_object_ \tl_to_str:n {#1} _int }
+    \int_gset:Nn \g_@@_backend_object_int
 %<*luatex>
-        { \tex_pdffeedback:D lastobj }
+      { \tex_pdffeedback:D lastobj }
 %</luatex>
 %<*pdftex>
-        { \tex_pdflastobj:D }
+      { \tex_pdflastobj:D }
 %</pdftex>
   }
-\cs_new:Npn \@@_backend_object_ref:n #1
-  { \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
+\cs_new:Npn \@@_backend_object_ref:n #1 { #1 ~ 0 ~ R }
+\cs_new:Npn \@@_backend_object_id:n #1 {#1}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -1001,28 +988,26 @@
 %<*pdftex>
     \tex_immediate:D \tex_pdfobj:D
 %</pdftex>
-      useobjnum ~
-      \int_use:c
-        { c_@@_object_ \tl_to_str:n {#1} _int }
-      \@@_backend_object_write:nn {#2} {#3}
+      useobjnum ~ #1
+    \@@_backend_object_write:nn {#2} {#3}
   }
 \cs_new:Npn \@@_backend_object_write:nn #1#2
   {
-      \str_case:nn {#1}
-        {
-          { array } { { [ ~ \exp_not:n {#2} ~ ] } }
-          { dict }  { { << ~ \exp_not:n {#2} ~ >> } }
-          { fstream }
-            {
-              stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
-                file ~ { \@@_exp_not_ii:nn #2 }
-            }
-          { stream }
-            {
-              stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
-                { \@@_exp_not_ii:nn #2 }
-            }
-        }
+    \str_case:nn {#1}
+      {
+        { array } { { [ ~ \exp_not:n {#2} ~ ] } }
+        { dict }  { { << ~ \exp_not:n {#2} ~ >> } }
+        { fstream }
+          {
+            stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
+              file ~ { \@@_exp_not_ii:nn #2 }
+          }
+        { stream }
+          {
+            stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
+              { \@@_exp_not_ii:nn #2 }
+          }
+      }
   }
 \cs_generate_variant:Nn \@@_backend_object_write:nnn { nne }
 \cs_new:Npn \@@_exp_not_i:nn #1#2 { \exp_not:n {#1} }
@@ -1235,28 +1220,22 @@
 %
 % \subsubsection{Objects}
 %
-% \begin{variable}{\g_@@_backend_object_int, \g_@@_backend_object_prop}
+% \begin{variable}{\g_@@_backend_object_prop}
 %   For tracking objects to allow finalisation.
 %    \begin{macrocode}
-\int_new:N \g_@@_backend_object_int
 \prop_new:N \g_@@_backend_object_prop
 %    \end{macrocode}
 % \end{variable}
 %
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
 %   Objects are tracked at the macro level, but we don't have to do anything
 %   at this stage.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
-  {
-    \int_gincr:N \g_@@_backend_object_int
-    \int_const:cn
-      { c_@@_object_ \tl_to_str:n {#1} _int }
-      { \g_@@_backend_object_int }
-  }
-\cs_new:Npn \@@_backend_object_ref:n #1
-  { @pdf.obj \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } }
+\cs_new_protected:Npn \@@_backend_object_new:
+  { \int_gincr:N \g_@@_backend_object_int }
+\cs_new:Npn \@@_backend_object_ref:n #1 { @pdf.obj #1 }
+\cs_new_eq:NN \@@_backend_object_id:n \@@_backend_object_ref:n
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -1627,8 +1606,8 @@
 %
 % \subsubsection{Objects}
 %
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
 % \begin{macro}{\@@_backend_object_write:nnn, \@@_backend_object_write:ne}
 % \begin{macro}{\@@_backend_object_now:nn, , \@@_backend_object_now:ne}
 % \begin{macro}{\@@_backend_object_last:}
@@ -1635,8 +1614,9 @@
 % \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
 %   All no-ops here.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:nn #1 { }
+\cs_new_protected:Npn \@@_backend_object_new: { }
 \cs_new:Npn \@@_backend_object_ref:n #1 { }
+\cs_new:Npn \@@_backend_object_id:n #1 { }
 \cs_new_protected:Npn \@@_backend_object_write:nnn #1#2#3 { }
 \cs_new_protected:Npn \@@_backend_object_write:nne #1#2#3 { }
 \cs_new_protected:Npn \@@_backend_object_now:nn #1#2 { }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def	2024-04-30 20:02:48 UTC (rev 71139)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvipdfmx.def}{2024-03-14}{}
+  {l3backend-dvipdfmx.def}{2024-04-11}{}
   {L3 backend support: dvipdfmx}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -607,17 +607,11 @@
   { \__pdf_backend:n { put ~ @catalog << /#1 ~ #2 >> } }
 \cs_new_protected:Npn \__pdf_backend_info_gput:nn #1#2
   { \__pdf_backend:n { docinfo << /#1 ~ #2 >> } }
-\int_new:N \g__pdf_backend_object_int
 \prop_new:N \g__pdf_backend_object_prop
-\cs_new_protected:Npn \__pdf_backend_object_new:n #1
-  {
-    \int_gincr:N \g__pdf_backend_object_int
-    \int_const:cn
-      { c__pdf_object_ \tl_to_str:n {#1} _int }
-      { \g__pdf_backend_object_int }
-  }
-\cs_new:Npn \__pdf_backend_object_ref:n #1
-  { @pdf.obj \int_use:c { c__pdf_object_ \tl_to_str:n {#1} _int } }
+\cs_new_protected:Npn \__pdf_backend_object_new:
+  { \int_gincr:N \g__pdf_backend_object_int }
+\cs_new:Npn \__pdf_backend_object_ref:n #1 { @pdf.obj #1 }
+\cs_new_eq:NN \__pdf_backend_object_id:n \__pdf_backend_object_ref:n
 \cs_new_protected:Npn \__pdf_backend_object_write:nnn #1#2#3
   {
     \use:c { __pdf_backend_object_write_ #2 :nn }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def	2024-04-30 20:02:48 UTC (rev 71139)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvips.def}{2024-03-14}{}
+  {l3backend-dvips.def}{2024-04-11}{}
   {L3 backend support: dvips}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -623,16 +623,10 @@
   { \__pdf_backend_pdfmark:n { { Catalog } << /#1 ~ #2 >> /PUT } }
 \cs_new_protected:Npn \__pdf_backend_info_gput:nn #1#2
   { \__pdf_backend_pdfmark:n { /#1 ~ #2 /DOCINFO } }
-\int_new:N \g__pdf_backend_object_int
-\cs_new_protected:Npn \__pdf_backend_object_new:n #1
-  {
-    \int_gincr:N \g__pdf_backend_object_int
-    \int_const:cn
-      { c__pdf_object_ \tl_to_str:n {#1} _int }
-      { \g__pdf_backend_object_int }
-  }
-\cs_new:Npn \__pdf_backend_object_ref:n #1
-  { { pdf.obj \int_use:c { c__pdf_object_ \tl_to_str:n {#1} _int } } }
+\cs_new_protected:Npn \__pdf_backend_object_new:
+  { \int_gincr:N \g__pdf_backend_object_int }
+\cs_new:Npn \__pdf_backend_object_ref:n #1 { { pdf.obj #1 } }
+\cs_new_eq:NN \__pdf_backend_object_id:n \__pdf_backend_object_ref:n
 \cs_new_protected:Npn \__pdf_backend_object_write:nnn #1#2#3
   {
     \__pdf_backend_object_write_aux:nnn

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def	2024-04-30 20:02:48 UTC (rev 71139)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-dvisvgm.def}{2024-03-14}{}
+  {l3backend-dvisvgm.def}{2024-04-11}{}
   {L3 backend support: dvisvgm}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -640,8 +640,9 @@
 \cs_new_protected:Npn \__pdf_backend_destination:nnnn #1#2#3#4 { }
 \cs_new_protected:Npn \__pdf_backend_catalog_gput:nn #1#2 { }
 \cs_new_protected:Npn \__pdf_backend_info_gput:nn #1#2 { }
-\cs_new_protected:Npn \__pdf_backend_object_new:nn #1 { }
+\cs_new_protected:Npn \__pdf_backend_object_new: { }
 \cs_new:Npn \__pdf_backend_object_ref:n #1 { }
+\cs_new:Npn \__pdf_backend_object_id:n #1 { }
 \cs_new_protected:Npn \__pdf_backend_object_write:nnn #1#2#3 { }
 \cs_new_protected:Npn \__pdf_backend_object_write:nne #1#2#3 { }
 \cs_new_protected:Npn \__pdf_backend_object_now:nn #1#2 { }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def	2024-04-30 20:02:48 UTC (rev 71139)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-luatex.def}{2024-03-14}{}
+  {l3backend-luatex.def}{2024-04-11}{}
   {L3 backend support: PDF output (LuaTeX)}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -726,41 +726,38 @@
       { / #1 ~ #2 }
   }
 \prop_new:N \g__pdf_backend_object_prop
-\cs_new_protected:Npn \__pdf_backend_object_new:n #1
+\cs_new_protected:Npn \__pdf_backend_object_new:
   {
     \tex_pdfextension:D obj ~
       reserveobjnum ~
-      \int_const:cn
-        { c__pdf_object_ \tl_to_str:n {#1} _int }
-        { \tex_pdffeedback:D lastobj }
+    \int_gset:Nn \g__pdf_backend_object_int
+      { \tex_pdffeedback:D lastobj }
   }
-\cs_new:Npn \__pdf_backend_object_ref:n #1
-  { \int_use:c { c__pdf_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
+\cs_new:Npn \__pdf_backend_object_ref:n #1 { #1 ~ 0 ~ R }
+\cs_new:Npn \__pdf_backend_object_id:n #1 {#1}
 \cs_new_protected:Npn \__pdf_backend_object_write:nnn #1#2#3
   {
     \tex_immediate:D \tex_pdfextension:D obj ~
-      useobjnum ~
-      \int_use:c
-        { c__pdf_object_ \tl_to_str:n {#1} _int }
-      \__pdf_backend_object_write:nn {#2} {#3}
+      useobjnum ~ #1
+    \__pdf_backend_object_write:nn {#2} {#3}
   }
 \cs_new:Npn \__pdf_backend_object_write:nn #1#2
   {
-      \str_case:nn {#1}
-        {
-          { array } { { [ ~ \exp_not:n {#2} ~ ] } }
-          { dict }  { { << ~ \exp_not:n {#2} ~ >> } }
-          { fstream }
-            {
-              stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
-                file ~ { \__pdf_exp_not_ii:nn #2 }
-            }
-          { stream }
-            {
-              stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
-                { \__pdf_exp_not_ii:nn #2 }
-            }
-        }
+    \str_case:nn {#1}
+      {
+        { array } { { [ ~ \exp_not:n {#2} ~ ] } }
+        { dict }  { { << ~ \exp_not:n {#2} ~ >> } }
+        { fstream }
+          {
+            stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
+              file ~ { \__pdf_exp_not_ii:nn #2 }
+          }
+        { stream }
+          {
+            stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
+              { \__pdf_exp_not_ii:nn #2 }
+          }
+      }
   }
 \cs_generate_variant:Nn \__pdf_backend_object_write:nnn { nne }
 \cs_new:Npn \__pdf_exp_not_i:nn #1#2 { \exp_not:n {#1} }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def	2024-04-30 20:02:48 UTC (rev 71139)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-pdftex.def}{2024-03-14}{}
+  {l3backend-pdftex.def}{2024-04-11}{}
   {L3 backend support: PDF output (pdfTeX)}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -725,41 +725,38 @@
       { / #1 ~ #2 }
   }
 \prop_new:N \g__pdf_backend_object_prop
-\cs_new_protected:Npn \__pdf_backend_object_new:n #1
+\cs_new_protected:Npn \__pdf_backend_object_new:
   {
     \tex_pdfobj:D
       reserveobjnum ~
-      \int_const:cn
-        { c__pdf_object_ \tl_to_str:n {#1} _int }
-        { \tex_pdflastobj:D }
+    \int_gset:Nn \g__pdf_backend_object_int
+      { \tex_pdflastobj:D }
   }
-\cs_new:Npn \__pdf_backend_object_ref:n #1
-  { \int_use:c { c__pdf_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
+\cs_new:Npn \__pdf_backend_object_ref:n #1 { #1 ~ 0 ~ R }
+\cs_new:Npn \__pdf_backend_object_id:n #1 {#1}
 \cs_new_protected:Npn \__pdf_backend_object_write:nnn #1#2#3
   {
     \tex_immediate:D \tex_pdfobj:D
-      useobjnum ~
-      \int_use:c
-        { c__pdf_object_ \tl_to_str:n {#1} _int }
-      \__pdf_backend_object_write:nn {#2} {#3}
+      useobjnum ~ #1
+    \__pdf_backend_object_write:nn {#2} {#3}
   }
 \cs_new:Npn \__pdf_backend_object_write:nn #1#2
   {
-      \str_case:nn {#1}
-        {
-          { array } { { [ ~ \exp_not:n {#2} ~ ] } }
-          { dict }  { { << ~ \exp_not:n {#2} ~ >> } }
-          { fstream }
-            {
-              stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
-                file ~ { \__pdf_exp_not_ii:nn #2 }
-            }
-          { stream }
-            {
-              stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
-                { \__pdf_exp_not_ii:nn #2 }
-            }
-        }
+    \str_case:nn {#1}
+      {
+        { array } { { [ ~ \exp_not:n {#2} ~ ] } }
+        { dict }  { { << ~ \exp_not:n {#2} ~ >> } }
+        { fstream }
+          {
+            stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
+              file ~ { \__pdf_exp_not_ii:nn #2 }
+          }
+        { stream }
+          {
+            stream ~ attr ~ { \__pdf_exp_not_i:nn #2 } ~
+              { \__pdf_exp_not_ii:nn #2 }
+          }
+      }
   }
 \cs_generate_variant:Nn \__pdf_backend_object_write:nnn { nne }
 \cs_new:Npn \__pdf_exp_not_i:nn #1#2 { \exp_not:n {#1} }

Modified: trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def	2024-04-30 20:02:32 UTC (rev 71138)
+++ trunk/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def	2024-04-30 20:02:48 UTC (rev 71139)
@@ -26,7 +26,7 @@
 %% 
 %% File: l3backend-basics.dtx
 \ProvidesExplFile
-  {l3backend-xetex.def}{2024-03-14}{}
+  {l3backend-xetex.def}{2024-04-11}{}
   {L3 backend support: XeTeX}
 \cs_if_exist:NTF \__kernel_dependency_version_check:nn
   {
@@ -661,17 +661,11 @@
   { \__pdf_backend:n { put ~ @catalog << /#1 ~ #2 >> } }
 \cs_new_protected:Npn \__pdf_backend_info_gput:nn #1#2
   { \__pdf_backend:n { docinfo << /#1 ~ #2 >> } }
-\int_new:N \g__pdf_backend_object_int
 \prop_new:N \g__pdf_backend_object_prop
-\cs_new_protected:Npn \__pdf_backend_object_new:n #1
-  {
-    \int_gincr:N \g__pdf_backend_object_int
-    \int_const:cn
-      { c__pdf_object_ \tl_to_str:n {#1} _int }
-      { \g__pdf_backend_object_int }
-  }
-\cs_new:Npn \__pdf_backend_object_ref:n #1
-  { @pdf.obj \int_use:c { c__pdf_object_ \tl_to_str:n {#1} _int } }
+\cs_new_protected:Npn \__pdf_backend_object_new:
+  { \int_gincr:N \g__pdf_backend_object_int }
+\cs_new:Npn \__pdf_backend_object_ref:n #1 { @pdf.obj #1 }
+\cs_new_eq:NN \__pdf_backend_object_id:n \__pdf_backend_object_ref:n
 \cs_new_protected:Npn \__pdf_backend_object_write:nnn #1#2#3
   {
     \use:c { __pdf_backend_object_write_ #2 :nn }



More information about the tex-live-commits mailing list.