diff options
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/fonts/cm/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/knuth/errata/mf84.bug | 109 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/knuth/errata/tex82.bug | 180 |
3 files changed, 287 insertions, 4 deletions
diff --git a/Master/texmf-dist/doc/fonts/cm/README b/Master/texmf-dist/doc/fonts/cm/README index 07c2bd816d7..af2dd997031 100644 --- a/Master/texmf-dist/doc/fonts/cm/README +++ b/Master/texmf-dist/doc/fonts/cm/README @@ -51,7 +51,7 @@ quite as light. Four special italic fonts are provided as demonstrations of further possibilities: cmbxti10 is a bold extended text italic; cmmib10 is -a bold math italic; cmit10 is an italic typewriter font; cmu10 is +a bold math italic; cmitt10 is an italic typewriter font; cmu10 is an unslanted italic with the same stem weights as cmr10. The math symbol fonts, cmsy5--cmsy10, have the same parameters diff --git a/Master/texmf-dist/doc/generic/knuth/errata/mf84.bug b/Master/texmf-dist/doc/generic/knuth/errata/mf84.bug index 0ce8ccbd748..c6349b896da 100644 --- a/Master/texmf-dist/doc/generic/knuth/errata/mf84.bug +++ b/Master/texmf-dist/doc/generic/knuth/errata/mf84.bug @@ -2321,10 +2321,117 @@ done1: if (link(p)<>null) then free_node(link(p),knot_node_size); link(p):=s; beta:=-y_coord(h); @z +573. Don't restrict the length of the banner line, leave it system-dependent code +(Udo Wermuth, 02 April 2017) +@x module 61 +incorrect, but the discrepancy is not serious since we assume that the banner +and base identifier together will occupy at most |max_print_line| +character positions. +@y +incorrect, but the discrepancy is not serious since we assume that this +part of the program is system dependent. +@^system dependencies@> +@z + +574. Defeat interactions during batch mode (Xiaosa Zhang, 27 June 2020) +@x module 78 +@ @<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 + +575. Don't exit to editor if no input file is at the bottom line +(Xiaosa Zhang, 03 July 2020) +@x module 79 +"E": if file_ptr>0 then +@y +"E": if file_ptr>0 then if input_stack[file_ptr].name_field>=256 then +@z +@x module 80 +if file_ptr>0 then print("E to edit your file,"); +@y +if file_ptr>0 then if input_stack[file_ptr].name_field>=256 then + print("E to edit your file,"); +@z + +576. Keep date and time in system variables, use them in opening banner +(Udo Wermuth, 11 December 2020) +@x module 194 +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. + +Note that the values are |scaled| integers. Hence \MF\ can no longer +be used after the year 32767. + +@p procedure fix_date_and_time; +begin internal[time]:=12*60*unity; {minutes since midnight} +internal[day]:=4*unity; {fourth day of the month} +internal[month]:=7*unity; {seventh month of the year} +internal[year]:=1776*unity; {Anno Domini} +end; +@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). + +Note that the values are |scaled| integers. Hence \MF\ can no longer +be used after the year 32767. + +@p procedure fix_date_and_time; +begin sys_time:=12*60; +sys_day:=4; sys_month:=7; sys_year:=1776; {self-evident truths} +internal[time]:=sys_time*unity; {minutes since midnight} +internal[day]:=sys_day*unity; {day of the month} +internal[month]:=sys_month*unity; {month of the year} +internal[year]:=sys_year*unity; {Anno Domini} +end; +@z +@x module 196 +@ 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 790 +print_int(round_unscaled(internal[day])); print_char(" "); +months:='JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'; +m:=round_unscaled(internal[month]); +for k:=3*m-2 to 3*m do wlog(months[k]); +print_char(" "); print_int(round_unscaled(internal[year])); print_char(" "); +m:=round_unscaled(internal[time]); +print_dd(m div 60); print_char(":"); print_dd(m 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_dd(sys_time div 60); print_char(":"); print_dd(sys_time mod 60); +@z +@x module 1211 +fix_date_and_time; init_randoms((internal[time] div unity)+internal[day]);@/ +@y +fix_date_and_time; init_randoms(sys_time+sys_day*unity);@/ +@z + ------------- 999. The absolutely final change (to be made after my death) @x module 2 -@d banner=='This is METAFONT, Version 2.7182818' {printed when \MF\ starts} +@d banner=='This is METAFONT, Version 2.71828182' {printed when \MF\ starts} @y @d banner=='This is METAFONT, Version $e$' {printed when \MF\ starts} @z 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 |