From e197848863027c2230d6210dc74dede87da4e9df Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Thu, 31 Mar 2011 13:00:41 +0000 Subject: Bug fix and TeX formatting from Hironori Kitagawa git-svn-id: svn://tug.org/texlive/trunk@21902 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/eptexdir/ChangeLog.TL | 5 +++++ Build/source/texk/web2c/eptexdir/eptex.ech | 10 ++++------ Build/source/texk/web2c/eptexdir/pdfsavepos.ch | 6 +++--- Build/source/texk/web2c/eptexdir/pdfstrcmp.ch | 4 +--- Build/source/texk/web2c/etexdir/ChangeLog | 4 ++++ Build/source/texk/web2c/etexdir/etex.ch | 2 +- Build/source/texk/web2c/ptexdir/ChangeLog | 4 ++++ Build/source/texk/web2c/ptexdir/ptex-base.ch | 24 ++++++++++++------------ 8 files changed, 34 insertions(+), 25 deletions(-) (limited to 'Build/source/texk/web2c') diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog.TL b/Build/source/texk/web2c/eptexdir/ChangeLog.TL index eaeeac7b523..d2a12c8b640 100644 --- a/Build/source/texk/web2c/eptexdir/ChangeLog.TL +++ b/Build/source/texk/web2c/eptexdir/ChangeLog.TL @@ -1,6 +1,11 @@ ChangeLog.TL: TeX Live (TL) changes for e-pTeX ============================================== +2011-03-31 Hironori Kitagawa + + * eptex.ech: Bug fix and TeX formatting. + * pdfsavepos.ch, pdfstrcmp.ch: TeX formatting. + 2011-03-30 Peter Breitenlohner * eptex.ech, etex.ch0: Handle disp_node from discretionary. diff --git a/Build/source/texk/web2c/eptexdir/eptex.ech b/Build/source/texk/web2c/eptexdir/eptex.ech index f030f0da21f..f81427e64ed 100644 --- a/Build/source/texk/web2c/eptexdir/eptex.ech +++ b/Build/source/texk/web2c/eptexdir/eptex.ech @@ -147,8 +147,9 @@ q:=head; p:=null; r:=null; fm:=0; fd:=0; disp:=0; pdisp:=0; repeat s:=r; r:=p; p:=q; fm:=fm div 2; fd:=fd div 2; if not is_char_node(q) then if type(q)=disc_node then - begin for m:=1 to replace_count(q) do p:=link(p); - if p=tx then #; + begin for m:=1 to replace_count(q) do + begin p:=link(p); if p=tx then #; end + { |tx| might be a part of discretionary; in this case, nothing will be removed} end else if (type(q)=math_node)and(subtype(q)=begin_M_code) then fm:=2 else if type(q)=disp_node then @@ -278,9 +279,6 @@ othercases goto next_p @y disp_node: begin disp2:=disp_dimen(p); disp_dimen(p):=disp; disp:=disp2; - { print_nl("ep TeXXeT:"); print_int(disp_dimen(p)); } - { print(" -> "); print_int(disp); } - { if not disped then begin disped:=true; print(" NL"); end; end; } if not disped then disped:=true; end; othercases goto next_p @z @@ -288,7 +286,7 @@ othercases goto next_p @x e-pTeX: ifcsname l.28620 buffer[m]:=info(p) mod @'400; incr(m); p:=link(p); @y - if check_kanji(info(p)) then {wchar_token} + if check_kanji(info(p)) then {|wchar_token|} begin buffer[m]:=Hi(info(p)); incr(m); end; buffer[m]:=Lo(info(p)); incr(m); p:=link(p); diff --git a/Build/source/texk/web2c/eptexdir/pdfsavepos.ch b/Build/source/texk/web2c/eptexdir/pdfsavepos.ch index fefe3151bae..2f364617abf 100644 --- a/Build/source/texk/web2c/eptexdir/pdfsavepos.ch +++ b/Build/source/texk/web2c/eptexdir/pdfsavepos.ch @@ -228,7 +228,7 @@ end A \.{DVI} file does not have the information of the page height, which is needed to implement \.{\\pdflastypos} correctly. To keep the information of the page height, I (H.~Kitagawa) -adopted \.{\\pdfpageheight} primitive from pdf\TeX. However, in \pTeX (and \epTeX), +adopted \.{\\pdfpageheight} primitive from pdf\TeX. However, in p\TeX (and \hbox{\epTeX}), the papersize special \.{\\special\{papersize=|width|,|height|\}} is commonly used for specifying page width/height. Hence, I decided that the papersize special also changes the value of \.{\\pdfpagewidth} and \.{\\pdfpageheight}. @@ -236,8 +236,8 @@ The following routine does this. In present implementation, the ``valid'' papersize special, which can be interpreted by this routine, is in the following form: -$$\hbox{.{\\special\{papersize=$x$pt,$y$pt\}}}$$ -where $x$\,pt and $y$\, pt are positive dimensions which \TeX\ can comprehend. +$$\hbox{\.{\\special\char"7Bpapersize=}$x$\.{pt,}$y$\.{pt\char"7D}}$$ +where $x$\thinspace pt and $y$\thinspace pt are positive dimensions which \TeX\ can comprehend. No spaces are allowed in the above form, and only ``pt'' is allowed for unit, for simplicity. @d ifps==if k=pool_ptr then goto done else if diff --git a/Build/source/texk/web2c/eptexdir/pdfstrcmp.ch b/Build/source/texk/web2c/eptexdir/pdfstrcmp.ch index 6c37a4d0665..cc47696042a 100644 --- a/Build/source/texk/web2c/eptexdir/pdfstrcmp.ch +++ b/Build/source/texk/web2c/eptexdir/pdfstrcmp.ch @@ -54,12 +54,10 @@ 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; @@ -116,7 +114,7 @@ end; @x @* \[54] System-dependent changes. @y -@* \[54/pdf\TeX] System-dependent changes for \.{\\pdfstrcmp} +@* \[54/pdf\TeX] System-dependent changes for {\tt\char"5Cpdfstrcmp}. @d call_func(#) == begin if # <> 0 then do_nothing end @d flushable(#) == (# = str_ptr - 1) diff --git a/Build/source/texk/web2c/etexdir/ChangeLog b/Build/source/texk/web2c/etexdir/ChangeLog index 9409a15c204..511ac5a9d1e 100644 --- a/Build/source/texk/web2c/etexdir/ChangeLog +++ b/Build/source/texk/web2c/etexdir/ChangeLog @@ -1,3 +1,7 @@ +2011-03-31 Hironori Kitagawa + + * etex.ch: TeX formatting. + 2011-03-30 Peter Breitenlohner * etex.ch: Further reduce e-pTeX interferences. diff --git a/Build/source/texk/web2c/etexdir/etex.ch b/Build/source/texk/web2c/etexdir/etex.ch index a20e0306a8b..4e38bfd6136 100644 --- a/Build/source/texk/web2c/etexdir/etex.ch +++ b/Build/source/texk/web2c/etexdir/etex.ch @@ -97,7 +97,7 @@ % , May 2010. % some rearrangements to reduce interferences between % e-TeX and pTeX, in part suggested by Hironori Kitagawa -% , Mar 2011. +% , Mar 2011. % Although considerable effort has been expended to make the e-TeX program % correct and reliable, no warranty is implied; the author disclaims any diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog index 117b026eb5a..eea14d372b3 100644 --- a/Build/source/texk/web2c/ptexdir/ChangeLog +++ b/Build/source/texk/web2c/ptexdir/ChangeLog @@ -1,3 +1,7 @@ +2011-03-31 Hironori Kitagawa + + * ptex-base.ch: TeX formatting. + 2011-03-30 Peter Breitenlohner * ptex-base.ch: Handle disp_node from discretionary. diff --git a/Build/source/texk/web2c/ptexdir/ptex-base.ch b/Build/source/texk/web2c/ptexdir/ptex-base.ch index 8e1a633185d..74ffabac810 100644 --- a/Build/source/texk/web2c/ptexdir/ptex-base.ch +++ b/Build/source/texk/web2c/ptexdir/ptex-base.ch @@ -1184,7 +1184,7 @@ for k:="A" to "Z" do @+@t\1@>for k:=3 to 6 do kcat_code(@"20+k):=kana; {3 ku ... 6 ku} @+@t\1@>for k:=7 to 8 do kcat_code(@"20+k):=other_kchar; {7 ku ... 8 ku} @+@t\1@>for k:=16 to 84 do kcat_code(@"20+k):=kanji; {16 ku ... 84 ku} -{ @"20+k = kcatcodekey(fromKUTEN(HILO(k,1)) } +{ $\.{@@"20}+|k| = |kcatcodekey|(|fromKUTEN|(|HILO|(k,1))$ } @z @x [17.236] l.5092 - pTeX: cur_jfam_code, jchr_widow_penalty @@ -1390,9 +1390,9 @@ if (pmem_end) then begin print_esc("CLOBBERED."); return; @.CLOBBERED@> end; -if info(p)>=cs_token_flag then print_cs(info(p)-cs_token_flag) {wchar_token} +if info(p)>=cs_token_flag then print_cs(info(p)-cs_token_flag) {|wchar_token|} else begin - if check_kanji(info(p)) then {wchar_token} + if check_kanji(info(p)) then {|wchar_token|} begin m:=kcat_code(kcatcodekey(info(p))); c:=info(p); end else begin m:=Hi(info(p)); c:=Lo(info(p)); @@ -1511,7 +1511,7 @@ else show_token_list(link(start),loc,100000) {avoid reference count} begin_pseudoprint; if token_typenull) then - begin if (link(start)=null)and(check_kanji(info(start))) then {wchar_token} + begin if (link(start)=null)and(check_kanji(info(start))) then {|wchar_token|} begin cur_input:=input_stack[base_ptr-1]; s:=get_avail; info(s):=Lo(buffer[loc]); cur_input:=input_stack[base_ptr]; @@ -1795,7 +1795,7 @@ if loc<>null then {list not exhausted} @ else check_outer_validity; end - else if check_kanji(t) then {wchar_token} + else if check_kanji(t) then {|wchar_token|} begin cur_chr:=t; cur_cmd:=kcat_code(kcatcodekey(t)); end else @@ -1825,7 +1825,7 @@ end; begin no_new_control_sequence:=false; get_next; no_new_control_sequence:=true; @^inner loop@> if cur_cs=0 then - if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then {wchar_token} + if (cur_cmd=kanji)or(cur_cmd=kana)or(cur_cmd=other_kchar) then {|wchar_token|} cur_tok:=cur_chr else cur_tok:=(cur_cmd*@'400)+cur_chr else cur_tok:=cs_token_flag+cur_cs; @@ -1854,7 +1854,7 @@ while p<>null do overflow("buffer size",buf_size); @:TeX capacity exceeded buffer size}{\quad buffer size@> end; - if check_kanji(info(p)) then {wchar_token} + if check_kanji(info(p)) then {|wchar_token|} begin buffer[j]:=Hi(info(p)); incr(j); end; buffer[j]:=Lo(info(p)); incr(j); p:=link(p); @@ -2062,7 +2062,7 @@ end; @y procedure scan_char_num; begin scan_int; -if not is_char_ascii(cur_val)and not check_kanji(cur_val) then {wchar_token} +if not is_char_ascii(cur_val)and not check_kanji(cur_val) then {|wchar_token|} begin print_err("Bad character code"); @.Bad character code@> help2("A character number must be between 0 and 255, or KANJI code.")@/ @@ -2096,7 +2096,7 @@ end @= begin get_token; {suppress macro expansion} if cur_tok Kanji } goto main_loop_j+1; end else if ins_kp=true then begin { Kanji -> Ascii } - {@;} + {@@;} ins_kp:=false; goto main_loop; end else begin { Kanji -> cs } - {@;} + {@@;} goto reswitch; end; -- cgit v1.2.3