diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-24 18:00:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-24 18:00:42 +0000 |
commit | 12819de5a193a81ba460e12c80e9e5af3d88e8a7 (patch) | |
tree | fa3f87dafcc4c8614fa373e364f77826a485ce02 /Build | |
parent | 1f8a99f91f89d808a685fb90434693017786a8a6 (diff) | |
parent | 3ce790a95a47285842ce11676520c9ebaa3d6d83 (diff) |
sync with trunk 57871; starting pretest
git-svn-id: svn://tug.org/texlive/branches/branch2020@57872 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/texk/web2c/cwebboot.cin | 20 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ChangeLog | 23 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/comm-w2c.ch | 7 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/common.w | 2 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ctangle.w | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ctwill-mini.ch | 8 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cweave.w | 7 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cwebman-w2c.ch | 12 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cwebman.tex | 24 | ||||
-rw-r--r-- | Build/source/texk/web2c/etexdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/etexdir/etex.ch | 3 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luatex_svnversion.h | 2 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/pdftexdir/pdftex.web | 3 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/xetex.web | 3 |
16 files changed, 87 insertions, 43 deletions
diff --git a/Build/source/texk/web2c/cwebboot.cin b/Build/source/texk/web2c/cwebboot.cin index 4e1eda44868..f455693f118 100644 --- a/Build/source/texk/web2c/cwebboot.cin +++ b/Build/source/texk/web2c/cwebboot.cin @@ -23,7 +23,7 @@ #include <string.h> /*:3*//*89:*/ -#line 710 "cwebdir/comm-w2c.ch" +#line 709 "cwebdir/comm-w2c.ch" #if HAVE_GETTEXT #include <locale.h> @@ -34,7 +34,7 @@ #endif /*:89*//*91:*/ -#line 757 "cwebdir/comm-w2c.ch" +#line 756 "cwebdir/comm-w2c.ch" typedef bool boolean; #define HAVE_BOOLEAN @@ -44,7 +44,7 @@ typedef bool boolean; #include <lib/lib.h> /*:91*//*94:*/ -#line 796 "cwebdir/comm-w2c.ch" +#line 795 "cwebdir/comm-w2c.ch" #define CWEB #include "help.h" @@ -482,7 +482,7 @@ static int section_name_cmp(char**,int,name_pointer); static void scan_args(void); /*:75*//*96:*/ -#line 809 "cwebdir/comm-w2c.ch" +#line 808 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str); static void cb_usagehelp(const_string*message,const_string bug_email); @@ -515,7 +515,7 @@ for(h= hash;h<=hash_end;*h++= NULL); #line 78 "cwebdir/comm-w2c.ch" /*92:*/ -#line 771 "cwebdir/comm-w2c.ch" +#line 770 "cwebdir/comm-w2c.ch" kpse_set_program_name(argv[0],"cweb"); @@ -524,7 +524,7 @@ kpse_set_program_name(argv[0],"cweb"); #line 85 "cwebdir/comm-w2c.ch" /*90:*/ -#line 719 "cwebdir/comm-w2c.ch" +#line 718 "cwebdir/comm-w2c.ch" setlocale(LC_MESSAGES,setlocale(LC_CTYPE,"")); texmf_locale= kpse_var_expand("${TEXMFLOCALEDIR}"); @@ -1427,7 +1427,7 @@ if((**(++argv)=='-'||**argv=='+')&&*(*argv+1))/*80:*/ if(strcmp("-help",*argv)==0||strcmp("--help",*argv)==0) /*95:*/ -#line 800 "cwebdir/comm-w2c.ch" +#line 799 "cwebdir/comm-w2c.ch" cb_usagehelp(program==ctangle?CTANGLEHELP: program==cweave?CWEAVEHELP:CTWILLHELP,NULL); @@ -1439,7 +1439,7 @@ program==cweave?CWEAVEHELP:CTWILLHELP,NULL); if(strcmp("-version",*argv)==0||strcmp("--version",*argv)==0) /*98:*/ -#line 847 "cwebdir/comm-w2c.ch" +#line 846 "cwebdir/comm-w2c.ch" printversionandexit(cb_banner, program==ctwill?"Donald E. Knuth":"Silvio Levy and Donald E. Knuth", @@ -1618,7 +1618,7 @@ cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 496 "cwebdir/comm-w2c.ch" /*:76*//*97:*/ -#line 813 "cwebdir/comm-w2c.ch" +#line 812 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str) { @@ -1651,7 +1651,7 @@ history= spotless;exit(wrap_up()); } /*:97*//*99:*/ -#line 855 "cwebdir/comm-w2c.ch" +#line 854 "cwebdir/comm-w2c.ch" void cb_show_banner(void) { diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog index 31dbee73e62..37db3501d51 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,26 @@ +2021-02-24 Andreas Scherer <https://ascherer.github.io> + + * cweave.w: Fix spacing for |#include| in TeX comment. + +2021-02-24 Andreas Scherer <https://ascherer.github.io> + + * common.w, + * ctangle.w, + * cweave.w: Fine print for single '@' characters in TeX text. + +2021-02-24 Andreas Scherer <https://ascherer.github.io> + + * cweave.w: Fix output format when 'tracing @2'. + +2021-02-23 Andreas Scherer <https://ascherer.github.io> + + * cwebman.tex, + * cwebman-w2c.ch: Minor redactions. + +2021-02-23 Andreas Scherer <https://ascherer.github.io> + + * comm-w2c.ch: Simplify documentation. + 2021-02-22 Andreas Scherer <https://ascherer.github.io> * Makefile, diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.ch b/Build/source/texk/web2c/cwebdir/comm-w2c.ch index 9b73bffa108..10c55f9feb3 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.ch @@ -686,10 +686,9 @@ resulting \.{*.po} files to the maintainers at \.{tex-k@@tug.org}. does \\{not} set |HAVE_GETTEXT| at build-time, so \.{i18n} is ``off'' by default. If you want to create \.{CWEB} executables with NLS support, you have to recompile the \TeX~Live sources with a positive value for -|HAVE_GETTEXT| both in \.{comm-w2c.ch} and \.{comm-w2c.h}. Also you -have to ``compile'' the NLS catalogs provided for \.{CWEB} in the source -tree with \.{msgfmt} and store the resulting \.{.mo} files at an appropriate -place in the file system. +|HAVE_GETTEXT| in \.{comm-w2c.h}. Also you have to ``compile'' the NLS +catalogs provided for \.{CWEB} in the source tree with \.{msgfmt} and store the +resulting \.{.mo} files at an appropriate place in the file system. Plans for \TeX~Live are to store NLS catalogs inside the ``\TeX\ Directory Structure'' (TDS) and look them up with the help of the configuration variable diff --git a/Build/source/texk/web2c/cwebdir/common.w b/Build/source/texk/web2c/cwebdir/common.w index 85188f4e405..2b90275437d 100644 --- a/Build/source/texk/web2c/cwebdir/common.w +++ b/Build/source/texk/web2c/cwebdir/common.w @@ -289,7 +289,7 @@ prepares to read the next line from |change_file|. When a match is found, the current section is marked as changed unless the first line after the \.{@@x} and after the \.{@@y} both start with -either |'@@*'| or |'@@ '| (possibly preceded by whitespace). +either `\.{@@*}' or `\.{@@\ }' (possibly preceded by whitespace). This procedure is called only when |buffer<limit|, i.e., when the current line is nonempty. diff --git a/Build/source/texk/web2c/cwebdir/ctangle.w b/Build/source/texk/web2c/cwebdir/ctangle.w index 590e90ef1da..0c5bd413282 100644 --- a/Build/source/texk/web2c/cwebdir/ctangle.w +++ b/Build/source/texk/web2c/cwebdir/ctangle.w @@ -1236,7 +1236,7 @@ case identifier: a=id_lookup(id_first,id_loc,0)-name_dir; app_repl(a % 0400); break; case section_name: if (t!=section_name) goto done; else { - @<Was an `@@' missed here?@>@; + @<Was an `\.{@@}' missed here?@>@; a=cur_section_name-name_dir; app_repl((a / 0400)+0250); app_repl(a % 0400); @@ -1263,7 +1263,7 @@ case definition: case format_code: case begin_C: if (t!=section_name) goto done; } case new_section: goto done; -@ @<Was an `@@'...@>= { +@ @<Was an `\.{@@}'...@>= { char *try_loc=loc; while (*try_loc==' ' && try_loc<limit) try_loc++; if (*try_loc=='+' && try_loc<limit) try_loc++; diff --git a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch index 4e3a5585594..1b5c284433f 100644 --- a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch +++ b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch @@ -109,14 +109,6 @@ Section 9. @-c@> @z -Section 12. - -@x -@ Code related to section numbers: -@y -@ Code related to section numbers: -@z - Section 13. @x diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w index 1a74e7e9fff..2c589a5662b 100644 --- a/Build/source/texk/web2c/cwebdir/cweave.w +++ b/Build/source/texk/web2c/cwebdir/cweave.w @@ -99,6 +99,7 @@ char **av@t\2\2@>) /* argument values */ phase_one(); /* read all the user's text and store the cross-references */ phase_two(); /* read all the text again and translate it to \TEX/ form */ phase_three(); /* output the cross-reference index */ + if (tracing==2 && !show_progress) new_line; return wrap_up(); /* and exit gracefully */ } @@ -597,7 +598,7 @@ skip_limbo(void) { while(true) { if (loc>limit && get_line()==false) return; *(limit+1)='@@'; - while (*loc!='@@') loc++; /* look for '@@', then skip two chars */ + while (*loc!='@@') loc++; /* look for `\.{@@}', then skip two chars */ if (loc++ <=limit) { int c=ccode[(eight_bits)*loc++]; if (c==new_section) return; if (c==noop) skip_restricted(); @@ -735,7 +736,7 @@ a file name in lines that start with \.{\#include}. We must treat this file name as a string. @<Private...@>= -static boolean sharp_include_line=false; /* are we scanning a |#include| line? */ +static boolean sharp_include_line=false; /* are we scanning a \&{\#include} line? */ @ @<Check if next token is |include|@>= while (loc<=buffer_end-7 && xisspace(*loc)) loc++; @@ -844,7 +845,7 @@ convention, but do not allow the string to be longer than |longest_name|. if (delim=='u' && *loc=='8') { *++id_loc=*loc++; } delim=*loc++; *++id_loc=delim; } - if (delim=='<') delim='>'; /* for file names in |#include| lines */ + if (delim=='<') delim='>'; /* for file names in \&{\#include} lines */ while (true) { if (loc>=limit) { if(*(limit-1)!='\\') { diff --git a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch index 491cb64c82d..c36398a9a01 100644 --- a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch @@ -96,14 +96,14 @@ \def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.1)} @y \def\Kpathsea/{{\mc KPATHSEA\spacefactor1000}} -\def\runninghead{{\tentt CWEB} USER MANUAL (4.1 [\TeX~Live])} +\def\runninghead{{\tentt CWEB} USER MANUAL (Version 4.1 [\TeX~Live])} @z @x \vskip 18pt\centerline{(Version 4.1 --- February 2021)} @y \vskip 18pt\centerline{(Version 4.1 --- February 2021)% -\footnote*{This document describes the extended \.{CWEB} (4.1 [\TeX~Live]).}} +\footnote*{This document describes the extended \.{CWEB} (Version 4.1 [\TeX~Live]).}} @z @x @@ -151,6 +151,14 @@ with \Kpathsea/\X~of \pdfURL{appendix~D}{common-changes.pdf} to look for it. @z @x +except for error messages. +@y +except for error messages.% +\cwebfootnote{\.{CWEB} in \TeX~Live runs `\.{--quiet}ly', i.\,e., +options `\.{b}', `\.{h}', and `\.{p}' are `off' by default.} +@z + +@x output by \.{CWEAVE}. (On by default.) (Has no effect on \.{CTANGLE}.) @y output by \.{CWEAVE}. (On by default.) (Has no effect on \.{CTANGLE}.)% diff --git a/Build/source/texk/web2c/cwebdir/cwebman.tex b/Build/source/texk/web2c/cwebdir/cwebman.tex index fd7f16446c9..cdda90c20b0 100644 --- a/Build/source/texk/web2c/cwebdir/cwebman.tex +++ b/Build/source/texk/web2c/cwebdir/cwebman.tex @@ -398,15 +398,15 @@ $$\hbox{ If \\{pa} is declared as `\&{int} ${}{*}\\{pa}$', the assignment $\\{pa}\K{\AND}\|a[\T{0}]$ makes \\{pa} point to the zeroth element of \|a.}$$ The \TEX/ text would look like this in your \.{CWEB} file: -$$\lpile{\.{If |pa| is declared as `|int *pa|', the}\cr -\.{assignment |pa=\&a[0]| makes |pa| point -to the zeroth element of |a|.}\cr}$$ -And \.{CWEAVE} translates this into something you are glad you didn't have -to type: -$$\lpile{\.{If \\\\\{pa\} is declared as - `\\\&\{int\} \$\{\}\{*\}\\\\\{pa\}\$',}\cr -\.{the assignment \$\\\\\{pa\}\\K\{\\AND\}\\|a[\\T\{0\}]\$}\cr -\.{makes \\\\\{pa\} point to the zeroth element of \\|a.}\cr}$$ +$$\lpile{\.{If |pa| is declared as `|int *pa|', the assignment}\cr +\.{|pa=\&a[0]| makes |pa| point to the zeroth element of |a|.}\cr}$$ +And \.{CWEAVE} translates this into something +you are glad you didn't have to type: +$$\lpile{\.{If \\PB\{\\\\\{pa\}\} is declared as `\\PB\{\\\&\{int\} + \$\{\}\{*\}\\\\\{pa\}\$\}', the}\cr +\.{assignment \\PB\{\$\\\\\{pa\}\\K\{\\AND\}\\|a[\\T\{0\}]\$\} + makes \\PB\{\\\\\{pa\}\} point}\cr +\.{to the zeroth element of \\PB\{\\|a\}.}\cr}$$ Incidentally, the cross-reference index that \.{CWEAVE} would make, in the presence of a comment like this, would include the current section number as one of the index entries for \\{pa}, @@ -1011,7 +1011,7 @@ part of a \.{struct}, even though \CEE/ does allow this. \section Running the programs. The \UNIX/ command line for \.{CTANGLE} is -$$\.{ctangle [options] web\_file[.w] [\{change\_file[.ch]|-\} [out\_file]]}$$ +$$\.{ctangle [options] webfile[.w] [\{changefile[.ch]|-\} [outfile[.c]]]}$$ and the same conventions apply to \.{CWEAVE}. If `\.-' or no change file is specified, the change file is null. The extensions \.{.w} and \.{.ch} are appended only if the given file names contain no dot. If the @@ -1042,7 +1042,7 @@ by default.) \option e Enclose \CEE/ material formatted by \.{CWEAVE} in brackets \.{\\PB\{...\}}, so that special hooks can be used. -(Off by default; has no effect on \.{CTANGLE}.) +(On by default; has no effect on \.{CTANGLE}.) \option f Force line breaks after each \CEE/ statement formatted by \.{CWEAVE}. (On by default; \.{-f} saves paper but looks less \CEE/-like @@ -1336,7 +1336,7 @@ strncpy(change_buffer,buffer,(size_t)(limit-buffer+1)); \def\runninghead{APPENDIX A --- TRANSLATION BY {\tentt CWEAVE}} Here is the corresponding excerpt from \.{common.tex}. -(Code for section 31 omitted for space reasons.) +(Code for section 31 is omitted for space reasons.) \vskip6pt \begingroup \def\tt{\eighttt} \baselineskip9pt diff --git a/Build/source/texk/web2c/etexdir/ChangeLog b/Build/source/texk/web2c/etexdir/ChangeLog index 5d6d225d293..4a71c7f3cc0 100644 --- a/Build/source/texk/web2c/etexdir/ChangeLog +++ b/Build/source/texk/web2c/etexdir/ChangeLog @@ -1,3 +1,7 @@ +2021-02-22 Phelype Oleinik <phe.h.o1@gmail.com> + + * etex.ch: avoid "expansion depth" overflow with \numexpr. + 2021-02-13 Karl Berry <karl@freefriends.org> * am/etex.am (etex_ch_srcs): adjust for split enctex changes. diff --git a/Build/source/texk/web2c/etexdir/etex.ch b/Build/source/texk/web2c/etexdir/etex.ch index cf0d56c6479..d6363552633 100644 --- a/Build/source/texk/web2c/etexdir/etex.ch +++ b/Build/source/texk/web2c/etexdir/etex.ch @@ -5017,7 +5017,10 @@ var a,@!b:boolean; {saved values of |arith_error|} @!p:pointer; {top of expression stack} @!q:pointer; {for stack manipulations} begin l:=cur_val_level; a:=arith_error; b:=false; p:=null; +incr(expand_depth_count); +if expand_depth_count>=expand_depth then overflow("expansion depth",expand_depth); @<Scan and evaluate an expression |e| of type |l|@>; +decr(expand_depth_count); if b then begin print_err("Arithmetic overflow"); @.Arithmetic overflow@> diff --git a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h index 320d73de6d1..dd8dc72f0ae 100644 --- a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1 +1 @@ -#define luatex_svn_revision 7409 +#define luatex_svn_revision 7410 diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog index dc6402658e7..b7423541d95 100644 --- a/Build/source/texk/web2c/pdftexdir/ChangeLog +++ b/Build/source/texk/web2c/pdftexdir/ChangeLog @@ -1,3 +1,7 @@ +2021-02-22 Phelype Oleinik <phe.h.o1@gmail.com> + + * pdftex.web: avoid "expansion depth" overflow with \numexpr. + 2021-02-17 Karl Berry <karl@tug.org> * NEWS, diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.web b/Build/source/texk/web2c/pdftexdir/pdftex.web index 848b37976d7..4ae1f20716f 100644 --- a/Build/source/texk/web2c/pdftexdir/pdftex.web +++ b/Build/source/texk/web2c/pdftexdir/pdftex.web @@ -38618,7 +38618,10 @@ var a,@!b:boolean; {saved values of |arith_error|} @!p:pointer; {top of expression stack} @!q:pointer; {for stack manipulations} begin l:=cur_val_level; a:=arith_error; b:=false; p:=null; +incr(expand_depth_count); +if expand_depth_count>=expand_depth then overflow("expansion depth",expand_depth); @<Scan and evaluate an expression |e| of type |l|@>; +decr(expand_depth_count); if b then begin print_err("Arithmetic overflow"); @.Arithmetic overflow@> diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog index d68c003cc16..897785441af 100644 --- a/Build/source/texk/web2c/xetexdir/ChangeLog +++ b/Build/source/texk/web2c/xetexdir/ChangeLog @@ -1,3 +1,7 @@ +2021-02-22 Phelype Oleinik <phe.h.o1@gmail.com> + + * xetex.web: avoid "expansion depth" overflow with \numexpr. + 2021-02-17 Karl Berry <karl@tug.org> * NEWS, diff --git a/Build/source/texk/web2c/xetexdir/xetex.web b/Build/source/texk/web2c/xetexdir/xetex.web index 04e00da0152..8aa90220eb4 100644 --- a/Build/source/texk/web2c/xetexdir/xetex.web +++ b/Build/source/texk/web2c/xetexdir/xetex.web @@ -32966,7 +32966,10 @@ var a,@!b:boolean; {saved values of |arith_error|} @!p:pointer; {top of expression stack} @!q:pointer; {for stack manipulations} begin l:=cur_val_level; a:=arith_error; b:=false; p:=null; +incr(expand_depth_count); +if expand_depth_count>=expand_depth then overflow("expansion depth",expand_depth); @<Scan and evaluate an expression |e| of type |l|@>; +decr(expand_depth_count); if b then begin print_err("Arithmetic overflow"); @.Arithmetic overflow@> |