diff options
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/texk/web2c/eptexdir/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/eptexdir/pdfutils.ch | 24 |
2 files changed, 27 insertions, 2 deletions
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog b/Build/source/texk/web2c/eptexdir/ChangeLog index a182f395837..96d03e32287 100644 --- a/Build/source/texk/web2c/eptexdir/ChangeLog +++ b/Build/source/texk/web2c/eptexdir/ChangeLog @@ -1,3 +1,8 @@ +2017-12-15 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> + + * pdfutils.ch: Fix a error message "! File ended while ..." + while \pdfstrcmp, \pdfmdfivesum, etc. are used. + 2017-12-13 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> * fam256.ch: \show\odelimiter should be \odelimiter, etc. diff --git a/Build/source/texk/web2c/eptexdir/pdfutils.ch b/Build/source/texk/web2c/eptexdir/pdfutils.ch index 610519dfb44..fb0511d05ac 100644 --- a/Build/source/texk/web2c/eptexdir/pdfutils.ch +++ b/Build/source/texk/web2c/eptexdir/pdfutils.ch @@ -716,6 +716,23 @@ goto restart; end @z +@x scan_keyword +@!k:pool_pointer; {index into |str_pool|} +begin p:=backup_head; link(p):=null; k:=str_start[s]; +@y +@!k:pool_pointer; {index into |str_pool|} +@!save_cur_cs:pointer; {to save |cur_cs|} +begin p:=backup_head; link(p):=null; k:=str_start[s]; +save_cur_cs:=cur_cs; +@z + +@x scan_keyword + scan_keyword:=false; return; +@y + cur_cs:=save_cur_cs; + scan_keyword:=false; return; +@z + @x \[if]pdfprimitive : scan_something_internal procedure scan_something_internal(@!level:small_number;@!negative:boolean); {fetch an internal parameter} @@ -843,10 +860,12 @@ eTeX_revision_code: do_nothing; pdf_strcmp_code: begin save_scanner_status := scanner_status; + save_warning_index := warning_index; save_def_ref := def_ref; save_cur_string; compare_strings; def_ref := save_def_ref; + warning_index := save_warning_index; scanner_status := save_scanner_status; restore_cur_string; end; @@ -1318,11 +1337,12 @@ procedure compare_strings; {to implement \.{\\pdfstrcmp}} label done; var s1, s2: str_number; i1, i2, j1, j2: pool_pointer; + save_cur_cs: pointer; begin - call_func(scan_toks(false, true)); + save_cur_cs:=cur_cs; call_func(scan_toks(false, true)); isprint_utf8:=true; s1 := tokens_to_string(def_ref); isprint_utf8:=false; delete_token_ref(def_ref); - call_func(scan_toks(false, true)); + cur_cs:=save_cur_cs; call_func(scan_toks(false, true)); isprint_utf8:=true; s2 := tokens_to_string(def_ref); isprint_utf8:=false; delete_token_ref(def_ref); i1 := str_start[s1]; |