summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/knuth/errata/tex82.bug
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/knuth/errata/tex82.bug')
-rw-r--r--Master/texmf-dist/doc/generic/knuth/errata/tex82.bug180
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