[latex3-commits] [latex3/latex2e] update-pdfmanagement: update pdfmanagement to v96a (ac9b5705)

github at latex-project.org github at latex-project.org
Tue Oct 10 11:15:42 CEST 2023


Repository : https://github.com/latex3/latex2e
On branch  : update-pdfmanagement
Link       : https://github.com/latex3/latex2e/commit/ac9b570597c029844e46b9afe2a65bb62d3b8d0e

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

commit ac9b570597c029844e46b9afe2a65bb62d3b8d0e
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Tue Oct 10 11:15:42 2023 +0200

    update pdfmanagement to v96a


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

ac9b570597c029844e46b9afe2a65bb62d3b8d0e
 .../latex/pdfmanagement-testphase/color-ltx.sty    |  2 +-
 .../colorspace-patches-tmp-ltx.sty                 |  2 +-
 .../pdfmanagement-testphase/hgeneric-testphase.def | 69 ++++++++++------
 .../l3backend-testphase-dvipdfmx.def               | 93 +++++++++++++---------
 .../l3backend-testphase-dvips.def                  | 65 +++++++++------
 .../l3backend-testphase-dvisvgm.def                | 47 +++++++----
 .../l3backend-testphase-luatex.def                 | 60 +++++++++-----
 .../l3backend-testphase-pdftex.def                 | 76 +++++++++++-------
 .../l3backend-testphase-xetex.def                  | 93 +++++++++++++---------
 .../l3pdffield-testphase.sty                       | 43 ++++++----
 .../pdfmanagement-firstaid.sty                     |  3 +-
 .../pdfmanagement-testphase.ltx                    |  6 +-
 .../pdfmanagement-testphase.sty                    |  2 +-
 .../xcolor-patches-tmp-ltx.sty                     |  4 +-
 14 files changed, 353 insertions(+), 212 deletions(-)

diff --git a/texmf/tex/latex/pdfmanagement-testphase/color-ltx.sty b/texmf/tex/latex/pdfmanagement-testphase/color-ltx.sty
index ff7305d3..b04fa5aa 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/color-ltx.sty
+++ b/texmf/tex/latex/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
 %% This file has the LPPL maintenance status "maintained".
 %%
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2023-08-29 v0.95z
+\ProvidesPackage{color-ltx}[2023-10-09 v0.96a
   Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
 \edef\Gin at codes{%
  \catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/texmf/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/texmf/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index fc7f9384..6af2ce08 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/texmf/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
 %
 % for those people who are interested.
 \NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2023-08-29}{0.95z}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2023-10-09}{0.96a}
   {temporay patches to for the colorspace package to test pdfresource management ... UF}
 
 % colorspace can define more models, that l3color can't yet handle.
diff --git a/texmf/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def b/texmf/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
index 70fd178a..4c37ce15 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: hyperref-generic.dtx
-\ProvidesFile{hgeneric-testphase.def}[2023-08-29 v0.95z %
+\ProvidesFile{hgeneric-testphase.def}[2023-10-09 v0.96a %
   generic Hyperref driver for the LaTeX PDF management testphase bundle]
 
 \RequirePackage{etoolbox} %why?
@@ -173,6 +173,7 @@
   }
 \cs_generate_variant:Nn\pdf_destination:nn {nf}
 \cs_generate_variant:Nn\pdf_object_ref:n {e}
+\cs_generate_variant:Nn\pdf_pageobject_ref:n {e}
 \chardef\Hy at VersionChecked=1 %don't check the version!
 \cs_set_eq:NN \hypercalcbp \dim_to_decimal_in_bp:n
 \providecommand\@pdfborder{}
@@ -453,33 +454,51 @@
   {
     \PassOptionsToPackage{draft}{bookmark}
   }
-\cs_new_protected:Npn \__hyp_ref_label:nn #1 #2 %label/attributes
+\cs_if_exist:NTF \property_new:nnnn
   {
-    \@bsphack
-      \ref_label:nn{#1}{#2}
-    \@esphack
+    \cs_new_protected:Npn \__hyp_property_record:nn #1 #2 %label/attributes
+     {
+       \@bsphack
+         \property_record:nn{#1}{#2}
+       \@esphack
+     }
+    \prg_new_eq_conditional:NNn
+      \__hyp_property_if_recorded:nn \property_if_recorded:nn { T }
+    \cs_new_eq:NN \__hyp_property_ref_undefined_warn:nn \property_ref_undefined_warn:nn
+    \cs_new_eq:NN \__hyp_property_ref:nn \property_ref:nn
   }
-\cs_generate_variant:Nn \__hyp_ref_label:nn {en}
-\prg_new_eq_conditional:NNn \__hyp_ref_if_exist:nn \ref_if_exist:nn { p , T , F,  TF }
-\prg_generate_conditional_variant:Nnn \__hyp_ref_if_exist:nn  {en}  { p , T , F, TF }
-\cs_new_protected:Npn \__hyp_ref_check:nn #1 #2 %label/attribute
   {
-    \__hyp_ref_if_exist:nnF {#1}{#2}
+    \cs_new_protected:Npn \__hyp_property_record:nn #1 #2 %label/attributes
       {
-        \protect\G at refundefinedtrue
-        \@latex at warning
+        \@bsphack
+          \ref_label:nn{#1}{#2}
+        \@esphack
+      }
+
+    \prg_new_eq_conditional:NNn \__hyp_property_if_recorded:nn \ref_if_exist:nn { T }
+
+    \cs_new_protected:Npn \__hyp_property_ref_undefined_warn:nn #1 #2 %label/attribute
+      {
+        \__hyp_property_if_recorded:nnF {#1}{#2}
           {
-            Reference~'\tl_to_str:n {#1}'~with~attribute~'\tl_to_str:n {#2}'~
-            on~page~\thepage~\space undefined
+            \protect\G at refundefinedtrue
+            \@latex at warning
+              {
+                Reference~'\tl_to_str:n {#1}'~with~attribute~'\tl_to_str:n {#2}'~
+                on~page~\thepage~\space undefined
+              }
           }
       }
+
+    \cs_new:Npn \__hyp_property_ref:nn #1 #2
+      {
+        \ref_value:nn{#1}{#2}
+      }
   }
-\cs_generate_variant:Nn \__hyp_ref_check:nn {en}
-\cs_new:Npn \__hyp_ref_value:nn #1 #2
-  {
-    \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__hyp_ref_value:nn {en}
+\cs_generate_variant:Nn \__hyp_property_record:nn {ee}
+\prg_generate_conditional_variant:Nnn \__hyp_property_if_recorded:nn  {ee}  { T }
+\cs_generate_variant:Nn \__hyp_property_ref_undefined_warn:nn {ee}
+\cs_generate_variant:Nn \__hyp_property_ref:nn {ee}
 \box_new:N \l__hyp_tmpa_box
 \tl_new:N  \l__hyp_tmpa_tl
 \seq_new:N \l__hyp_tmpa_seq
@@ -2560,16 +2579,16 @@
     %\zref at labelbyprops{HyAnn@\the\HyAnn at Count}{abspage}%
     %\zref at labelbylist {HyAnn@\the\HyAnn at Count} {l3pdf}
     %\zref at refused{HyAnn@\the\HyAnn at Count}%
-    \__hyp_ref_label:en {HyAnn@\the\HyAnn at Count}{abspage}
-    \__hyp_ref_check:en {HyAnn@\the\HyAnn at Count}{abspage}
+    \__hyp_property_record:ee {HyAnn@\the\HyAnn at Count}{abspage}
+    \__hyp_property_ref_undefined_warn:ee {HyAnn@\the\HyAnn at Count}{abspage}
   }%
 \def\Fld at pageobjref
   {
-    \__hyp_ref_if_exist:enT {HyAnn@\the\HyAnn at Count}{abspage}
+    \__hyp_property_if_recorded:eeT {HyAnn@\the\HyAnn at Count}{abspage}
       {
-        /P~\pdf_pageobject_ref:n
+        /P~\pdf_pageobject_ref:e
           {
-            \__hyp_ref_value:en{HyAnn@\the\HyAnn at Count}{abspage}
+            \__hyp_property_ref:ee{HyAnn@\the\HyAnn at Count}{abspage}
           }
       }
   }
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
index c56535df..2014531e 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
@@ -20,8 +20,10 @@
 %% 
 %% File: l3backend-testphase.dtx
 \ProvidesExplFile
-  {l3backend-testphase-dvipdfmx.def}{2023-08-29}{}
+  {l3backend-testphase-dvipdfmx.def}{2023-10-09}{}
   {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
+\cs_generate_variant:Nn \__kernel_backend_literal:n { e }
+\cs_generate_variant:Nn \__pdf_backend:n { e }
 \bool_if:NT \l__pdfmanagement_delayed_shipout_bool
  {
    \cs_new_protected:Npn \__kernel_backend_shipout_literal:e #1
@@ -29,21 +31,37 @@
  }
 
 \RequirePackage{l3ref-tmp}
-\cs_generate_variant:Nn \ref_label:nn {en}
-\cs_generate_variant:Nn \ref_value:nn {en}
-\cs_new_protected:Npn \__pdf_backend_ref_label:nn #1 #2
-  {
-     \@bsphack
-     \ref_label:nn{#1}{abspage}
-     \@esphack
-  }
-\cs_new:Npn \__pdf_backend_ref_value:nn #1 #2
-  {
-     \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__pdf_backend_ref_label:nn {en}
-\cs_generate_variant:Nn \__pdf_backend_ref_value:nn {en}
-    \__kernel_backend_literal:x { dvipdfmx:config~C~ 0x0010 }
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+     {
+        \@bsphack
+        \property_record:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+     {
+        \property_ref:nn{#1}{abspage}
+     }
+
+ }
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+    %% \__pdf_backend_ref_label:nn #1 #2
+     {
+        \@bsphack
+        \ref_label:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+    %% \__pdf_backend_ref_value:nn #1 #2
+     {
+        \ref_value:nn{#1}{abspage}
+     }
+ }
+\cs_generate_variant:Nn \__pdf_backend_record_abspage:n {e}
+\cs_generate_variant:Nn \__pdf_backend_ref_abspage:n {e}
+    \__kernel_backend_literal:n { dvipdfmx:config~C~ 0x0010 }
 \prop_new:N \g__pdf_tmpa_prop
 \tl_new:N   \l__pdf_tmpa_tl
 \box_new:N  \l__pdf_backend_tmpa_box
@@ -113,9 +131,10 @@
   %issues the values stored in the global prop with dvi
 \cs_new_protected:Npn \__pdf_backend_ThisPage_gpush:n #1
   {
-    \exp_args:Nx \__pdf_backend_Page_primitive:n
+    \__pdf_backend_Page_primitive:e
       { \pdfdict_use:n { g__pdf_Core/Page} }
   }
+\cs_generate_variant:Nn \__pdf_backend_Page_primitive:n { e }
 \clist_const:Nn \c__pdf_backend_PageResources_clist
   {
     ExtGState,
@@ -139,11 +158,10 @@
 \cs_new_protected:Npn \__pdf_backend_PageResources_gput:nnn #1 #2 #3
   {
    % this is not used for output, but there is a test if the resource is empty
-   \exp_args:Nnx
-   \prop_gput:cnn { \__kernel_pdfdict_name:n { g__pdf_Core/Page/Resources/#1} }
+   \prop_gput:cne { \__kernel_pdfdict_name:n { g__pdf_Core/Page/Resources/#1} }
      { \str_convert_pdfname:n {#2} }{ #3 }
    %objects are not filled with \pdf_object_write as this is not additive!
-    \__pdf_backend:x
+    \__pdf_backend:e
       {
         put~\__pdf_backend_object_ref:n {__pdf/Page/Resources/#1}<</#2~#3>>
       }
@@ -155,11 +173,11 @@
  \cs_set_protected:Npn \__pdf_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
    {
      \int_gincr:N \g__pdf_backend_name_int
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:code~/#1/l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC
        }
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:put~@resources~
            <<
@@ -174,11 +192,11 @@
  \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1  % #1 eg. Span
    {
      \int_gincr:N \g__pdf_backend_name_int
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:code~/\exp_not:n{#1}/l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC
        }
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:put~@resources~
            <<
@@ -234,7 +252,7 @@
       {
         \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Page/Resources/##1} }
           {
-            \__kernel_backend_literal:x
+            \__kernel_backend_literal:e
               {
                 pdf:put~@resources~
                   <</##1~\__pdf_backend_object_ref:n {__pdf/Page/Resources/##1}>>
@@ -245,7 +263,7 @@
 \cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
   {
      \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
-     \__pdf_backend:x {put~@names~<</#1~\pdf_object_ref_last: >>}
+     \__pdf_backend:e {put~@names~<</#1~\pdf_object_ref_last: >>}
   }
 
 \cs_new_protected:Npn  \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
@@ -298,7 +316,7 @@
          \hook_gput_next_code:nn {shipout/background}
            {
              \mode_leave_vertical: %needed, the xform disappears without it.
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  bxobj  ~ \__pdf_backend_xform_ref:n  { #1 }
                  \c_space_tl width  ~ \pdfxform_wd:n { #1 }
@@ -306,29 +324,29 @@
                  \c_space_tl depth  ~ \pdfxform_dp:n { #1 }
                }
              \box_use_drop:c { g__pdf_backend_xform_#1_box }
-             \__pdf_backend:x {put ~ @resources ~<<#3>> }
-             \__pdf_backend:x
+             \__pdf_backend:e {put ~ @resources ~<<#3>> }
+             \__pdf_backend:e
                {
                  put~ @resources ~
                    <<
                      /ExtGState~ \pdf_object_ref:n { __pdf/Page/Resources/ExtGState }
                    >>
                }
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  put~ @resources ~
                  <<
                    /Pattern~ \pdf_object_ref:n { __pdf/Page/Resources/Pattern }
                  >>
                }
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  put~ @resources ~
                  <<
                    /Shading~ \pdf_object_ref:n { __pdf/Page/Resources/Shading }
                  >>
                }
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  put~ @resources ~
                  <<
@@ -336,8 +354,7 @@
                    \pdf_object_ref:n { __pdf/Page/Resources/ColorSpace }
                  >>
                }
-             \exp_args:Nx
-             \__pdf_backend:x {exobj ~<<#2>>}
+             \__pdf_backend:e {exobj ~<<#2>>}
            }
       }
 
@@ -350,7 +367,7 @@
      {
        \hbox_set:Nn \l__pdf_backend_tmpa_box
          {
-           \__pdf_backend:x
+           \__pdf_backend:e
              {
                uxobj~ \__pdf_backend_xform_ref:n { #1 }
              }
@@ -381,7 +398,7 @@
 \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw  \__pdf_backend_link_begin_goto:nnw
 \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2
   {
-    \__pdf_backend:x
+    \__pdf_backend:e
       {
         dest ~ ( \exp_not:n {#1} )
         [
@@ -402,7 +419,7 @@
       }
     \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
       {
-        \__pdf_backend:x
+        \__pdf_backend:e
          {
           obj ~ @pdf.SDest.\exp_not:n{#1}
           [
@@ -453,7 +470,7 @@
               }
             \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
               {
-                \__pdf_backend:x
+                \__pdf_backend:e
                   {
                     obj ~ @pdf.SDest.\exp_not:n{#2}
                     [
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
index 78b8bde4..8b4d25ef 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
@@ -20,8 +20,10 @@
 %% 
 %% File: l3backend-testphase.dtx
 \ProvidesExplFile
-  {l3backend-testphase-dvips.def}{2023-08-29}{}
+  {l3backend-testphase-dvips.def}{2023-10-09}{}
   {LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
+\cs_generate_variant:Nn \__kernel_backend_postscript:n { e }
+\cs_generate_variant:Nn \__pdf_backend_pdfmark:n { e }
 \bool_if:NT \l__pdfmanagement_delayed_shipout_bool
  {
    \cs_new_protected:Npn \__kernel_backend_shipout_literal:e #1
@@ -29,20 +31,36 @@
  }
 
 \RequirePackage{l3ref-tmp}
-\cs_generate_variant:Nn \ref_label:nn {en}
-\cs_generate_variant:Nn \ref_value:nn {en}
-\cs_new_protected:Npn \__pdf_backend_ref_label:nn #1 #2
-  {
-     \@bsphack
-     \ref_label:nn{#1}{abspage}
-     \@esphack
-  }
-\cs_new:Npn \__pdf_backend_ref_value:nn #1 #2
-  {
-     \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__pdf_backend_ref_label:nn {en}
-\cs_generate_variant:Nn \__pdf_backend_ref_value:nn {en}
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+     {
+        \@bsphack
+        \property_record:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+     {
+        \property_ref:nn{#1}{abspage}
+     }
+
+ }
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+    %% \__pdf_backend_ref_label:nn #1 #2
+     {
+        \@bsphack
+        \ref_label:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+    %% \__pdf_backend_ref_value:nn #1 #2
+     {
+        \ref_value:nn{#1}{abspage}
+     }
+ }
+\cs_generate_variant:Nn \__pdf_backend_record_abspage:n {e}
+\cs_generate_variant:Nn \__pdf_backend_ref_abspage:n {e}
 \prop_new:N \g__pdf_tmpa_prop
 \tl_new:N   \l__pdf_tmpa_tl
 \box_new:N  \l__pdf_backend_tmpa_box
@@ -111,9 +129,10 @@
   %issues the values stored in the global prop with dvi
 \cs_new_protected:Npn \__pdf_backend_ThisPage_gpush:n #1
   {
-    \exp_args:Nx \__pdf_backend_Page_primitive:n
-          { \pdfdict_use:n { g__pdf_Core/Page} }
+    \__pdf_backend_Page_primitive:e
+      { \pdfdict_use:n { g__pdf_Core/Page} }
   }
+\cs_generate_variant:Nn \__pdf_backend_Page_primitive:n { e }
 \clist_const:Nn \c__pdf_backend_PageResources_clist
   {
     ExtGState,
@@ -144,11 +163,11 @@
 
 \cs_set_protected:Npn \__pdf_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
   {
-    \__pdf_backend_pdfmark:x{/#1~\__pdf_backend_object_ref:n{#2}~/BDC}
+    \__pdf_backend_pdfmark:e{/#1~\__pdf_backend_object_ref:n{#2}~/BDC}
   }
 \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1  % #1 eg. Span,
   {
-    \__pdf_backend_pdfmark:x{/#1~\__pdf_backend_object_last:~/BDC}
+    \__pdf_backend_pdfmark:e{/#1~\__pdf_backend_object_last:~/BDC}
   }
 \cs_set_protected:Npn \__pdf_backend_emc:
   {
@@ -165,7 +184,7 @@
 \cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2  {}
 \cs_new_protected:Npn  \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2
       {
-        \__pdf_backend_pdfmark:x
+        \__pdf_backend_pdfmark:e
           {
             /Name~#1~
             /FS~#2~
@@ -220,7 +239,7 @@
     %\box_scale:Nnn \l__pdf_backend_tmpa_box {1} {-1}
     \hbox_set:Nn\l__pdf_backend_tmpb_box
       {
-        \__kernel_backend_postscript:x
+        \__kernel_backend_postscript:e
           {
             gsave~currentpoint~
             initclip~ % restore default clipping path (page device/whole page)
@@ -248,7 +267,7 @@
           }
        \str_if_eq:eeF{#1}{}
          {
-           \__kernel_backend_postscript:x
+           \__kernel_backend_postscript:e
              {
                product~(Ghostscript)~search~
                 {
@@ -274,7 +293,7 @@
   {
     \hbox_set:Nn \l__pdf_backend_tmpa_box
       {
-        \__kernel_backend_postscript:x
+        \__kernel_backend_postscript:e
          {
            gsave~currentpoint~translate~1~-1~scale~
            mark~{ pdf.obj \int_use:c{c__pdf_backend_xform_ \tl_to_str:n {#1} _int }}~
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
index 19b003dc..7420d8d2 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
@@ -20,7 +20,7 @@
 %% 
 %% File: l3backend-testphase.dtx
 \ProvidesExplFile
-  {l3backend-testphase-dvisvgm.def}{2023-08-29}{}
+  {l3backend-testphase-dvisvgm.def}{2023-10-09}{}
   {LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
 \bool_if:NT \l__pdfmanagement_delayed_shipout_bool
  {
@@ -29,20 +29,36 @@
  }
 
 \RequirePackage{l3ref-tmp}
-\cs_generate_variant:Nn \ref_label:nn {en}
-\cs_generate_variant:Nn \ref_value:nn {en}
-\cs_new_protected:Npn \__pdf_backend_ref_label:nn #1 #2
-  {
-     \@bsphack
-     \ref_label:nn{#1}{abspage}
-     \@esphack
-  }
-\cs_new:Npn \__pdf_backend_ref_value:nn #1 #2
-  {
-     \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__pdf_backend_ref_label:nn {en}
-\cs_generate_variant:Nn \__pdf_backend_ref_value:nn {en}
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+     {
+        \@bsphack
+        \property_record:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+     {
+        \property_ref:nn{#1}{abspage}
+     }
+
+ }
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+    %% \__pdf_backend_ref_label:nn #1 #2
+     {
+        \@bsphack
+        \ref_label:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+    %% \__pdf_backend_ref_value:nn #1 #2
+     {
+        \ref_value:nn{#1}{abspage}
+     }
+ }
+\cs_generate_variant:Nn \__pdf_backend_record_abspage:n {e}
+\cs_generate_variant:Nn \__pdf_backend_ref_abspage:n {e}
 \prop_new:N \g__pdf_tmpa_prop
 \tl_new:N   \l__pdf_tmpa_tl
 \box_new:N  \l__pdf_backend_tmpa_box
@@ -90,6 +106,7 @@
   %the code to push the values, used in shipout
 \cs_new_protected:Npn \__pdf_backend_ThisPage_gpush:n #1
   {}
+\cs_generate_variant:Nn \__pdf_backend_Page_primitive:n { e }
 \clist_const:Nn \c__pdf_backend_PageResources_clist
   {
     ExtGState,
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
index f8d496ad..47210ec3 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
@@ -20,8 +20,9 @@
 %% 
 %% File: l3backend-testphase.dtx
 \ProvidesExplFile
-  {l3backend-testphase-luatex.def}{2023-08-29}{}
+  {l3backend-testphase-luatex.def}{2023-10-09}{}
   {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
+\cs_generate_variant:Nn \__kernel_backend_literal_page:n { e }
 \bool_if:NT \l__pdfmanagement_delayed_shipout_bool
  {
    \cs_new_protected:Npn \__kernel_backend_shipout_literal:e #1
@@ -39,20 +40,36 @@
  }
 
 \RequirePackage{l3ref-tmp}
-\cs_generate_variant:Nn \ref_label:nn {en}
-\cs_generate_variant:Nn \ref_value:nn {en}
-\cs_new_protected:Npn \__pdf_backend_ref_label:nn #1 #2
-  {
-     \@bsphack
-     \ref_label:nn{#1}{abspage}
-     \@esphack
-  }
-\cs_new:Npn \__pdf_backend_ref_value:nn #1 #2
-  {
-     \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__pdf_backend_ref_label:nn {en}
-\cs_generate_variant:Nn \__pdf_backend_ref_value:nn {en}
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+     {
+        \@bsphack
+        \property_record:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+     {
+        \property_ref:nn{#1}{abspage}
+     }
+
+ }
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+    %% \__pdf_backend_ref_label:nn #1 #2
+     {
+        \@bsphack
+        \ref_label:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+    %% \__pdf_backend_ref_value:nn #1 #2
+     {
+        \ref_value:nn{#1}{abspage}
+     }
+ }
+\cs_generate_variant:Nn \__pdf_backend_record_abspage:n {e}
+\cs_generate_variant:Nn \__pdf_backend_ref_abspage:n {e}
 \prop_new:N \g__pdf_tmpa_prop
 \tl_new:N   \l__pdf_tmpa_tl
 \box_new:N  \l__pdf_backend_tmpa_box
@@ -160,6 +177,7 @@
       }
   }
 
+\cs_generate_variant:Nn \__pdf_backend_Page_primitive:n { e }
 \clist_const:Nn \c__pdf_backend_PageResources_clist
   {
     ExtGState,
@@ -207,17 +225,17 @@
 \cs_set_protected:Npn \__pdf_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
   {
     \int_gincr:N \g__pdf_backend_name_int
-    \exp_args:Nx\__kernel_backend_literal_page:n
+    \__kernel_backend_literal_page:e
       { /#1 ~ /l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC }
     \bool_if:NTF \l__pdf_backend_xform_bool
       {
-        \exp_args:Nnx\pdfdict_gput:nnn
+        \pdfdict_gput:nee
           { g__pdf_Core/Xform/Resources/Properties }
           { l3pdf\int_use:N\g__pdf_backend_name_int }
           { \__pdf_backend_object_ref:n { #2 } }
       }
       {
-        \exp_args:Nx \tex_latelua:D
+        \exp_args:Ne \tex_latelua:D
           {
             ltx.pdf.Page_Resources_Properties_gput
               (
@@ -231,17 +249,17 @@
 \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1% #1 eg. Span
   {
     \int_gincr:N \g__pdf_backend_name_int
-    \exp_args:Nx\__kernel_backend_literal_page:n
+    \__kernel_backend_literal_page:e
       { /\exp_not:n{#1} ~ /l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC }
     \bool_if:NTF \l__pdf_backend_xform_bool
       {
-        \exp_args:Nnx\pdfdict_gput:nnn %no handler needed
+        \pdfdict_gput:nee %no handler needed
           { g__pdf_Core/Xform/Resources/Properties }
           { l3pdf\int_use:N\g__pdf_backend_name_int }
           { \__pdf_backend_object_last: }
       }
       {
-        \exp_args:Nx \tex_latelua:D
+        \exp_args:Ne \tex_latelua:D
           {
             ltx.pdf.Page_Resources_Properties_gput
               (
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
index 08ff703a..71e598bf 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
@@ -20,8 +20,9 @@
 %% 
 %% File: l3backend-testphase.dtx
 \ProvidesExplFile
-  {l3backend-testphase-pdftex.def}{2023-08-29}{}
+  {l3backend-testphase-pdftex.def}{2023-10-09}{}
   {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
+\cs_generate_variant:Nn \__kernel_backend_literal_page:n { e }
 \bool_if:NT \l__pdfmanagement_delayed_shipout_bool
  {
    \cs_new_protected:Npn \__kernel_backend_shipout_literal:e #1
@@ -39,20 +40,36 @@
  }
 
 \RequirePackage{l3ref-tmp}
-\cs_generate_variant:Nn \ref_label:nn {en}
-\cs_generate_variant:Nn \ref_value:nn {en}
-\cs_new_protected:Npn \__pdf_backend_ref_label:nn #1 #2
-  {
-     \@bsphack
-     \ref_label:nn{#1}{abspage}
-     \@esphack
-  }
-\cs_new:Npn \__pdf_backend_ref_value:nn #1 #2
-  {
-     \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__pdf_backend_ref_label:nn {en}
-\cs_generate_variant:Nn \__pdf_backend_ref_value:nn {en}
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+     {
+        \@bsphack
+        \property_record:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+     {
+        \property_ref:nn{#1}{abspage}
+     }
+
+ }
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+    %% \__pdf_backend_ref_label:nn #1 #2
+     {
+        \@bsphack
+        \ref_label:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+    %% \__pdf_backend_ref_value:nn #1 #2
+     {
+        \ref_value:nn{#1}{abspage}
+     }
+ }
+\cs_generate_variant:Nn \__pdf_backend_record_abspage:n {e}
+\cs_generate_variant:Nn \__pdf_backend_ref_abspage:n {e}
 \prop_new:N \g__pdf_tmpa_prop
 \tl_new:N   \l__pdf_tmpa_tl
 \box_new:N  \l__pdf_backend_tmpa_box
@@ -104,10 +121,10 @@
   {
     %we need to know the page the resource should be added too.
     \int_gincr:N\g__pdf_backend_resourceid_int
-    \__pdf_backend_ref_label:en { l3pdf\int_use:N\g__pdf_backend_resourceid_int }{abspage}
+    \__pdf_backend_record_abspage:e { l3pdf\int_use:N\g__pdf_backend_resourceid_int }
     \tl_set:Nx \l__pdf_tmpa_tl
       {
-        \__pdf_backend_ref_value:en {l3pdf\int_use:N\g__pdf_backend_resourceid_int}{abspage}
+        \__pdf_backend_ref_abspage:e {l3pdf\int_use:N\g__pdf_backend_resourceid_int}
       }
     \pdfdict_if_exist:nF { g__pdf_Core/backend_Page\l__pdf_tmpa_tl}
       {
@@ -126,11 +143,12 @@
             \prop_gput:Nnn \g__pdf_tmpa_prop { ##1 }{ ##2 }
           }
       }
-    \exp_args:Nx \__pdf_backend_Page_primitive:n
+    \__pdf_backend_Page_primitive:e
       {
         \prop_map_function:NN \g__pdf_tmpa_prop \pdfdict_item:ne
       }
   }
+\cs_generate_variant:Nn \__pdf_backend_Page_primitive:n { e }
 \clist_const:Nn \c__pdf_backend_PageResources_clist
   {
     ExtGState,
@@ -173,28 +191,28 @@
 \cs_set_protected:Npn \__pdf_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
   {
     \int_gincr:N \g__pdf_backend_name_int
-    \exp_args:Nx\__kernel_backend_literal_page:n
+    \__kernel_backend_literal_page:e
       { /#1 ~ /l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC }
     % code to set the property ....
     \int_gincr:N\g__pdf_backend_resourceid_int
     \bool_if:NTF \l__pdf_backend_xform_bool
       {
-        \exp_args:Nnxx\pdfdict_gput:nnn %no handler needed
+        \pdfdict_gput:nee %no handler needed
           { g__pdf_Core/Xform/Resources/Properties }
           { l3pdf\int_use:N\g__pdf_backend_resourceid_int }
           { \__pdf_backend_object_ref:n { #2 } }
       }
       {
-        \__pdf_backend_ref_label:en{l3pdf\int_use:N\g__pdf_backend_resourceid_int}{abspage}
+        \__pdf_backend_record_abspage:e {l3pdf\int_use:N\g__pdf_backend_resourceid_int}
         \tl_set:Nx \l__pdf_tmpa_tl
           {
-            \__pdf_backend_ref_value:en{l3pdf\int_use:N\g__pdf_backend_resourceid_int}{abspage}
+            \__pdf_backend_ref_abspage:e{l3pdf\int_use:N\g__pdf_backend_resourceid_int}
           }
         \pdfdict_if_exist:nF { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties }
           {
             \pdfdict_new:n { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties }
           }
-        \exp_args:Nnxx\pdfdict_gput:nnn
+        \pdfdict_gput:nee
           { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties }
           { l3pdf\int_use:N\g__pdf_backend_resourceid_int }
           { \__pdf_backend_object_ref:n{#2} }
@@ -203,28 +221,28 @@
 \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1% #1 eg. Span
   {
     \int_gincr:N \g__pdf_backend_name_int
-    \exp_args:Nx\__kernel_backend_literal_page:n
+    \__kernel_backend_literal_page:e
       { /\exp_not:n{#1} ~ /l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC }
     % code to set the property ....
     \int_gincr:N\g__pdf_backend_resourceid_int
     \bool_if:NTF \l__pdf_backend_xform_bool
       {
-        \exp_args:Nnxx\pdfdict_gput:nnn
+        \pdfdict_gput:nee
           { g__pdf_Core/Xform/Resources/Properties }
           { l3pdf\int_use:N\g__pdf_backend_resourceid_int }
           { \__pdf_backend_object_last: }
       }
       {
-        \__pdf_backend_ref_label:en{l3pdf\int_use:N\g__pdf_backend_resourceid_int}{abspage}
+        \__pdf_backend_record_abspage:e{l3pdf\int_use:N\g__pdf_backend_resourceid_int}
         \tl_set:Nx \l__pdf_tmpa_tl
           {
-            \__pdf_backend_ref_value:en{l3pdf\int_use:N\g__pdf_backend_resourceid_int}{abspage}
+            \__pdf_backend_ref_abspage:e{l3pdf\int_use:N\g__pdf_backend_resourceid_int}
           }
         \pdfdict_if_exist:nF { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties }
           {
             \pdfdict_new:n { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties }
           }
-        \exp_args:Nnxx\pdfdict_gput:nnn
+        \pdfdict_gput:nee
           { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties }
           { l3pdf\int_use:N\g__pdf_backend_resourceid_int }
           { \__pdf_backend_object_last: }
@@ -277,7 +295,7 @@
 
 \cs_new_protected:Npn \__pdf_backend_PageResources_gpush:n #1
   {
-     \exp_args:NNx \tex_global:D \tex_pdfpageresources:D
+     \exp_args:NNe \tex_global:D \tex_pdfpageresources:D
        {
          \prop_if_exist:cT
            { \__kernel_pdfdict_name:n { g__pdf_Core/backend_Page#1/Resources/Properties } }
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
index 295ff980..095c557b 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
@@ -20,8 +20,10 @@
 %% 
 %% File: l3backend-testphase.dtx
 \ProvidesExplFile
-  {l3backend-testphase-xetex.def}{2023-08-29}{}
+  {l3backend-testphase-xetex.def}{2023-10-09}{}
   {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
+\cs_generate_variant:Nn \__kernel_backend_literal:n { e }
+\cs_generate_variant:Nn \__pdf_backend:n { e }
 \bool_if:NT \l__pdfmanagement_delayed_shipout_bool
  {
    \cs_new_protected:Npn \__kernel_backend_shipout_literal:e #1
@@ -29,21 +31,37 @@
  }
 
 \RequirePackage{l3ref-tmp}
-\cs_generate_variant:Nn \ref_label:nn {en}
-\cs_generate_variant:Nn \ref_value:nn {en}
-\cs_new_protected:Npn \__pdf_backend_ref_label:nn #1 #2
-  {
-     \@bsphack
-     \ref_label:nn{#1}{abspage}
-     \@esphack
-  }
-\cs_new:Npn \__pdf_backend_ref_value:nn #1 #2
-  {
-     \ref_value:nn{#1}{#2}
-  }
-\cs_generate_variant:Nn \__pdf_backend_ref_label:nn {en}
-\cs_generate_variant:Nn \__pdf_backend_ref_value:nn {en}
-    \__kernel_backend_literal:x { dvipdfmx:config~C~ 0x0010 }
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+     {
+        \@bsphack
+        \property_record:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+     {
+        \property_ref:nn{#1}{abspage}
+     }
+
+ }
+ {
+   \cs_new_protected:Npn \__pdf_backend_record_abspage:n #1
+    %% \__pdf_backend_ref_label:nn #1 #2
+     {
+        \@bsphack
+        \ref_label:nn{#1}{abspage}
+        \@esphack
+     }
+   \cs_new:Npn \__pdf_backend_ref_abspage:n #1
+    %% \__pdf_backend_ref_value:nn #1 #2
+     {
+        \ref_value:nn{#1}{abspage}
+     }
+ }
+\cs_generate_variant:Nn \__pdf_backend_record_abspage:n {e}
+\cs_generate_variant:Nn \__pdf_backend_ref_abspage:n {e}
+    \__kernel_backend_literal:n { dvipdfmx:config~C~ 0x0010 }
 \prop_new:N \g__pdf_tmpa_prop
 \tl_new:N   \l__pdf_tmpa_tl
 \box_new:N  \l__pdf_backend_tmpa_box
@@ -113,9 +131,10 @@
   %issues the values stored in the global prop with dvi
 \cs_new_protected:Npn \__pdf_backend_ThisPage_gpush:n #1
   {
-    \exp_args:Nx \__pdf_backend_Page_primitive:n
+    \__pdf_backend_Page_primitive:e
       { \pdfdict_use:n { g__pdf_Core/Page} }
   }
+\cs_generate_variant:Nn \__pdf_backend_Page_primitive:n { e }
 \clist_const:Nn \c__pdf_backend_PageResources_clist
   {
     ExtGState,
@@ -139,11 +158,10 @@
 \cs_new_protected:Npn \__pdf_backend_PageResources_gput:nnn #1 #2 #3
   {
    % this is not used for output, but there is a test if the resource is empty
-   \exp_args:Nnx
-   \prop_gput:cnn { \__kernel_pdfdict_name:n { g__pdf_Core/Page/Resources/#1} }
+   \prop_gput:cne { \__kernel_pdfdict_name:n { g__pdf_Core/Page/Resources/#1} }
      { \str_convert_pdfname:n {#2} }{ #3 }
    %objects are not filled with \pdf_object_write as this is not additive!
-    \__pdf_backend:x
+    \__pdf_backend:e
       {
         put~\__pdf_backend_object_ref:n {__pdf/Page/Resources/#1}<</#2~#3>>
       }
@@ -155,11 +173,11 @@
  \cs_set_protected:Npn \__pdf_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name
    {
      \int_gincr:N \g__pdf_backend_name_int
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:code~/#1/l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC
        }
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:put~@resources~
            <<
@@ -174,11 +192,11 @@
  \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1  % #1 eg. Span
    {
      \int_gincr:N \g__pdf_backend_name_int
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:code~/\exp_not:n{#1}/l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl BDC
        }
-     \__kernel_backend_literal:x
+     \__kernel_backend_literal:e
        {
          pdf:put~@resources~
            <<
@@ -234,7 +252,7 @@
       {
         \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Page/Resources/##1} }
           {
-            \__kernel_backend_literal:x
+            \__kernel_backend_literal:e
               {
                 pdf:put~@resources~
                   <</##1~\__pdf_backend_object_ref:n {__pdf/Page/Resources/##1}>>
@@ -245,7 +263,7 @@
 \cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
   {
      \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
-     \__pdf_backend:x {put~@names~<</#1~\pdf_object_ref_last: >>}
+     \__pdf_backend:e {put~@names~<</#1~\pdf_object_ref_last: >>}
   }
 
 \cs_new_protected:Npn  \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
@@ -298,7 +316,7 @@
          \hook_gput_next_code:nn {shipout/background}
            {
              \mode_leave_vertical: %needed, the xform disappears without it.
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  bxobj  ~ \__pdf_backend_xform_ref:n  { #1 }
                  \c_space_tl width  ~ \pdfxform_wd:n { #1 }
@@ -306,29 +324,29 @@
                  \c_space_tl depth  ~ \pdfxform_dp:n { #1 }
                }
              \box_use_drop:c { g__pdf_backend_xform_#1_box }
-             \__pdf_backend:x {put ~ @resources ~<<#3>> }
-             \__pdf_backend:x
+             \__pdf_backend:e {put ~ @resources ~<<#3>> }
+             \__pdf_backend:e
                {
                  put~ @resources ~
                    <<
                      /ExtGState~ \pdf_object_ref:n { __pdf/Page/Resources/ExtGState }
                    >>
                }
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  put~ @resources ~
                  <<
                    /Pattern~ \pdf_object_ref:n { __pdf/Page/Resources/Pattern }
                  >>
                }
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  put~ @resources ~
                  <<
                    /Shading~ \pdf_object_ref:n { __pdf/Page/Resources/Shading }
                  >>
                }
-             \__pdf_backend:x
+             \__pdf_backend:e
                {
                  put~ @resources ~
                  <<
@@ -336,8 +354,7 @@
                    \pdf_object_ref:n { __pdf/Page/Resources/ColorSpace }
                  >>
                }
-             \exp_args:Nx
-             \__pdf_backend:x {exobj ~<<#2>>}
+             \__pdf_backend:e {exobj ~<<#2>>}
            }
       }
 
@@ -350,7 +367,7 @@
      {
        \hbox_set:Nn \l__pdf_backend_tmpa_box
          {
-           \__pdf_backend:x
+           \__pdf_backend:e
              {
                uxobj~ \__pdf_backend_xform_ref:n { #1 }
              }
@@ -381,7 +398,7 @@
 \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw  \__pdf_backend_link_begin_goto:nnw
 \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2
   {
-    \__pdf_backend:x
+    \__pdf_backend:e
       {
         dest ~ ( \exp_not:n {#1} )
         [
@@ -402,7 +419,7 @@
       }
     \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
       {
-        \__pdf_backend:x
+        \__pdf_backend:e
          {
           obj ~ @pdf.SDest.\exp_not:n{#1}
           [
@@ -453,7 +470,7 @@
               }
             \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
               {
-                \__pdf_backend:x
+                \__pdf_backend:e
                   {
                     obj ~ @pdf.SDest.\exp_not:n{#2}
                     [
diff --git a/texmf/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty b/texmf/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
index 65dde6e8..8be75cd6 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
+++ b/texmf/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
@@ -27,7 +27,7 @@
 %% File: l3pdffield.dtx
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2023-08-29}{0.95z}%
+\ProvidesExplPackage{l3pdffield-testphase}{2023-10-09}{0.96a}%
   {form fields}
 \csname HyField at NeedAppearancesfalse\endcsname % suppress NeedAppearances
 \str_new:N \l__pdffield_tmpa_str
@@ -1169,12 +1169,28 @@
       }
     \cs_gset_eq:NN \__pdffield_radio_default_appearances: \prg_do_nothing:
   }
-\ref_attribute_gset:nnnn {pdfradioindex}{0}{now}
-  {
-    \int_use:N\l__pdffield_radio_value_num_int
-  }
-\cs_generate_variant:Nn \ref_label:nn {V}
-\cs_generate_variant:Nn \ref_value:nn {V}
+\cs_if_exist:NTF \property_new:nnnn
+ {
+   \property_new:nnnn {pdfradioindex}{now}
+     {0}
+     {
+       \int_use:N\l__pdffield_radio_value_num_int
+     }
+   \cs_new_eq:NN \__pdffield_property_record:nn \property_record:nn
+   \cs_new_eq:NN \__pdffield_property_ref:nn    \property_ref:nn
+ }
+ {
+   \ref_attribute_gset:nnnn {pdfradioindex}{0}{now}
+    {
+     \int_use:N\l__pdffield_radio_value_num_int
+    }
+   \cs_new_eq:NN \__pdffield_property_record:nn \ref_label:nn
+   \cs_new_eq:NN \__pdffield_property_ref:nn    \ref_value:nn
+ }
+
+ \cs_generate_variant:Nn \__pdffield_property_record:nn {V}
+ \cs_generate_variant:Nn \__pdffield_property_ref:nn {V}
+
 \cs_new_protected:Npn \__pdffield_radio_field:n #1 %name
   {
     \pdf_object_if_exist:nF {__pdffield/field/__pdffield/radio/#1}
@@ -1188,8 +1204,8 @@
               {__pdffield/field/__pdffield/radio-Opt/#1} { array }
               {\seq_use:cn {g__pdffield_radio_opt_#1_seq}{~}}
           }
-        \pdfdict_put:nnx { l__pdffield/field }{V}  { /\ref_value:nn{#1}{pdfradioindex} }
-        \pdfdict_put:nnx { l__pdffield/field }{DV} { /\ref_value:nn{#1}{pdfradioindex} }
+        \pdfdict_put:nnx { l__pdffield/field }{V}  { /\__pdffield_property_ref:nn{#1}{pdfradioindex} }
+        \pdfdict_put:nnx { l__pdffield/field }{DV} { /\__pdffield_property_ref:nn{#1}{pdfradioindex} }
         \__pdffield_field:n { __pdffield/radio/#1 }
     \bool_if:NF \l__pdffield_radio_unison_bool
       {
@@ -1226,7 +1242,7 @@
    \tl_if_empty:NT\l__pdffield_fieldID_tl
       {
         \pdfdict_get:nnN {l__pdffield/field}{T}\l__pdffield_fieldID_tl
-        \tl_put_left:Nn \l__pdffield_fieldID_tl {__pdffield/radio/}
+        \tl_put_left:Nn \l__pdffield_fieldID_tl {@pdffield/radio/}
       }
    \cs_if_exist_use:c {g__pdffield_radio_unison_state_ \l__pdffield_fieldID_tl _tl}
     \__pdffield_radio_field:V\l__pdffield_fieldID_tl
@@ -1252,15 +1268,14 @@
      }
      \bool_if:NT\l__pdffield_radio_default_bool
       {
-        \exp_args:Ne
-        \ref_label:nn{\l__pdffield_fieldID_tl}{pdfradioindex}
+        \__pdffield_property_record:Vn\l__pdffield_fieldID_tl{pdfradioindex}
       }
 
    \int_compare:nNnTF { \l__pdffield_radio_value_num_int } =
        {
-         \ref_value:Vn\l__pdffield_fieldID_tl{pdfradioindex}
+         \__pdffield_property_ref:Vn\l__pdffield_fieldID_tl{pdfradioindex}
        }
-     { \pdfannot_dict_put:nnx {widget}{AS}{/\ref_value:Vn\l__pdffield_fieldID_tl{pdfradioindex}} }
+     { \pdfannot_dict_put:nnx {widget}{AS}{/\__pdffield_property_ref:Vn\l__pdffield_fieldID_tl{pdfradioindex}} }
      { \pdfannot_dict_put:nnx {widget}{AS}{/Off} }
     \tl_if_empty:NT\l__pdffield_radio_appearance_code_tl
       {
diff --git a/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty b/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
index 53db782f..4b14960d 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
+++ b/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: pdfmanagement-firstaid.dtx
-\ProvidesExplPackage{pdfmanagement-firstaid}{2023-08-29}{0.95z}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2023-10-09}{0.96a}
   {LaTeX PDF management testphase bundle / firstaid-patches}
 
 \clist_map_inline:nn
@@ -72,6 +72,7 @@
          package/xcolor/after
        }
        {\RequirePackage{xcolor-patches-tmp-ltx}}
+    \DeclareHookRule{package/xcolor/after}{pdfmanagement-firstaid}{before}{xcolor}
   }
 \bool_lazy_all:nT
   {
diff --git a/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx b/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
index 8cee027f..e0f6f78d 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
+++ b/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
@@ -27,7 +27,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: pdfmanagement-testphase.dtx
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-08-29}{0.95z}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-10-09}{0.96a}
   {PDF~management~code~(testphase)}
 \bool_new:N\l__pdfmanagement_delayed_shipout_bool
 \msg_new:nnn {pdfmanagement}{delayed-shipout}
@@ -214,7 +214,7 @@
   }
 
 \cs_set_eq:NN \pdfdict_put:nnn \__pdfdict_put:nnn
-\cs_generate_variant:Nn \pdfdict_put:nnn {nnx,nno}
+\cs_generate_variant:Nn \pdfdict_put:nnn {nnx,nno,nee}
 
 \cs_new_protected:Npn \__pdfdict_gput:nnn #1 #2 #3  %#1 global dict, #2 name, #3 value
   {
@@ -235,7 +235,7 @@
   }
 
 \cs_set_eq:NN \pdfdict_gput:nnn \__pdfdict_gput:nnn
-\cs_generate_variant:Nn \pdfdict_gput:nnn {nnx,nno}
+\cs_generate_variant:Nn \pdfdict_gput:nnn {nnx,nno,nee}
 \cs_new_protected:Npn \__pdfdict_get:nnN  #1 #2 #3 %dict,key,macro
   {
     \__pdfdict_if_exist:nTF { #1 }
diff --git a/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty b/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
index ca07b940..8ef18663 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
+++ b/texmf/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: pdfmanagement-testphase.dtx
-\ProvidesExplPackage{pdfmanagement-testphase}{2023-08-29}{0.95z}
+\ProvidesExplPackage{pdfmanagement-testphase}{2023-10-09}{0.96a}
   {LaTeX PDF management testphase bundle}
 \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
 \IfFormatAtLeastTF{2020-10-01}{}{
diff --git a/texmf/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/texmf/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index c5a9a8da..29074b3d 100644
--- a/texmf/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/texmf/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
-%% LaTeX2e file `xcolor-patches.sty'
+%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
 %%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2023-08-29 v0.95z patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2023-10-09 v0.96a patch xcolor for l3color]
 \@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
 
 \ExplSyntaxOn





More information about the latex3-commits mailing list.