diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/knuth/errata/tex82.bug')
-rw-r--r-- | Master/texmf-dist/doc/generic/knuth/errata/tex82.bug | 180 |
1 files changed, 178 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/generic/knuth/errata/tex82.bug b/Master/texmf-dist/doc/generic/knuth/errata/tex82.bug index 7d7a8c34bad..12de105bae8 100644 --- a/Master/texmf-dist/doc/generic/knuth/errata/tex82.bug +++ b/Master/texmf-dist/doc/generic/knuth/errata/tex82.bug @@ -1577,7 +1577,7 @@ but I decided later in the day to do a few more things: 231. \the to be an expandable control sequence (July 12) Several things in the language are cleaned up: a) \the\tenrm replaced by \fontname\tenrm [\fontname<font>] -b) when expanding edef, etc., result of \the still expanded only only level +b) when expanding edef, etc., result of \the still expanded only one level c) expansion after \def not inhibited, since \noexpand is now present d) \the\the disallowed. @@ -9044,10 +9044,186 @@ other multiletter control sequences are (found by Oleg Bulatov, 14 Sep 2008) begin print_esc("csname"); print_esc("endcsname"); print_char(" "); @z +429. Don't echo error message to terminal when tracing paragraphs +(Udo Wermuth, 15 January 2017) +@x module 826 + begin no_shrink_error_yet:=false; +@y + begin no_shrink_error_yet:=false; + @!stat if tracing_paragraphs>0 then end_diagnostic(true);@+tats@; +@z +@x + error; +@y + error; + @!stat if tracing_paragraphs>0 then begin_diagnostic;@+tats@; +@z + +430. Defeat interactions during batch mode (Xiaosa Zhang, 27 June 2020) +@x module 83 +@ @<Get user's advice...@>= +loop@+begin continue: clear_for_error_prompt; prompt_input("? "); +@y +@ @<Get user's advice...@>= +loop@+begin continue: if interaction<>error_stop_mode then return; + clear_for_error_prompt; prompt_input("? "); +@z + +431. Don't exit to editor if no input file is at the bottom line +(Xiaosa Zhang, 03 July 2020) +@x module 84 +"E": if base_ptr>0 then +@y +"E": if base_ptr>0 then if input_stack[base_ptr].name_field>=256 then +@z +@x module 85 +if base_ptr>0 then print("E to edit your file,"); +@y +if base_ptr>0 then if input_stack[base_ptr].name_field>=256 then + print("E to edit your file,"); +@z + +432. Keep date and time in system variables, use them in opening banner +(Udo Wermuth, 11 December 2020) +@x module 241 +Since standard \PASCAL\ cannot provide such information, something special +is needed. The program here simply specifies July 4, 1776, at noon; but +users probably want a better approximation to the truth. + +@p procedure fix_date_and_time; +begin time:=12*60; {minutes since midnight} +day:=4; {fourth day of the month} +month:=7; {seventh month of the year} +year:=1776; {Anno Domini} +@y +Since standard \PASCAL\ cannot provide such information, something special +is needed. The program here simply assumes that suitable values appear in +the global variables \\{sys\_time}, \\{sys\_day}, \\{sys\_month}, and +\\{sys\_year} (which are initialized to noon on 4 July 1776, +in case the implementor is careless). + +@p procedure fix_date_and_time; +begin sys_time:=12*60; +sys_day:=4; sys_month:=7; sys_year:=1776; {self-evident truths} +time:=sys_time; {minutes since midnight} +day:=sys_day; {day of the month} +month:=sys_month; {month of the year} +year:=sys_year; {Anno Domini} +@z +@x module 246 +@ Of course we had better declare another global variable, if the previous +routines are going to work. + +@<Glob...@>= +@!old_setting:0..max_selector; +@y +@ Of course we had better declare a few more global variables, if the previous +routines are going to work. + +@<Glob...@>= +@!old_setting:0..max_selector; +@!sys_time,@!sys_day,@!sys_month,@!sys_year:integer; + {date and time supplied by external system} +@z +@x module 536 +print_int(day); print_char(" "); +months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'; +for k:=3*month-2 to 3*month do wlog(months[k]); +print_char(" "); print_int(year); print_char(" "); +print_two(time div 60); print_char(":"); print_two(time mod 60); +@y +print_int(sys_day); print_char(" "); +months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'; +for k:=3*sys_month-2 to 3*sys_month do wlog(months[k]); +print_char(" "); print_int(sys_year); print_char(" "); +print_two(sys_time div 60); print_char(":"); print_two(sys_time mod 60); +@z + +433. After nine parameters, delete both # and the token that follows +(Bruno Le Floch, 22 October 2020) +@x module 473 +label found,done,done1,done2; +@y +label found,continue,done,done1,done2; +@z +@x module 474 +begin loop begin get_token; {set |cur_cmd|, |cur_chr|, |cur_tok|} +@y +begin loop begin continue: get_token; {set |cur_cmd|, |cur_chr|, |cur_tok|} +@z +@x module 476 + help1("I'm going to ignore the # sign you just used."); error; +@y + help2("I'm going to ignore the # sign you just used,")@/ + ("as well as the token that followed it."); error; goto continue; +@z + +434. Don't accept an implicit left brace after # in macro head +(Udo Wermuth, 20 May 2020) +@x module 476 +if cur_cmd=left_brace then +@y +if cur_tok<left_brace_limit then +@z + +435. Keep garbage out of the buffer if a |\read| end unexpectedly +(DRF, 17 February 2018) +@x module 486 + align_state:=1000000; error; +@y + align_state:=1000000; limit:=0; error; +@z + +436. Zero out nonexistent chars, to prevent rogue TFM files +(DRF, 06 October 2020) +@x module 722 + math_type(a):=empty; +@y + math_type(a):=empty; cur_i:=null_character; +@z + +437. Don't classify fraction noads as inner noads (DRF, 25 March 2019) +@x module 761 +fraction_noad: begin t:=inner_noad; s:=fraction_noad_size; + end; +@y +fraction_noad: s:=fraction_noad_size; +@z + +438. Properly identify tabskip glue when tracing repeated templates +(Igor Liferenko, 10 January 2020) +@x module 793 +link(p):=new_glue(glue_ptr(cur_loop)); +@y +link(p):=new_glue(glue_ptr(cur_loop)); +subtype(link(p)):=tab_skip_code+1; +@z + +439. Use the correct range for local variable hn (DRF, 31 October 2020) +@x module 892 +@!hn:small_number; {the number of positions occupied in |hc|} +@y +@!hn:0..64; {the number of positions occupied in |hc|; + not always a |small_number|} +@z + +440. Normalize newlinechar when printing the final stats +(Udo Wermuth, 29 November 2020) +@x module 1333 +begin @<Finish the extensions@>; +@y +begin @<Finish the extensions@>; new_line_char:=-1; +@z +@x module 1335 +begin c:=cur_chr; +@y +begin c:=cur_chr; if c<>1 then new_line_char:=-1; +@z + ----------- 999. The absolutely final change (to be made after my death) @x module 2 -@d banner=='This is TeX, Version 3.14159265' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592653' {printed when \TeX\ starts} @y @d banner=='This is TeX, Version $\pi$' {printed when \TeX\ starts} @z |