[latex3-commits] [git/LaTeX3-latex3-latex3] master: \driver_pdf_object_last: (6688806)

Joseph Wright joseph.wright at morningstar2.co.uk
Thu May 30 14:34:38 CEST 2019


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/6688806bf16e6fc664a4ea898a046ea650998f7c

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

commit 6688806bf16e6fc664a4ea898a046ea650998f7c
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Thu May 30 13:34:38 2019 +0100

    \driver_pdf_object_last:


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

6688806bf16e6fc664a4ea898a046ea650998f7c
 l3kernel/l3drivers-pdf.dtx              |   31 +++++++++++++++++++++++++++++++
 l3kernel/l3drivers.dtx                  |    8 ++++++++
 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, 49 insertions(+)

diff --git a/l3kernel/l3drivers-pdf.dtx b/l3kernel/l3drivers-pdf.dtx
index efef2c9..f558d21 100644
--- a/l3kernel/l3drivers-pdf.dtx
+++ b/l3kernel/l3drivers-pdf.dtx
@@ -213,6 +213,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[EXP]{\driver_pdf_object_last:}
+%   Much like the annotation version.
+%    \begin{macrocode}
+\cs_new:Npn \driver_pdf_object_last:
+  { { driver.obj \int_use:N \g_@@_pdf_object_int } }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsubsection{Annotations}
 %
 % In \texttt{dvips}, annotations have to be constructed manually. As such,
@@ -1496,6 +1504,20 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[EXP]{\driver_pdf_object_last:}
+%   Much like annotation.
+%    \begin{macrocode}
+\cs_new:Npx \driver_pdf_object_last:
+  {
+    \exp_not:N \tex_the:D 
+    \cs_if_exist:NTF \tex_pdffeedback:D
+      { \exp_not:N \tex_pdffeedback:D lastobj }
+      { \exp_not:N \tex_pdflastobj:D }
+      0 ~ R
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsubsection{Structure}
 %
 % \begin{macro}{\driver_pdf_compresslevel:n}
@@ -1716,6 +1738,13 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\driver_pdf_object_last:}
+%    \begin{macrocode}
+\cs_new:Npn \driver_pdf_object_last:
+ { @driver.obj \int_use:N \g_@@_pdf_object_int }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsubsection{Annotations}
 %
 % \begin{variable}{\g_@@_landscape_bool}
@@ -1958,6 +1987,7 @@
 % \begin{macro}[EXP]{\driver_pdf_object_ref:n}
 % \begin{macro}{\driver_pdf_object_write:nn, , \driver_pdf_object_write:nx}
 % \begin{macro}{\driver_pdf_object_now:nn, , \driver_pdf_object_now:nx}
+% \begin{macro}{\driver_pdf_object_last:}
 %   All no-ops here.
 %    \begin{macrocode}
 \cs_new_protected:Npn \driver_pdf_object_new:nn #1#2 { }
@@ -1966,6 +1996,7 @@
 \cs_new_protected:Npn \driver_pdf_object_write:nx #1#2 { }
 \cs_new_protected:Npn \driver_pdf_object_now:nn #1#2 { }
 \cs_new_protected:Npn \driver_pdf_object_now:nx #1#2 { }
+\cs_new:Npn \driver_pdf_object_last: { }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
diff --git a/l3kernel/l3drivers.dtx b/l3kernel/l3drivers.dtx
index de1b42a..86b2930 100644
--- a/l3kernel/l3drivers.dtx
+++ b/l3kernel/l3drivers.dtx
@@ -714,6 +714,14 @@
 %   but is not referred to separately.
 % \end{function}
 %
+% \begin{function}[EXP, added = 2019-05-29]{\driver_pdf_object_last:}
+%   \begin{syntax}
+%     \cs{driver_pdf_object_last:}
+%   \end{syntax}
+%   Expands to the object reference of the last object: most useful for
+%   anonymous objects. 
+% \end{function}
+%
 % \subsection{PDF structure}
 %
 % \begin{function}{\driver_pdf_compresslevel:n}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index e2ef93a..daacbbc 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -6526,6 +6526,7 @@ Defining \__driver_exp_not_i:nn on line ...
 Defining \__driver_exp_not_ii:nn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \driver_pdf_compresslevel:n on line ...
 Defining \driver_pdf_compress_objects:n on line ...
 Defining \__driver_pdf_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 82618d8..483ed6b 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -6515,6 +6515,7 @@ Defining \__driver_pdf_object_write_stream:nn on line ...
 Defining \__driver_pdf_object_write_stream:nnnn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \g__driver_landscape_bool on line ...
 Defining \g__driver_pdf_annotation_int on line ...
 \g__driver_pdf_annotation_int=\count...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 0830706..37e9edf 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -6823,6 +6823,7 @@ Defining \__driver_exp_not_i:nn on line ...
 Defining \__driver_exp_not_ii:nn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \driver_pdf_compresslevel:n on line ...
 Defining \driver_pdf_compress_objects:n on line ...
 Defining \__driver_pdf_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 4ea5fba..f398e12 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -6812,6 +6812,7 @@ Defining \__driver_pdf_object_write_stream:nn on line ...
 Defining \__driver_pdf_object_write_stream:nnnn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \g__driver_landscape_bool on line ...
 Defining \g__driver_pdf_annotation_int on line ...
 \g__driver_pdf_annotation_int=\count...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 6ffe2a8..e8c0974 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -6526,6 +6526,7 @@ Defining \__driver_pdf_object_write_stream:nn on line ...
 Defining \__driver_pdf_object_write_stream:nnnn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \g__driver_landscape_bool on line ...
 Defining \g__driver_pdf_annotation_int on line ...
 \g__driver_pdf_annotation_int=\count...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index e2ef93a..daacbbc 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -6526,6 +6526,7 @@ Defining \__driver_exp_not_i:nn on line ...
 Defining \__driver_exp_not_ii:nn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \driver_pdf_compresslevel:n on line ...
 Defining \driver_pdf_compress_objects:n on line ...
 Defining \__driver_pdf_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 82618d8..483ed6b 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -6515,6 +6515,7 @@ Defining \__driver_pdf_object_write_stream:nn on line ...
 Defining \__driver_pdf_object_write_stream:nnnn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \g__driver_landscape_bool on line ...
 Defining \g__driver_pdf_annotation_int on line ...
 \g__driver_pdf_annotation_int=\count...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 0830706..37e9edf 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -6823,6 +6823,7 @@ Defining \__driver_exp_not_i:nn on line ...
 Defining \__driver_exp_not_ii:nn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \driver_pdf_compresslevel:n on line ...
 Defining \driver_pdf_compress_objects:n on line ...
 Defining \__driver_pdf_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 4ea5fba..f398e12 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -6812,6 +6812,7 @@ Defining \__driver_pdf_object_write_stream:nn on line ...
 Defining \__driver_pdf_object_write_stream:nnnn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \g__driver_landscape_bool on line ...
 Defining \g__driver_pdf_annotation_int on line ...
 \g__driver_pdf_annotation_int=\count...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 6ffe2a8..e8c0974 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -6526,6 +6526,7 @@ Defining \__driver_pdf_object_write_stream:nn on line ...
 Defining \__driver_pdf_object_write_stream:nnnn on line ...
 Defining \driver_pdf_object_now:nn on line ...
 Defining \driver_pdf_object_now:nx on line ...
+Defining \driver_pdf_object_last: on line ...
 Defining \g__driver_landscape_bool on line ...
 Defining \g__driver_pdf_annotation_int on line ...
 \g__driver_pdf_annotation_int=\count...





More information about the latex3-commits mailing list