From be31a3bcf74e6d21aa329076b6b6993eb3c2061d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 26 Feb 2021 23:56:54 +0000 Subject: knuth runtime file updates from the 2021 tuneup git-svn-id: svn://tug.org/texlive/trunk@57963 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/generic/knuth/errata/tex82.bug | 180 ++++++++++++++++++++- 1 file changed, 178 insertions(+), 2 deletions(-) (limited to 'Master/texmf-dist/doc/generic/knuth/errata/tex82.bug') 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] -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 +@ @= +loop@+begin continue: clear_for_error_prompt; prompt_input("? "); +@y +@ @= +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. + +@= +@!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. + +@= +@!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; +@y +begin @; 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 -- cgit v1.2.3