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.