summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHironobu Yamashita <h.y.acetaminophen@gmail.com>2018-05-18 16:27:41 +0000
committerHironobu Yamashita <h.y.acetaminophen@gmail.com>2018-05-18 16:27:41 +0000
commitea830bc30a1fd7ace53e211c3c63e4c4d6856d00 (patch)
tree188ebeeef998daa5a472ea02e3f9b482acad30a6
parent0b3adf6ab21fe140692b03ec17e8929b4119efdf (diff)
eptexdir: new primitive \expanded from pdfTeX
git-svn-id: svn://tug.org/texlive/trunk@47745 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/eptexdir/ChangeLog6
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex-base.ch3
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex.ech4
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex_version.h2
-rw-r--r--Build/source/texk/web2c/eptexdir/pdfutils.ch48
5 files changed, 49 insertions, 14 deletions
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog b/Build/source/texk/web2c/eptexdir/ChangeLog
index 9545ce8dd62..01656e2453d 100644
--- a/Build/source/texk/web2c/eptexdir/ChangeLog
+++ b/Build/source/texk/web2c/eptexdir/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-18 Joseph Wright <joseph.wright@morningstar2.co.uk>
+ Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
+
+ * eptex-base.ch, pdfutils.ch: New primitive \expanded
+ * eptex.ech, eptex_version.h: e-pTeX version 180518.
+
2018-03-24 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Hironobu Yamashita <h.y.acetaminophen@gmail.com>
diff --git a/Build/source/texk/web2c/eptexdir/eptex-base.ch b/Build/source/texk/web2c/eptexdir/eptex-base.ch
index 04aea3426e3..7f18c7b1132 100644
--- a/Build/source/texk/web2c/eptexdir/eptex-base.ch
+++ b/Build/source/texk/web2c/eptexdir/eptex-base.ch
@@ -22,8 +22,7 @@
% + eptexdir/eptex.ech e-TeX+pTeX changes
% + eptexdir/etex.ch1 glue
% + eptexdir/fam256.ch borrowed from Omega
-% + eptexdir/pdfstrcmp.ch borrowed from pdfTeX
-% + eptexdir/pdfsavepos.ch borrowed from pdfTeX
+% + eptexdir/pdfutils.ch borrowed from pdfTeX
% + tex-binpool.ch compiled pool file
%
% where the three small files denoted as glue resolve incompatibilities
diff --git a/Build/source/texk/web2c/eptexdir/eptex.ech b/Build/source/texk/web2c/eptexdir/eptex.ech
index 5ab7d5da55e..9bc07f80450 100644
--- a/Build/source/texk/web2c/eptexdir/eptex.ech
+++ b/Build/source/texk/web2c/eptexdir/eptex.ech
@@ -22,8 +22,8 @@
@y
@d eTeX_version_string=='-2.6' {current \eTeX\ version}
@#
-@d epTeX_version_string=='-180226'
-@d epTeX_version_number==180226
+@d epTeX_version_string=='-180518'
+@d epTeX_version_number==180518
@z
@x e-pTeX: banner
diff --git a/Build/source/texk/web2c/eptexdir/eptex_version.h b/Build/source/texk/web2c/eptexdir/eptex_version.h
index 6a3e4c6edb8..c69432abf1a 100644
--- a/Build/source/texk/web2c/eptexdir/eptex_version.h
+++ b/Build/source/texk/web2c/eptexdir/eptex_version.h
@@ -1 +1 @@
-#define EPTEX_VERSION "180226"
+#define EPTEX_VERSION "180518"
diff --git a/Build/source/texk/web2c/eptexdir/pdfutils.ch b/Build/source/texk/web2c/eptexdir/pdfutils.ch
index 14e095ce60f..6c92d35682d 100644
--- a/Build/source/texk/web2c/eptexdir/pdfutils.ch
+++ b/Build/source/texk/web2c/eptexdir/pdfutils.ch
@@ -793,22 +793,38 @@ else if cur_tok=cs_token_flag+frozen_primitive then
@x
@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
+@d job_name_code=etex_convert_codes {command code for \.{\\jobname}}
@y
-@d pdf_strcmp_code = etex_convert_base+1 {command code for \.{\\pdfstrcmp}}
-@d pdf_creation_date_code = etex_convert_base+2 {command code for \.{\\pdfcreationdate}}
-@d pdf_file_mod_date_code = etex_convert_base+3 {command code for \.{\\pdffilemoddate}}
-@d pdf_file_size_code = etex_convert_base+4 {command code for \.{\\pdffilesize}}
-@d pdf_mdfive_sum_code = etex_convert_base+5 {command code for \.{\\pdfmdfivesum}}
-@d pdf_file_dump_code = etex_convert_base+6 {command code for \.{\\pdffiledump}}
-@d uniform_deviate_code = etex_convert_base+7 {command code for \.{\\pdfuniformdeviate}}
-@d normal_deviate_code = etex_convert_base+8 {command code for \.{\\pdfnormaldeviate}}
-@d etex_convert_codes=etex_convert_base+9 {end of \eTeX's command codes}
+@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
+@d expanded_code = etex_convert_codes {command code for \.{\\expanded}}
+@d pdf_first_expand_code = expanded_code + 1 {base for \pdfTeX-like command codes}
+@d pdf_strcmp_code = pdf_first_expand_code+0 {command code for \.{\\pdfstrcmp}}
+@d pdf_creation_date_code = pdf_first_expand_code+1 {command code for \.{\\pdfcreationdate}}
+@d pdf_file_mod_date_code = pdf_first_expand_code+2 {command code for \.{\\pdffilemoddate}}
+@d pdf_file_size_code = pdf_first_expand_code+3 {command code for \.{\\pdffilesize}}
+@d pdf_mdfive_sum_code = pdf_first_expand_code+4 {command code for \.{\\pdfmdfivesum}}
+@d pdf_file_dump_code = pdf_first_expand_code+5 {command code for \.{\\pdffiledump}}
+@d uniform_deviate_code = pdf_first_expand_code+6 {command code for \.{\\pdfuniformdeviate}}
+@d normal_deviate_code = pdf_first_expand_code+7 {command code for \.{\\pdfnormaldeviate}}
+@d pdf_convert_codes = pdf_first_expand_code+8 {end of \pdfTeX-like command codes}
+@d job_name_code=pdf_convert_codes {command code for \.{\\jobname}}
+@z
+
+@x
+primitive("jobname",convert,job_name_code);@/
+@y
+@#
+primitive("expanded",convert,expanded_code);@/
+@!@:expanded_}{\.{\\expanded} primitive@>
+@#
+primitive("jobname",convert,job_name_code);@/
@z
@x
eTeX_revision_code: print_esc("eTeXrevision");
@y
eTeX_revision_code: print_esc("eTeXrevision");
+ expanded_code: print_esc("expanded");
pdf_strcmp_code: print_esc("pdfstrcmp");
pdf_creation_date_code: print_esc("pdfcreationdate");
pdf_file_mod_date_code: print_esc("pdffilemoddate");
@@ -857,6 +873,20 @@ u:=0; { will become non-nil if a string is already being built}
eTeX_revision_code: do_nothing;
@y
eTeX_revision_code: do_nothing;
+expanded_code:
+ begin
+ save_scanner_status := scanner_status;
+ save_warning_index := warning_index;
+ save_def_ref := def_ref;
+ save_cur_string;
+ scan_pdf_ext_toks;
+ warning_index := save_warning_index;
+ scanner_status := save_scanner_status;
+ ins_list(link(def_ref));
+ def_ref := save_def_ref;
+ restore_cur_string;
+ return;
+ end;
pdf_strcmp_code:
begin
save_scanner_status := scanner_status;