summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init/pdf_base.ps')
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_base.ps11
1 files changed, 9 insertions, 2 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
index a82a2a3adfc..b45e9803165 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
@@ -218,7 +218,7 @@ currentdict /num-chars-dict .undef
} ifelse
} ifelse
} ifelse
-} bind executeonly def
+} bind executeonly odef
/PDFScanRules_true << /PDFScanRules //true >> def
/PDFScanRules_null << /PDFScanRules //null >> def
/.pdfrun { % <file> <opdict> .pdfrun -
@@ -395,7 +395,14 @@ currentdict /token_nofail_dict .undef
dup Objects exch array dup 3 1 roll copy pop /Objects exch def
} if
dup Generations length gt {
- dup Generations exch string dup 3 1 roll copy pop /Generations exch def
+ %% Initiallly Generations is a string, but the xref rebuilding code
+ %% can convert it to an array (/setxrefentry in pdf_rbld.ps). So we
+ %% need to be able to deal with either case.
+ Generations type /stringtype eq {
+ dup Generations exch string dup 3 1 roll copy pop /Generations exch def
+ } {
+ dup Generations exch array dup 3 1 roll copy pop /Generations exch def
+ } ifelse
} if
dup IsGlobal length gt {
dup IsGlobal exch string dup 3 1 roll copy pop /IsGlobal exch def