diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/knuth/errata/tex82.bug')
-rw-r--r-- | Master/texmf-doc/doc/english/knuth/errata/tex82.bug | 90 |
1 files changed, 89 insertions, 1 deletions
diff --git a/Master/texmf-doc/doc/english/knuth/errata/tex82.bug b/Master/texmf-doc/doc/english/knuth/errata/tex82.bug index 2977f089156..607ffff358d 100644 --- a/Master/texmf-doc/doc/english/knuth/errata/tex82.bug +++ b/Master/texmf-doc/doc/english/knuth/errata/tex82.bug @@ -8947,8 +8947,96 @@ if g_sign<>normal then rule_ht:=rule_ht+cur_g; @z +420. Error recovery hindered by missing goto statement (reported by +David Fuchs, September 2007) + +@x module 395 +incr(align_state); long_state:=call; cur_tok:=par_token; ins_error; +@y +incr(align_state); long_state:=call; cur_tok:=par_token; ins_error; +goto continue; +@z + +421. Slight improvement to inner loop speed also eliminates a case +of "dirty Pascal" + +@x module 1035 + begin if character(tail)=qi(hyphen_char[main_f]) then if link(cur_q)>null then +@y + begin if link(cur_q)>null then + if character(tail)=qi(hyphen_char[main_f]) then ins_disc:=true; +@z + +422. Amendment to bugfix 414 (reported by David Fuchs, September 2007) + +@x module 1335 + store_fmt_file; return;@+tini@/ +@y + if last_glue<>max_halfword then delete_glue_ref(last_glue); + store_fmt_file; return;@+tini@/ +@z + +423. Remove leaking glue reference after error (DRF, September 2007) + +@x module 1236 + help2("I can't carry out that multiplication or division,")@/ + ("since the result is out of range."); +@y + help2("I can't carry out that multiplication or division,")@/ + ("since the result is out of range."); + if p>=glue_val then delete_glue_ref(cur_val); +@z + +424. Leaders with muglue is henceforth disallowed (indeed, David Fuchs +observed that it has ever worked, except in 180pt fonts!) + +@x module 1078 +if ((cur_cmd=hskip)and(abs(mode)<>vmode))or@| + ((cur_cmd=vskip)and(abs(mode)=vmode))or@| + ((cur_cmd=mskip)and(abs(mode)=mmode)) then +@y +if ((cur_cmd=hskip)and(abs(mode)<>vmode))or@| + ((cur_cmd=vskip)and(abs(mode)=vmode)) then +@z + +425. An optimization suggested by Fuchs that I couldn't resist, because +it improves the inner loop whenever the last letter of a word +has a lig/kern program. Also another twiddle for the inner loop. + +@x module 1039 +if char_tag(main_i)<>lig_tag then goto main_loop_wrapup; +@y +if char_tag(main_i)<>lig_tag then goto main_loop_wrapup; +if cur_r=non_char then goto main_loop_wrapup; +@z +@x module 1036 +tail_append(lig_stack) {|main_loop_lookahead| is next} +@y +link(tail):=lig_stack; tail:=lig_stack {|main_loop_lookahead| is next} +@z + +426. For robustness, enforce a restriction checked by TFtoPL (suggested +by DRF) + +@x module 365 +if lf<>6+lh+(ec-bc+1)+nw+nh+nd+ni+nl+nk+ne+np then abort; +@y +if lf<>6+lh+(ec-bc+1)+nw+nh+nd+ni+nl+nk+ne+np then abort; +if (nw=0)or(nh=0)or(nd=0)or(ni=0) then abort; +@z + +427. Tell more precisely the effective size of 1:1 insertions (DEK, 27 Feb 08) + +@x module 986 + t:=x_over_n(height(r),1000)*count(t); print_scaled(t); +@y + if count(t)=1000 then t:=height(r) + else t:=x_over_n(height(r),1000)*count(t); + print_scaled(t); +@z + ----------- -420. The absolutely final change (to be made after my death) +999. The absolutely final change (to be made after my death) @x module 2 @d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @y |