[latex3-commits] [git/LaTeX3-latex3-pdfresources] master: path code changed (global/local issues) (38b88d7)

Ulrike Fischer fischer at troubleshooting-tex.de
Mon Mar 9 21:15:32 CET 2020


Repository : https://github.com/latex3/pdfresources
On branch  : master
Link       : https://github.com/latex3/pdfresources/commit/38b88d7a1c78e19745e90f65887e5adadee5c6b6

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

commit 38b88d7a1c78e19745e90f65887e5adadee5c6b6
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Mon Mar 9 21:15:32 2020 +0100

    path code changed (global/local issues)


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

38b88d7a1c78e19745e90f65887e5adadee5c6b6
 pdfresources.dtx | 106 +++++++++++++++++++++++++++++--------------------------
 1 file changed, 56 insertions(+), 50 deletions(-)

diff --git a/pdfresources.dtx b/pdfresources.dtx
index b86d9f4..994dd20 100644
--- a/pdfresources.dtx
+++ b/pdfresources.dtx
@@ -388,10 +388,11 @@
 
 \cs_new:Npn \pdf_pageobject_ref:n #1 { \@@_backend_pageobject_ref:n { #1 }}
 
-\cs_new_protected:Npn \pdf_thispageobject_ref:N #1
- {
-
- }
+%% no idea here, so ...
+%\cs_new_protected:Npn \pdf_thispageobject_ref:N #1
+% {
+%
+% }
 %
 %    \end{macrocode}
 % \end{macro}
@@ -400,14 +401,14 @@
 %  Many code parts are quite similar: props are filled and output.
 %  So we define some generic commands for props to ensure systematic
 %  internal names. The names are based on pathes separated by slashed.
-%  The first slash is not used in the names.
+%  The first slash is not used in the names. All props are global.
 %  \begin{NOTE}{UF}
 %  The main question will be if one can/should encode the different
 %  inner structures (array/dict) and the cases where users shouldn't fill a value
 %  but it should be done by subtrees ...
 %  \end{NOTE}
 %
-%  Currently the following names are used: %!!!!! check, compare with \@@_prop_names_seq
+%  Currently the following names are used: %!!!!! check, compare with \g_@@_prop_names_seq
 %  \begin{verbatim}
 %  /Pages           %w,  \pagesattr
 %  /backend_Page    %!!!!! consider name Page?
@@ -421,26 +422,31 @@
 %  /PageN/Resources/Shading
 %  /PageN/Resources/Properties
 %  /Info           %w, \pdfinfo
+%  /Catalog
+%  /Catalog/AA
 %  /Catalog/OCProperties
 %  /Catalog/OutputIntents
 %  /Catalog/AcroForm
+%  /Catalog/AcroForm/DR
 %  /Catalog/AcroForm/DR/Font
+%  /Catalog/MarkInfo
+%  /Catalog/ViewerPreferences
 %  /xform/Resources/Properties
 %  \end{verbatim}
-%  \begin{macro}{\@@_prop_name:n,\@@_prop_new:n,\@@_prop_names_seq}
+%  \begin{macro}{\@@_prop_gname:n,\@@_prop_new:n,\g_@@_prop_names_seq}
 %    \begin{macrocode}
 \seq_new:N \g_@@_prop_names_seq
 
-\cs_new:Npn \@@_prop_name:n #1 % path name without /
+\cs_new:Npn \@@_prop_gname:n #1 % path name without the leading /
   {
     g_@@_/#1_prop
   }
 
 \cs_new_protected:Npn \@@_prop_new:n #1
   {
-    \prop_if_exist:cF { \@@_prop_name:n {#1} }
+    \prop_if_exist:cF { \@@_prop_gname:n { #1 } }
       {
-        \prop_new:c  { \@@_prop_name:n {#1} }
+        \prop_new:c  { \@@_prop_gname:n { #1 } }
         \seq_gput_right:Nn \g_@@_prop_names_seq { #1 }
       }
   }
@@ -457,7 +463,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_prop_gclear:n #1
   {
-    \prop_gclear:c  { \@@_prop_name:n {#1} }
+    \prop_gclear:c  { \@@_prop_gname:n { #1 } }
   }
 
 \cs_new_protected:Npn \@@_prop_gput:nnn #1 #2 #3  %#1 path, #2 name, #3 value
@@ -468,12 +474,12 @@
       }
       {
         \prop_if_exist:cTF
-          { \@@_prop_name:n {#1} }
+          { \@@_prop_gname:n { #1 } }
           {
-            \prop_gput:cnn { \@@_prop_name:n {#1} }{ #2 } { #3 }
+            \prop_gput:cnn { \@@_prop_gname:n { #1 } }{ #2 } { #3 }
           }
           {
-            \msg_error:nnn { pdf } { wrong-path } {/#1}
+            \msg_error:nnn { pdf } { wrong-path } { /#1 }
           }
       }
   }
@@ -481,17 +487,17 @@
 \cs_generate_variant:Nn \@@_prop_gput:nnn {nxx}
 \cs_new_protected:Npn \@@_prop_get:nnN  #1 #2 #3 %path,key,macro
   {
-    \prop_get:cnN { \@@_prop_name:n {#1} } { #2} #3
+    \prop_get:cnN { \@@_prop_gname:n { #1 } } { #2 } #3
   }
 
 \cs_new_protected:Npn \@@_prop_gremove:nn #1 #2 %path,key
   {
-    \prop_gremove:cn { \@@_prop_name:n {#1} } { #2 }
+    \prop_gremove:cn { \@@_prop_gname:n { #1 } } { #2 }
   }
 
 \cs_new_protected:Npn \@@_prop_show:n #1  %path
   {
-    \prop_show:c { \@@_prop_name:n {#1} }
+    \prop_show:c { \@@_prop_gname:n { #1 } }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -502,23 +508,23 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_prop_map_dict_item:n #1 %path
   {
-    \prop_map_function:cN { \@@_prop_name:n {#1}} \@@_dict_item:nn
+    \prop_map_function:cN { \@@_prop_gname:n { #1 } } \@@_dict_item:nn
   }
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{ \@@_prop_merge:nnN }
-% \cs{@@_prop_merge:nnN} merges at first the property \meta{name_1}
+% \begin{macro}{ \@@_prop_gmerge:nnN }
+% \cs{@@_prop_gmerge:nnN} merges at first the property \meta{name_1}
 %  then optionally \meta{name_2} into property |#3|.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_prop_merge:nnN #1 #2 #3
+\cs_new_protected:Npn \@@_prop_gmerge:nnN #1 #2 #3
   {
-    \prop_set_eq:Nc #3 { \@@_prop_name:n  { #1 } }
-    \prop_if_exist:cT  { \@@_prop_name:n  { #2 } }
+    \prop_gset_eq:Nc #3 { \@@_prop_gname:n  { #1 } }
+    \prop_if_exist:cT  { \@@_prop_gname:n  { #2 } }
       {
-        \prop_map_inline:cn { \@@_prop_name:n  { #2 } }
+        \prop_map_inline:cn { \@@_prop_gname:n  { #2 } }
           {
-            \prop_put:Nnn #3 { ##1 }{ ##2 }
+            \prop_gput:Nnn #3 { ##1 }{ ##2 }
           }
       }
   }
@@ -757,7 +763,7 @@
   %issues the values stored in the global prop with dvi
   \cs_new_protected:Npn \@@_backend_PageN_gpush:n #1
     {
-      \@@_prop_merge:nnN {backend_Page}{backend_Page#1}\l_@@_tmpa_prop
+      \@@_prop_gmerge:nnN {backend_Page}{backend_Page#1}\l_@@_tmpa_prop
       \exp_args:Nx \@@_backend_Page_primitive:n
         {
           \prop_map_function:NN \l_@@_tmpa_prop \@@_dict_item:nn
@@ -1094,8 +1100,8 @@
 % push to the register command / issue the special
 \cs_new_protected:Npn \@@_Info_gpush:
   {
-    \prop_map_function:cN  { \@@_prop_name:n {Info} } \@@_backend_info_gput:nn
-    \prop_gclear:c { \@@_prop_name:n {Info} }
+    \prop_map_function:cN  { \@@_prop_gname:n {Info} } \@@_backend_info_gput:nn
+    \prop_gclear:c { \@@_prop_gname:n {Info} }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1282,7 +1288,7 @@
     {
       \clist_map_inline:Nn \c_@@_backend_PageNResources_clist
         {
-          \prop_if_empty:cF { \@@_prop_name:n {PageN/Resources/##1} }
+          \prop_if_empty:cF { \@@_prop_gname:n {PageN/Resources/##1} }
             {
               \__kernel_backend_literal:x
                 {
@@ -1437,7 +1443,7 @@
   \cs_new:Npn \@@_backend_PageN_Resources_gpush_aux:n #1
     {
       \prop_if_empty:cF
-        { \@@_prop_name:n {PageN/Resources/#1} }
+        { \@@_prop_gname:n {PageN/Resources/#1} }
         {
           \@@_dict_objref_item:nn {#1}{PageN/Resources/#1}
         }
@@ -1448,12 +1454,12 @@
        \exp_args:NNx \tex_global:D \tex_pdfpageresources:D
          {
            \prop_if_exist:cT
-             { \@@_prop_name:n  { backend_Page#1/Resources/Properties } }
+             { \@@_prop_gname:n  { backend_Page#1/Resources/Properties } }
              {
                /Properties~
                  <<
                    \prop_map_function:cN
-                     { \@@_prop_name:n  { backend_Page#1/Resources/Properties } }
+                     { \@@_prop_gname:n  { backend_Page#1/Resources/Properties } }
                      \@@_dict_item:nn
                  >>
              }
@@ -1616,7 +1622,7 @@
           {
             #3
             \int_compare:nNnT
-              { \prop_count:c { \@@_prop_name:n {xform/Resources/Properties} } }
+              { \prop_count:c { \@@_prop_gname:n {xform/Resources/Properties} } }
               >
               { 0 }
               {
@@ -1627,22 +1633,22 @@
               }
 
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/ExtGState} }
+              { \@@_prop_gname:n {PageN/Resources/ExtGState} }
               {
                 /ExtGState~ \pdf_object_ref:n {PageN/Resources/ExtGState}
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/Pattern} }
+              { \@@_prop_gname:n {PageN/Resources/Pattern} }
               {
                 /Pattern~ \pdf_object_ref:n {PageN/Resources/Pattern}
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/Shading} }
+              { \@@_prop_gname:n {PageN/Resources/Shading} }
               {
                 /Shading~ \pdf_object_ref:n {PageN/Resources/Shading}
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/ColorSpace} }
+              { \@@_prop_gname:n {PageN/Resources/ColorSpace} }
               {
                 /ColorSpace~ \pdf_object_ref:n {PageN/Resources/ColorSpace}
               }
@@ -1699,7 +1705,7 @@
           {
             #3
             \int_compare:nNnT
-              {\prop_count:c { \@@_prop_name:n {xform/Resources/Properties} }}
+              {\prop_count:c { \@@_prop_gname:n {xform/Resources/Properties} }}
               >
               { 0 }
               {
@@ -1709,22 +1715,22 @@
                   >>
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/ExtGState} }
+              { \@@_prop_gname:n {PageN/Resources/ExtGState} }
               {
                 /ExtGState~ \pdf_object_ref:n {PageN/Resources/ExtGState}
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/Pattern} }
+              { \@@_prop_gname:n {PageN/Resources/Pattern} }
               {
                 /Pattern~ \pdf_object_ref:n {PageN/Resources/Pattern}
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/Shading} }
+              { \@@_prop_gname:n {PageN/Resources/Shading} }
               {
                 /Shading~ \pdf_object_ref:n {PageN/Resources/Shading}
               }
             \prop_if_empty:cF
-              { \@@_prop_name:n {PageN/Resources/ColorSpace} }
+              { \@@_prop_gname:n {PageN/Resources/ColorSpace} }
               {
                 /ColorSpace~ \pdf_object_ref:n {PageN/Resources/ColorSpace}
               }
@@ -1925,7 +1931,7 @@
        \clist_map_inline:Nn \c_@@_backend_PageNResources_clist
          {
            \prop_if_empty:cF
-             { \@@_prop_name:n {PageN/Resources/##1} }
+             { \@@_prop_gname:n {PageN/Resources/##1} }
              {
                \@@_backend_object_write:nx
                  { PageN/Resources/##1 }
@@ -2275,7 +2281,7 @@
     \use:c { @@_/Catalog/Requirements_gpush:}
     \use:c { @@_/Catalog/ViewerPreferences_gpush:}
     % output the single values:
-    \prop_map_function:cN { \@@_prop_name:n {Catalog} }  \@@_backend_catalog_gput:nn
+    \prop_map_function:cN { \@@_prop_gname:n {Catalog} }  \@@_backend_catalog_gput:nn
   }
 %    \end{macrocode}
 % \end{macro}
@@ -2285,7 +2291,7 @@
 \cs_new_protected:cpn { @@_/Catalog/AA_gpush: }
   {
     \prop_if_empty:cF
-     { \@@_prop_name:n { Catalog/AA } }
+     { \@@_prop_gname:n { Catalog/AA } }
      {
        \@@_backend_object_new:nn  { g_@@_/Catalog/AA_obj } { dict }
        \@@_backend_object_write:nx
@@ -2339,7 +2345,7 @@
             { CO }
             { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/CO_obj } }
       }
-     \prop_if_empty:cF { \@@_prop_name:n { Catalog/AcroForm/DR/Font}}
+     \prop_if_empty:cF { \@@_prop_gname:n { Catalog/AcroForm/DR/Font}}
        {
          \@@_backend_object_new:nn { g_@@_/Catalog/AcroForm/DR/Font_obj } {dict}
          \exp_args:Nnx
@@ -2352,7 +2358,7 @@
              { Font }
              { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/DR/Font_obj } }
        }
-     \prop_if_empty:cF { \@@_prop_name:n { Catalog/AcroForm/DR}}
+     \prop_if_empty:cF { \@@_prop_gname:n { Catalog/AcroForm/DR}}
        {
          \@@_backend_object_new:nn { g_@@_/Catalog/AcroForm/DR_obj } {dict}
          \exp_args:Nnx
@@ -2365,7 +2371,7 @@
              { DR }
              { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/DR_obj } }
        }
-     \prop_if_empty:cF { \@@_prop_name:n { Catalog/AcroForm} }
+     \prop_if_empty:cF { \@@_prop_gname:n { Catalog/AcroForm} }
        {
          \@@_backend_object_new:nn { g_@@_/Catalog/AcroForm_obj } {dict}
          \exp_args:Nnx
@@ -2414,7 +2420,7 @@
 \cs_new_protected:cpn { @@_/Catalog/MarkInfo_gpush: }
   {
     \prop_if_empty:cF
-     { \@@_prop_name:n { Catalog/MarkInfo } }
+     { \@@_prop_gname:n { Catalog/MarkInfo } }
      {
        \@@_backend_object_new:nn  { g_@@_/Catalog/MarkInfo_obj } { dict }
        \exp_args:Nnx
@@ -2534,7 +2540,7 @@
 \cs_new_protected:cpn { @@_/Catalog/ViewerPreferences_gpush: }
   {
     \prop_if_empty:cF
-     { \@@_prop_name:n { Catalog/ViewerPreferences } }
+     { \@@_prop_gname:n { Catalog/ViewerPreferences } }
      {
        \@@_backend_object_new:nn  { g_@@_/Catalog/ViewerPreferences_obj } { dict }
        \exp_args:Nnx





More information about the latex3-commits mailing list.