summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-12-03 21:01:29 +0000
committerKarl Berry <karl@freefriends.org>2022-12-03 21:01:29 +0000
commit1b14d7809c520eb9ccb785f44c93c1616351f54e (patch)
tree6da08a5095a7ca3c82726f30ed136f6b10ea0ea7 /Master/texmf-dist/tex/luatex
parentd6e66d2f4e31fc28a5f7527497c6655a7ac72fa5 (diff)
pdfextra (3dec22)
git-svn-id: svn://tug.org/texlive/trunk@65184 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex')
-rw-r--r--Master/texmf-dist/tex/luatex/pdfextra/pdfextra.tex30
1 files changed, 19 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/luatex/pdfextra/pdfextra.tex b/Master/texmf-dist/tex/luatex/pdfextra/pdfextra.tex
index cbbeca0c17d..a34a08b5aa0 100644
--- a/Master/texmf-dist/tex/luatex/pdfextra/pdfextra.tex
+++ b/Master/texmf-dist/tex/luatex/pdfextra/pdfextra.tex
@@ -41,6 +41,7 @@
\_else \_resetnamespace{#1}\_fi
}
\_def\_resetnamespace #1{%
+ \_unless \_ifx \_pkglabel\_empty \_endnamespace \_fi
\_ea \_gdef \_csname namesp:#1\_endcsname {}%
\_gdef \_pkglabel{_#1}%
\_directlua{
@@ -156,13 +157,13 @@
\_private \string \newtoks \romannumeral ;
+\_newtoks\_opt
\_def\_optdef#1[#2]{%
- \_def#1{\_opt={#2}\_isnextchar[{\_cs{_oA:\_string#1}}{\_cs{_oB:\_string#1}}}%
- \_sdef{_oA:\_string#1}[##1]{\_opt={##1}\_cs{_oB:\_string#1\_nospaceafter}}%
- \_sdef{_oB:\_string#1\_nospaceafter}%
+ \_def#1{\_opt={#2}\_isnextchar[{\_cs{_oA:\_csstring#1}}{\_cs{_oB:\_csstring#1}}}%
+ \_sdef{_oA:\_csstring#1}[##1]{\_opt={##1}\_cs{_oB:\_csstring#1\_nospaceafter}}%
+ \_sdef{_oB:\_csstring#1\_nospaceafter}%
}
-\_def\_nospaceafter#1{\_ea#1\_romannumeral-`\.}
-\_newtoks\_opt
+\_def\_nospaceafter#1{\_ea#1\_romannumeral-`\.\_noexpand}
\_private \noexpand \catcode \toksapp ;
@@ -172,7 +173,7 @@
\_catcode`!=3 \_catcode`?=3
\_def\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
\_long\_def\_replacestringsA##1#2{\_tmptoks{##1}\_replacestringsB}%
- \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_toksapp\_tmptoks{#3##1}%
+ \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_tmptoks\_ea{\_the\_tmptoks#3##1}%
\_ea\_replacestringsB\_fi}%
\_ea\_replacestringsA #1?#2!#2%
\_long\_def\_replacestringsA##1?{\_tmptoks{##1}\_edef#1{\_the\_tmptoks}}%
@@ -233,16 +234,23 @@
\_immediate\_openout\_reffile={\_jobname.ref}\_relax
\_gdef\_wref ##1##2{\_write\_reffile{\_bslash\_csstring##1##2}}%
\_immediate\_write\_reffile {\_pcent\_pcent\_space pdfextra - REF file}%
+ \_ifx\_refdecldata\_empty \_else \_refdeclwrite \_fi
\_gdef\_openref{}%
}
\_def\_ewref #1#2{\_edef\_ewrefA{#2}\_ea\_wref\_ea#1\_ea{\_ewrefA}}
\_private \ifnum ;
-\_def\_refdecl{\_bgroup \_catcode`\#=12 \_refdeclA}
-\_def\_refdeclA #1{\_egroup\_openref
- \_immediate\_write\_reffile {\_pcent\_space \_string \refdecl:}%
- \_immediate\_write\_reffile {\_detokenize{#1}}%
+\_def\_refdecldata{}
+\_def\_refdecl{\_bgroup \_catcode`\#=12 \_catcode`\\=12 \_catcode`\ =12 \_refdeclA}
+\_def\_refdeclA#1{\_egroup
+ \_ifx\_refdecldata\_empty\_else \_global\_addto\_refdecldata{^^J}\_fi
+ \_global\_addto\_refdecldata{#1}%
+ \_ifx\_openref\_empty \_refdeclwrite \_fi
+}
+\_def\_refdeclwrite{%
+ \_immediate\_write\_reffile{\_pcent\_space \_string\refdecl:^^J\_detokenize\_ea{\_refdecldata}}%
+ \_gdef\_refdecldata{}%
}
%
@@ -267,7 +275,7 @@
% modified
\_def\_pdfunidef#1#2{%
\_edef\_tmp{#2}%
- \_def#1{\_directlua{
+ \_edef#1{\_directlua{
local str = token.scan_string()
local out = { "<FEFF" }
for _, c in utf8.codes(str) do