summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHironobu Yamashita <h.y.acetaminophen@gmail.com>2017-11-30 22:04:44 +0000
committerHironobu Yamashita <h.y.acetaminophen@gmail.com>2017-11-30 22:04:44 +0000
commit84e7e267840191e1744e3be02017373f54165a9f (patch)
tree757e7b22f2eaaa94a04e63bd45f5f10f2ac2be9c
parent2568ba5fe39456a77b0d8c0004bedb4216df342e (diff)
eptexdir, euptexdir: fix \pdfprimitive (synchronized pdftex r784)
git-svn-id: svn://tug.org/texlive/trunk@45956 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/eptexdir/ChangeLog7
-rw-r--r--Build/source/texk/web2c/eptexdir/pdfutils.ch31
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log41
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex14
-rw-r--r--Build/source/texk/web2c/euptexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch5
-rw-r--r--Build/source/texk/web2c/euptexdir/tests/pdfprimitive-euptex.log41
7 files changed, 101 insertions, 43 deletions
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog b/Build/source/texk/web2c/eptexdir/ChangeLog
index c0d11070f03..b401945ab7e 100644
--- a/Build/source/texk/web2c/eptexdir/ChangeLog
+++ b/Build/source/texk/web2c/eptexdir/ChangeLog
@@ -1,3 +1,10 @@
+2017-11-30 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * pdfutils.ch: \pdfprimitive gives no error if argument is not a
+ primitive, just do nothing. (Synchronized pdftex r784, tl r45936)
+ * tests/pdfprimitive-test.tex, tests/pdfprimitive-eptex.log:
+ Add more tests for \pdfprimitive.
+
2017-10-06 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
* pdfutils.ch: Merge prim_eqtb into eqtb, to avoid a bug in
diff --git a/Build/source/texk/web2c/eptexdir/pdfutils.ch b/Build/source/texk/web2c/eptexdir/pdfutils.ch
index ead8cdb3ff9..610519dfb44 100644
--- a/Build/source/texk/web2c/eptexdir/pdfutils.ch
+++ b/Build/source/texk/web2c/eptexdir/pdfutils.ch
@@ -555,6 +555,23 @@ for k:=j+1 to j+l-1 do
table, since we can use the character code itself as a direct address.
@z
+@x print_cs: \pdfprimitive
+else begin l:=text(p);
+@y
+else begin
+ if (p>=prim_eqtb_base)and(p<frozen_null_font) then
+ l:=prim_text(p-prim_eqtb_base)-1 else l:=text(p);
+@z
+
+@x
+else print_esc(text(p));
+@y
+else if (p>=prim_eqtb_base)and(p<frozen_null_font) then
+ print_esc(prim_text(p-prim_eqtb_base)-1)
+else print_esc(text(p));
+@z
+
+
@x \[if]pdfprimitive
@p @!init procedure primitive(@!s:str_number;@!c:quarterword;@!o:halfword);
var k:pool_pointer; {index into |str_pool|}
@@ -666,12 +683,6 @@ if cur_cs<>undefined_primitive then begin
p:=get_avail; info(p):=cs_token_flag+frozen_primitive;
link(p):=loc; loc:=p; start:=p;
end;
- end
-else begin
- print_err("Missing primitive name");
- help2("The control sequence marked <to be read again> does not")@/
- ("represent any known primitive.");
- back_error;
end;
end
@@ -685,11 +696,15 @@ expansion creating new errors.
@<Reset |cur_tok| for unexpandable primitives, goto restart @>=
begin
get_token;
-cur_cs := prim_lookup(text(cur_cs));
+if cur_cs < hash_base then
+ cur_cs := prim_lookup(cur_cs-single_base)
+else
+ cur_cs := prim_lookup(text(cur_cs));
if cur_cs<>undefined_primitive then begin
cur_cmd := prim_eq_type(cur_cs);
cur_chr := prim_equiv(cur_cs);
- cur_tok := (cur_cmd*@'400)+cur_chr;
+ cur_cs := prim_eqtb_base+cur_cs;
+ cur_tok := cs_token_flag+cur_cs;
end
else begin
cur_cmd := relax;
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log b/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log
index 898df1856c8..81688a1f803 100644
--- a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log
+++ b/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log
@@ -3,23 +3,14 @@ entering extended mode
%&-line parsing enabled.
**pdfprimitive-eptex
(./pdfprimitive-eptex.tex
-RELAX macro:->\message {RELAX} FUGA
-! Missing primitive name.
-<to be read again>
- \fuga
-l.13 \pdfprimitive\fuga
- % ==> ``! Missing primitive name.'' error
-The control sequence marked <to be read again> does not
-represent any known primitive.
-
-FUGA F T F F F
+RELAX macro:->\message {RELAX} FUGA F T F F F
> \pdfstrcmp=\pdfstrcmp.
-l.22 \show\pdfstrcmp
+l.28 \show\pdfstrcmp
% ==> \pdfstrcmp
T T
! Undefined control sequence.
-l.29 \setbox0=\vbox{\pdfprimitive\ \undefined
+l.35 \setbox0=\vbox{\pdfprimitive\ \undefined
}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
@@ -28,7 +19,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
-l.31 \setbox0=\vbox{\pdfprimitive\vrule\undefined
+l.37 \setbox0=\vbox{\pdfprimitive\vrule\undefined
}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
@@ -37,10 +28,30 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
-Overfull \hbox (0.4pt too wide) in paragraph at lines 31--31
+Overfull \hbox (0.4pt too wide) in paragraph at lines 37--37
[]|
\hbox(0.0+0.0)x0.0 []
- )
+<1>
+! Missing number, treated as zero.
+<to be read again>
+ \-
+l.43 \count42=\pdfprimitive\-
+ 2\A
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+<0>
+! Missing number, treated as zero.
+<to be read again>
+ \vrule
+l.44 \count42=\pdfprimitive\vrule
+ 3\A
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+<0> )
No pages of output.
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex b/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex
index 150354bd608..2f7211d26c7 100644
--- a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex
+++ b/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex
@@ -1,6 +1,12 @@
%#!euptex pdfprimitive-test.tex
\catcode`\{=1\catcode`\}=2
\scrollmode
+\catcode`\Q=14
+\ifdefined\pdfprimitive\else\catcode`\Q=11 \fi
+
+Q\let\pdfprimitive\primitive\let\ifpdfprimitive\ifprimitive
+\catcode`\Q=11
+
\def\relax{\message{RELAX}}
\def\fuga{\message{FUGA}}
\let\input=\halign
@@ -30,4 +36,12 @@
% ==> ``! Undefined control sequence.'' error
\setbox0=\vbox{\pdfprimitive\vrule\undefined}
% ==> ``! Undefined control sequence.'' error
+
+\setbox0=\hbox{%
+ \def\A{\message{<\the\count42>}\ignorespaces}
+ \count42=\pdfprimitive\X 1\A
+ \count42=\pdfprimitive\- 2\A
+ \count42=\pdfprimitive\vrule 3\A
+}
+
\end
diff --git a/Build/source/texk/web2c/euptexdir/ChangeLog b/Build/source/texk/web2c/euptexdir/ChangeLog
index ffe54da6bc5..d4c3b66cd01 100644
--- a/Build/source/texk/web2c/euptexdir/ChangeLog
+++ b/Build/source/texk/web2c/euptexdir/ChangeLog
@@ -1,3 +1,8 @@
+2017-11-30 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * pdfstrcmp-eup-post.ch, tests/pdfprimitive-euptex.log: Adapt
+ to eptex update.
+
2017-10-06 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
* tests/pdfprimitive-euptex.log: Adapt to eptex update.
diff --git a/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch b/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch
index 16752d25b5f..c0961189104 100644
--- a/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch
+++ b/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch
@@ -3,11 +3,6 @@
@y
cur_tok := (cur_cmd*max_char_val)+cur_chr;
@z
-@x
- cur_tok := (cur_cmd*@'400)+cur_chr;
-@y
- cur_tok := (cur_cmd*max_char_val)+cur_chr;
-@z
@x
procedure print_kanji(@!s:integer); {prints a single character}
diff --git a/Build/source/texk/web2c/euptexdir/tests/pdfprimitive-euptex.log b/Build/source/texk/web2c/euptexdir/tests/pdfprimitive-euptex.log
index ed737b9f805..abef8db42e7 100644
--- a/Build/source/texk/web2c/euptexdir/tests/pdfprimitive-euptex.log
+++ b/Build/source/texk/web2c/euptexdir/tests/pdfprimitive-euptex.log
@@ -3,23 +3,14 @@ entering extended mode
%&-line parsing enabled.
**pdfprimitive-euptex
(./pdfprimitive-euptex.tex
-RELAX macro:->\message {RELAX} FUGA
-! Missing primitive name.
-<to be read again>
- \fuga
-l.13 \pdfprimitive\fuga
- % ==> ``! Missing primitive name.'' error
-The control sequence marked <to be read again> does not
-represent any known primitive.
-
-FUGA F T F F F
+RELAX macro:->\message {RELAX} FUGA F T F F F
> \pdfstrcmp=\pdfstrcmp.
-l.22 \show\pdfstrcmp
+l.28 \show\pdfstrcmp
% ==> \pdfstrcmp
T T
! Undefined control sequence.
-l.29 \setbox0=\vbox{\pdfprimitive\ \undefined
+l.35 \setbox0=\vbox{\pdfprimitive\ \undefined
}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
@@ -28,7 +19,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
-l.31 \setbox0=\vbox{\pdfprimitive\vrule\undefined
+l.37 \setbox0=\vbox{\pdfprimitive\vrule\undefined
}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
@@ -37,10 +28,30 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
-Overfull \hbox (0.4pt too wide) in paragraph at lines 31--31
+Overfull \hbox (0.4pt too wide) in paragraph at lines 37--37
[]|
\hbox(0.0+0.0)x0.0 []
- )
+<1>
+! Missing number, treated as zero.
+<to be read again>
+ \-
+l.43 \count42=\pdfprimitive\-
+ 2\A
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+<0>
+! Missing number, treated as zero.
+<to be read again>
+ \vrule
+l.44 \count42=\pdfprimitive\vrule
+ 3\A
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+<0> )
No pages of output.