diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2021-02-20 10:48:30 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2021-02-20 10:48:30 +0000 |
commit | c863077bfa83886f32495e0596106d0eff1a4f1d (patch) | |
tree | f16260c753e192f95f50b1dc1470ca0aae9c5f47 /Build/source | |
parent | 961efd75d4ab4bfe367073287cadb0cb5e1ce457 (diff) |
[CWEB] New release 4.1.
Enough changes have accumulated since the major release of CWEB 4.0
to warrant a new revision number.
git-svn-id: svn://tug.org/texlive/trunk@57806 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
41 files changed, 399 insertions, 379 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index b474718ba3b..03e20277436 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,8 @@ +2021-02-20 Andreas Scherer <https://ascherer.github.io> + + * ctangleboot.cin, + * cwebboot.cin: CWEB release 4.1. + 2021-02-19 Andreas Scherer <https://ascherer.github.io> * ctangleboot.cin, diff --git a/Build/source/texk/web2c/ctangleboot.cin b/Build/source/texk/web2c/ctangleboot.cin index 0013e74be5f..bb7a8621820 100644 --- a/Build/source/texk/web2c/ctangleboot.cin +++ b/Build/source/texk/web2c/ctangleboot.cin @@ -25,7 +25,7 @@ /*:4*/ #line 67 "cwebdir/ctangle.w" -#define banner "This is CTANGLE, Version 4.0" \ +#define banner "This is CTANGLE, Version 4.1" \ \ #define _(S) gettext(S) \ @@ -148,7 +148,7 @@ #define ishigh(c) ((eight_bits) (c) > 0177) \ \ -#define compress(c) if(loc++<=limit) return(c) \ +#define compress(c) if(loc++<=limit) return c \ #define macro 0 #define app_repl(c) {if(tok_ptr==tok_mem_end) overflow(_("token") ) ;*tok_ptr++= c;} \ @@ -263,12 +263,12 @@ extern FILE*scn_file; extern FILE*active_file; extern FILE*check_file; -/*:15*//*116:*/ +/*:15*//*115:*/ #line 473 "cwebdir/ctang-w2c.ch" extern char cb_banner[]; -/*:116*/ +/*:115*/ #line 69 "cwebdir/ctangle.w" /*19:*/ @@ -370,12 +370,7 @@ boolean no_where; text_pointer cur_text; eight_bits next_control; -/*:82*//*90:*/ -#line 1348 "cwebdir/ctangle.w" - -extern sixteen_bits section_count; - -/*:90*/ +/*:82*/ #line 71 "cwebdir/ctangle.w" /*8:*/ @@ -461,22 +456,22 @@ static eight_bits get_next(void); static void scan_repl(eight_bits); -/*:83*//*91:*/ -#line 1355 "cwebdir/ctangle.w" +/*:83*//*90:*/ +#line 1348 "cwebdir/ctangle.w" static void scan_section(void); -/*:91*//*99:*/ -#line 1458 "cwebdir/ctangle.w" +/*:90*//*98:*/ +#line 1455 "cwebdir/ctangle.w" static void phase_one(void); -/*:99*//*101:*/ -#line 1476 "cwebdir/ctangle.w" +/*:98*//*100:*/ +#line 1473 "cwebdir/ctangle.w" static void skip_limbo(void); -/*:101*/ +/*:100*/ #line 72 "cwebdir/ctangle.w" @@ -542,12 +537,12 @@ ccode['\'']= ord; #line 1108 "cwebdir/ctangle.w" section_text[0]= ' '; -/*:78*//*117:*/ +/*:78*//*116:*/ #line 476 "cwebdir/ctang-w2c.ch" strncpy(cb_banner,banner,max_banner-1); -/*:117*/ +/*:116*/ #line 88 "cwebdir/ctangle.w" common_init(); @@ -752,11 +747,11 @@ writeloop:/*50:*/ #line 130 "cwebdir/ctang-w2c.ch" fclose(C_file);C_file= NULL; -/*106:*/ +/*105:*/ #line 356 "cwebdir/ctang-w2c.ch" if((C_file= fopen(C_file_name,"r"))!=NULL){ -/*107:*/ +/*106:*/ #line 363 "cwebdir/ctang-w2c.ch" char x[BUFSIZ],y[BUFSIZ]; @@ -766,7 +761,7 @@ if((check_file= fopen(check_file_name,"r"))==NULL) fatal(_("! Cannot open output file "),check_file_name); -if(temporary_output)/*108:*/ +if(temporary_output)/*107:*/ #line 378 "cwebdir/ctang-w2c.ch" do{ @@ -776,17 +771,17 @@ comparison= (x_size==y_size); if(comparison)comparison= !memcmp(x,y,x_size); }while(comparison&&!feof(C_file)&&!feof(check_file)); -/*:108*/ +/*:107*/ #line 371 "cwebdir/ctang-w2c.ch" fclose(C_file);C_file= NULL; fclose(check_file);check_file= NULL; -/*:107*/ +/*:106*/ #line 358 "cwebdir/ctang-w2c.ch" -/*109:*/ +/*108:*/ #line 389 "cwebdir/ctang-w2c.ch" if(comparison) @@ -796,13 +791,13 @@ remove(C_file_name); rename(check_file_name,C_file_name); } -/*:109*/ +/*:108*/ #line 359 "cwebdir/ctang-w2c.ch" }else rename(check_file_name,C_file_name); -/*:106*/ +/*:105*/ #line 132 "cwebdir/ctang-w2c.ch" for(an_output_file= end_output_files;an_output_file> cur_out_file;){ @@ -823,14 +818,14 @@ cur_byte= cur_repl->tok_start; cur_end= (cur_repl+1)->tok_start; while(stack_ptr> stack)get_output(); flush_buffer();fclose(C_file);C_file= NULL; -/*110:*/ +/*109:*/ #line 402 "cwebdir/ctang-w2c.ch" if(0==strcmp("/dev/stdout",output_file_name)) -/*112:*/ +/*111:*/ #line 429 "cwebdir/ctang-w2c.ch" { -/*115:*/ +/*114:*/ #line 460 "cwebdir/ctang-w2c.ch" char in_buf[BUFSIZ+1]; @@ -839,7 +834,7 @@ if((check_file= fopen(check_file_name,"r"))==NULL) fatal(_("! Cannot open output file "),check_file_name); -/*:115*/ +/*:114*/ #line 430 "cwebdir/ctang-w2c.ch" do{ @@ -848,7 +843,7 @@ in_buf[in_size]= '\0'; fprintf(stdout,"%s",in_buf); }while(!feof(check_file)); fclose(check_file);check_file= NULL; -/*111:*/ +/*110:*/ #line 419 "cwebdir/ctang-w2c.ch" if(comparison) @@ -858,19 +853,19 @@ remove(output_file_name); rename(check_file_name,output_file_name); } -/*:111*/ +/*:110*/ #line 437 "cwebdir/ctang-w2c.ch" } -/*:112*/ +/*:111*/ #line 404 "cwebdir/ctang-w2c.ch" else if(0==strcmp("/dev/stderr",output_file_name)) -/*113:*/ +/*112:*/ #line 442 "cwebdir/ctang-w2c.ch" { -/*115:*/ +/*114:*/ #line 460 "cwebdir/ctang-w2c.ch" char in_buf[BUFSIZ+1]; @@ -879,7 +874,7 @@ if((check_file= fopen(check_file_name,"r"))==NULL) fatal(_("! Cannot open output file "),check_file_name); -/*:115*/ +/*:114*/ #line 443 "cwebdir/ctang-w2c.ch" do{ @@ -888,7 +883,7 @@ in_buf[in_size]= '\0'; fprintf(stderr,"%s",in_buf); }while(!feof(check_file)); fclose(check_file);check_file= NULL; -/*111:*/ +/*110:*/ #line 419 "cwebdir/ctang-w2c.ch" if(comparison) @@ -898,20 +893,20 @@ remove(output_file_name); rename(check_file_name,output_file_name); } -/*:111*/ +/*:110*/ #line 450 "cwebdir/ctang-w2c.ch" } -/*:113*/ +/*:112*/ #line 406 "cwebdir/ctang-w2c.ch" else if(0==strcmp("/dev/null",output_file_name)) -/*114:*/ +/*113:*/ #line 455 "cwebdir/ctang-w2c.ch" { int comparison= true; -/*111:*/ +/*110:*/ #line 419 "cwebdir/ctang-w2c.ch" if(comparison) @@ -921,17 +916,17 @@ remove(output_file_name); rename(check_file_name,output_file_name); } -/*:111*/ +/*:110*/ #line 457 "cwebdir/ctang-w2c.ch" } -/*:114*/ +/*:113*/ #line 408 "cwebdir/ctang-w2c.ch" else{ if((C_file= fopen(output_file_name,"r"))!=NULL){ -/*107:*/ +/*106:*/ #line 363 "cwebdir/ctang-w2c.ch" char x[BUFSIZ],y[BUFSIZ]; @@ -941,7 +936,7 @@ if((check_file= fopen(check_file_name,"r"))==NULL) fatal(_("! Cannot open output file "),check_file_name); -if(temporary_output)/*108:*/ +if(temporary_output)/*107:*/ #line 378 "cwebdir/ctang-w2c.ch" do{ @@ -951,17 +946,17 @@ comparison= (x_size==y_size); if(comparison)comparison= !memcmp(x,y,x_size); }while(comparison&&!feof(C_file)&&!feof(check_file)); -/*:108*/ +/*:107*/ #line 371 "cwebdir/ctang-w2c.ch" fclose(C_file);C_file= NULL; fclose(check_file);check_file= NULL; -/*:107*/ +/*:106*/ #line 411 "cwebdir/ctang-w2c.ch" -/*111:*/ +/*110:*/ #line 419 "cwebdir/ctang-w2c.ch" if(comparison) @@ -971,14 +966,14 @@ remove(output_file_name); rename(check_file_name,output_file_name); } -/*:111*/ +/*:110*/ #line 412 "cwebdir/ctang-w2c.ch" }else rename(check_file_name,output_file_name); } -/*:110*/ +/*:109*/ #line 151 "cwebdir/ctang-w2c.ch" } @@ -1148,12 +1143,12 @@ skip_ahead(void) { eight_bits c; while(true){ -if(loc> limit&&(get_line()==false))return(new_section); +if(loc> limit&&(get_line()==false))return new_section; *(limit+1)= '@'; while(*loc!='@')loc++; if(loc<=limit){ loc++;c= ccode[(eight_bits)*loc];loc++; -if(c!=ignore||*(loc-1)=='>')return(c); +if(c!=ignore||*(loc-1)=='>')return c; } } } @@ -1168,20 +1163,20 @@ char c; while(true){ if(loc> limit){ if(is_long_comment){ -if(get_line())return(comment_continues= true); +if(get_line())return comment_continues= true; else{ #line 165 "cwebdir/ctang-w2c.ch" err_print(_("! Input ended in mid-comment")); #line 848 "cwebdir/ctangle.w" -return(comment_continues= false); +return comment_continues= false; } } -else return(comment_continues= false); +else return comment_continues= false; } c= *(loc++); if(is_long_comment&&c=='*'&&*loc=='/'){ -loc++;return(comment_continues= false); +loc++;return comment_continues= false; } if(c=='@'){ if(ccode[(eight_bits)*loc]==new_section){ @@ -1189,7 +1184,7 @@ if(ccode[(eight_bits)*loc]==new_section){ err_print(_("! Section name ended in mid-comment"));loc--; #line 861 "cwebdir/ctangle.w" -return(comment_continues= false); +return comment_continues= false; } else loc++; } @@ -1207,7 +1202,7 @@ eight_bits c; while(true){ if(loc> limit){ if(preprocessing&&*(limit-1)!='\\')preprocessing= 0; -if(get_line()==false)return(new_section); +if(get_line()==false)return new_section; else if(print_where&&!no_where){ print_where= false; /*85:*/ @@ -1229,13 +1224,13 @@ app_repl(a_l%0400);} #line 900 "cwebdir/ctangle.w" } -else return('\n'); +else return'\n'; } c= *loc; if(comment_continues||(c=='/'&&(*(loc+1)=='*'||*(loc+1)=='/'))){ skip_comment(comment_continues||*(loc+1)=='*'); -if(comment_continues)return('\n'); +if(comment_continues)return'\n'; else continue; } loc++; @@ -1261,7 +1256,7 @@ while(xisdigit(*loc))loc++; found:while(*loc=='u'||*loc=='U'||*loc=='l'||*loc=='L' ||*loc=='f'||*loc=='F')loc++; id_loc= loc; -return(constant); +return constant; } /*:73*/ @@ -1317,7 +1312,7 @@ term_write(section_text+1,25); err_print("..."); } id_loc++; -return(string); +return string; } /*:74*/ @@ -1330,7 +1325,7 @@ else if(isalpha(c)||isxalpha(c)||ishigh(c)) id_first= --loc; while(isalpha((eight_bits)*++loc)||isdigit((eight_bits)*loc) ||isxalpha((eight_bits)*loc)||ishigh((eight_bits)*loc)); -id_loc= loc;return(identifier); +id_loc= loc;return identifier; } /*:72*/ @@ -1443,7 +1438,7 @@ overflow(_("output files")); /*:47*/ #line 1098 "cwebdir/ctangle.w" -return(section_name); +return section_name; } /*:77*/ @@ -1459,7 +1454,7 @@ if(loc>=limit)err_print(_("! Verbatim string didn't end")); #line 1160 "cwebdir/ctangle.w" id_loc= loc;loc+= 2; -return(string); +return string; } /*:81*/ @@ -1490,12 +1485,12 @@ err_print(_("! String didn't end"));loc= limit-1;break; } } loc++; -return(ord); +return ord; /*:76*/ #line 1058 "cwebdir/ctangle.w" -default:return(c); +default:return c; } } @@ -1505,7 +1500,7 @@ default:return(c); else if(xisspace(c)){ if(!preprocessing||loc> limit)continue; -else return(' '); +else return' '; } else if(c=='#'&&loc==buffer+1)preprocessing= 1; mistake:/*71:*/ @@ -1535,7 +1530,7 @@ case'!':if(*loc=='=')compress(non_eq);break; /*:71*/ #line 926 "cwebdir/ctangle.w" -return(c); +return c; } } @@ -1744,8 +1739,8 @@ if(text_ptr> text_info_end)overflow(_("text")); cur_text= text_ptr;(++text_ptr)->tok_start= tok_ptr; } -/*:84*//*92:*/ -#line 1358 "cwebdir/ctangle.w" +/*:84*//*91:*/ +#line 1355 "cwebdir/ctangle.w" static void scan_section(void) @@ -1759,8 +1754,8 @@ printf("*%d",section_count);update_terminal; } next_control= 0; while(true){ -/*93:*/ -#line 1397 "cwebdir/ctangle.w" +/*92:*/ +#line 1394 "cwebdir/ctangle.w" while(next_control<definition) @@ -1768,18 +1763,18 @@ if((next_control= skip_ahead())==section_name){ loc-= 2;next_control= get_next(); } -/*:93*/ -#line 1372 "cwebdir/ctangle.w" +/*:92*/ +#line 1369 "cwebdir/ctangle.w" if(next_control==definition){ -/*94:*/ -#line 1404 "cwebdir/ctangle.w" +/*93:*/ +#line 1401 "cwebdir/ctangle.w" { while((next_control= get_next())=='\n'); if(next_control!=identifier){ #line 291 "cwebdir/ctang-w2c.ch" err_print(_("! Definition flushed, must start with identifier")); -#line 1408 "cwebdir/ctangle.w" +#line 1405 "cwebdir/ctangle.w" continue; } @@ -1793,8 +1788,8 @@ scan_repl(macro); cur_text->text_link= macro; } -/*:94*/ -#line 1374 "cwebdir/ctangle.w" +/*:93*/ +#line 1371 "cwebdir/ctangle.w" continue; } @@ -1803,36 +1798,36 @@ p= name_dir;break; } if(next_control==section_name){ p= cur_section_name; -/*95:*/ -#line 1429 "cwebdir/ctangle.w" +/*94:*/ +#line 1426 "cwebdir/ctangle.w" while((next_control= get_next())=='+'); if(next_control!='='&&next_control!=eq_eq) continue; -/*:95*/ -#line 1382 "cwebdir/ctangle.w" +/*:94*/ +#line 1379 "cwebdir/ctangle.w" break; } return; } no_where= print_where= false; -/*96:*/ -#line 1434 "cwebdir/ctangle.w" +/*95:*/ +#line 1431 "cwebdir/ctangle.w" -/*97:*/ -#line 1439 "cwebdir/ctangle.w" +/*96:*/ +#line 1436 "cwebdir/ctangle.w" store_two_bytes((sixteen_bits)(0150000+section_count)); -/*:97*/ -#line 1435 "cwebdir/ctangle.w" +/*:96*/ +#line 1432 "cwebdir/ctangle.w" scan_repl(section_name); -/*98:*/ -#line 1443 "cwebdir/ctangle.w" +/*97:*/ +#line 1440 "cwebdir/ctangle.w" if(p==name_dir||p==0){ (last_unnamed)->text_link= cur_text-text_info;last_unnamed= cur_text; @@ -1848,17 +1843,17 @@ q->text_link= cur_text-text_info; cur_text->text_link= section_flag; -/*:98*/ -#line 1437 "cwebdir/ctangle.w" +/*:97*/ +#line 1434 "cwebdir/ctangle.w" -/*:96*/ -#line 1388 "cwebdir/ctangle.w" +/*:95*/ +#line 1385 "cwebdir/ctangle.w" } -/*:92*//*100:*/ -#line 1461 "cwebdir/ctangle.w" +/*:91*//*99:*/ +#line 1458 "cwebdir/ctangle.w" static void phase_one(void){ @@ -1871,8 +1866,8 @@ check_complete(); phase= 2; } -/*:100*//*102:*/ -#line 1479 "cwebdir/ctangle.w" +/*:99*//*101:*/ +#line 1476 "cwebdir/ctangle.w" static void skip_limbo(void) @@ -1886,8 +1881,8 @@ if(loc++<=limit){ c= *loc++; if(ccode[(eight_bits)c]==new_section)break; switch(ccode[(eight_bits)c]){ -case translit_code:/*103:*/ -#line 1508 "cwebdir/ctangle.w" +case translit_code:/*102:*/ +#line 1505 "cwebdir/ctangle.w" while(xisspace(*loc)&&loc<limit)loc++; loc+= 3; @@ -1895,7 +1890,7 @@ if(loc> limit||!xisxdigit(*(loc-3))||!xisxdigit(*(loc-2)) ||(*(loc-3)>='0'&&*(loc-3)<='7')||!xisspace(*(loc-1))) #line 309 "cwebdir/ctang-w2c.ch" err_print(_("! Improper hex number following @l")); -#line 1514 "cwebdir/ctangle.w" +#line 1511 "cwebdir/ctangle.w" else{ unsigned int i; @@ -1907,7 +1902,7 @@ while(loc<limit&&(xisalpha(*loc)||xisdigit(*loc)||*loc=='_'))loc++; if(loc-beg>=translit_length) #line 315 "cwebdir/ctang-w2c.ch" err_print(_("! Replacement string in @l too long")); -#line 1524 "cwebdir/ctangle.w" +#line 1521 "cwebdir/ctangle.w" else{ strncpy(translit[i-0200],beg,(size_t)(loc-beg)); @@ -1915,8 +1910,8 @@ translit[i-0200][loc-beg]= '\0'; } } -/*:103*/ -#line 1492 "cwebdir/ctangle.w" +/*:102*/ +#line 1489 "cwebdir/ctangle.w" break; case format_code:case'@':break; case control_text:if(c=='q'||c=='Q'){ @@ -1924,21 +1919,21 @@ while((c= skip_ahead())=='@'); if(*(loc-1)!='>') #line 297 "cwebdir/ctang-w2c.ch" err_print(_("! Double @ should be used in control text")); -#line 1498 "cwebdir/ctangle.w" +#line 1495 "cwebdir/ctangle.w" break; } #line 303 "cwebdir/ctang-w2c.ch" default:err_print(_("! Double @ should be used in limbo")); -#line 1502 "cwebdir/ctangle.w" +#line 1499 "cwebdir/ctangle.w" } } } } -/*:102*//*104:*/ -#line 1534 "cwebdir/ctangle.w" +/*:101*//*103:*/ +#line 1531 "cwebdir/ctangle.w" void print_stats(void){ @@ -1951,9 +1946,9 @@ printf(_("%ld replacement texts (out of %ld)\n"), printf(_("%ld bytes (out of %ld)\n"), (ptrdiff_t)(byte_ptr-byte_mem),(long)max_bytes); printf(_("%ld tokens (out of %ld)\n"), -#line 1545 "cwebdir/ctangle.w" +#line 1542 "cwebdir/ctangle.w" (ptrdiff_t)(tok_ptr-tok_mem),(long)max_toks); } #line 341 "cwebdir/ctang-w2c.ch" -/*:104*/ +/*:103*/ diff --git a/Build/source/texk/web2c/cwebboot.cin b/Build/source/texk/web2c/cwebboot.cin index e087125b6b4..ad331384198 100644 --- a/Build/source/texk/web2c/cwebboot.cin +++ b/Build/source/texk/web2c/cwebboot.cin @@ -603,7 +603,7 @@ FILE*fp) { register int c= EOF; register char*k; -if(feof(fp))return(false); +if(feof(fp))return false; limit= k= buffer; while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n') #line 92 "cwebdir/comm-w2c.ch" @@ -616,9 +616,9 @@ ungetc(c,fp);loc= buffer;err_print(_("! Input line too long")); #line 175 "cwebdir/common.w" } -if(c==EOF&&limit==buffer)return(false); +if(c==EOF&&limit==buffer)return false; -return(true); +return true; } /*:24*//*28:*/ @@ -1007,7 +1007,7 @@ init_p(p,t); /*:51*/ #line 656 "cwebdir/common.w" -return(p); +return p; } /*:48*//*52:*/ diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog index fd6eb739c15..62332f87863 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,29 @@ +2021-02-20 Andreas Scherer <https://ascherer.github.io> + + * Makefile, + * comm-{mac,ql,vms,w32}.ch, + * comm-w2c.ch, + * comm-w2c.h, + * common.c, + * common.h, + * common.w, + * ctang-{bs,pc,ql,vms,w32}.ch, + * ctang-w2c.ch, + * ctangle.c, + * ctangle.w, + * ctwill-mini.ch, + * ctwill-w2c.ch, + * cweav-{bs,pc,ql,vms,w32}.ch, + * cweav-man.ch, + * cweav-w2c.ch, + * cweave.w, + * cwebmac.tex, + * cwebman-w2c.ch, + * cwebman.tex, + * po/{cweb,cweb-tl}.pot, + * po/de/{cweb,cweb-tl}.po, + * po/it/cweb.po: CWEB 4.1 and CWEBbin 2021. + 2021-02-19 Andreas Scherer <https://ascherer.github.io> * comm-bs.ch, diff --git a/Build/source/texk/web2c/cwebdir/Makefile b/Build/source/texk/web2c/cwebdir/Makefile index f8f30afefb4..63dbd3db343 100644 --- a/Build/source/texk/web2c/cwebdir/Makefile +++ b/Build/source/texk/web2c/cwebdir/Makefile @@ -1,6 +1,6 @@ # This file is part of CWEB. # It is distributed WITHOUT ANY WARRANTY, express or implied. -# Version 4.0 --- February 2021 +# Version 4.1 --- February 2021 # Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth diff --git a/Build/source/texk/web2c/cwebdir/comm-mac.ch b/Build/source/texk/web2c/cwebdir/comm-mac.ch index e3c601c47bf..8af008e70a2 100644 --- a/Build/source/texk/web2c/cwebdir/comm-mac.ch +++ b/Build/source/texk/web2c/cwebdir/comm-mac.ch @@ -4,9 +4,9 @@ No changes to CTANGLE or CWEAVE are needed. (Contributed 13 Oct 2000 by AndPio@aol.com; slightly edited by Don Knuth) @x in limbo, change the title page document to specify Mac version - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} @y - \centerline{(Version 4.0 for MacOS)} + \centerline{(Version 4.1 for MacOS)} @z @x sections 23/24: Make input_ln accept \n, \r, \n\r, or \r\n as line endings @@ -23,7 +23,7 @@ FILE *fp@t\2\2@>) /* what file to read from */ { register int c=EOF; /* character read; initialized so some compilers won't complain */ register char *k; /* where next character goes */ - if (feof(fp)) return(false); /* we have hit end-of-file */ + if (feof(fp)) return false; /* we have hit end-of-file */ limit = k = buffer; /* beginning of buffer */ while (k<=buffer_end && (c=getc(fp)) != EOF && c!='\n') if ((*(k++) = c) != ' ') limit = k; @@ -32,9 +32,9 @@ FILE *fp@t\2\2@>) /* what file to read from */ ungetc(c,fp); loc=buffer; err_print("! Input line too long"); @.Input line too long@> } - if (c==EOF && limit==buffer) return(false); /* there was nothing after + if (c==EOF && limit==buffer) return false; /* there was nothing after the last newline */ - return(true); + return true; } @y @ In the unlikely event that your standard I/O library does not @@ -54,21 +54,21 @@ FILE *fp@t\2\2@>) /* what file to read from */ { register int c=EOF; /* character read; initialized so some compilers won't complain */ register char *k; /* where next character goes */ - if (feof(fp)) return(false); /* we have hit end-of-file */ + if (feof(fp)) return false; /* we have hit end-of-file */ limit = k = buffer; /* beginning of buffer */ while (true) { c = getc(fp); - if (c==EOF) return (limit!=buffer); /* |false|, if there was nothing after + if (c==EOF) return limit!=buffer; /* |false|, if there was nothing after the last newline */ else if (c=='\n' || c=='\r') { /* we have hit end-of-line */ int d = getc(fp); if (c+d!='\n'+'\r') /* no combination |"\n\r"| or |"\r\n"| */ ungetc(d,fp); - return (true); + return true; } else if (k>buffer_end) { ungetc(c,fp); loc=buffer; err_print("! Input line too long"); - return (true); + return true; @.Input line too long@> } else diff --git a/Build/source/texk/web2c/cwebdir/comm-ql.ch b/Build/source/texk/web2c/cwebdir/comm-ql.ch index e8525783895..f12bd125d67 100644 --- a/Build/source/texk/web2c/cwebdir/comm-ql.ch +++ b/Build/source/texk/web2c/cwebdir/comm-ql.ch @@ -10,24 +10,24 @@ ex <dev_>cc;'-v -h -c -=500000 -DCWEBINPUTS=flp2_ common_c' @x \def\v{\char'174} % vertical (|) in typewriter font -\def\title{Common code for CTANGLE and CWEAVE (Version 4.0)} +\def\title{Common code for CTANGLE and CWEAVE (Version 4.1)} \def\topofcontents{\null\vfill \centerline{\titlefont Common code for {\ttitlefont CTANGLE} and {\ttitlefont CWEAVE}} \vskip 15pt - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} \vfill} \def\botofcontents{\vfill \noindent @y \def\v{\char'174} % vertical (|) in typewriter font -\def\title{Common code for CTANGLE and CWEAVE (QL Version 4.0)} +\def\title{Common code for CTANGLE and CWEAVE (QL Version 4.1)} \def\topofcontents{\null\vfill \centerline{\titlefont Common code for {\ttitlefont CTANGLE} and {\ttitlefont CWEAVE}} \vskip 15pt - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} \vfill} \def\botofcontents{\vfill \noindent diff --git a/Build/source/texk/web2c/cwebdir/comm-vms.ch b/Build/source/texk/web2c/cwebdir/comm-vms.ch index cf6d6198486..caf8ecef795 100644 --- a/Build/source/texk/web2c/cwebdir/comm-vms.ch +++ b/Build/source/texk/web2c/cwebdir/comm-vms.ch @@ -45,8 +45,8 @@ print |"%SYSTEM-F-ABORT, abort"|, if |history > harmless_message|. @z @x section 68 (1987 BL) (01-FEB-1992 ST) (11-JAN-1993 DEK) - if (history > harmless_message) return(1); - else return(0); + if (history > harmless_message) return EXIT_FAILURE; + else return EXIT_SUCCESS; @y /* VAX/VMS and UNIX have different error status conventions. diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.ch b/Build/source/texk/web2c/cwebdir/comm-w2c.ch index a300203de1f..34856c03e86 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.ch @@ -17,16 +17,16 @@ @q Please send comments, suggestions, etc. to tex-k@@tug.org. @> @x -\def\title{Common code for CTANGLE and CWEAVE (Version 4.0)} +\def\title{Common code for CTANGLE and CWEAVE (Version 4.1)} @y \def\Kpathsea/{{\mc KPATHSEA\spacefactor1000}} \ifacro\sanitizecommand\Kpathsea{KPATHSEA}\fi -\def\title{Common code for CTANGLE and CWEAVE (4.0 [\TeX~Live])} +\def\title{Common code for CTANGLE and CWEAVE (4.1 [\TeX~Live])} @z @x - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} @y - \centerline{(Version 4.0 [\TeX~Live])} + \centerline{(Version 4.1 [\TeX~Live])} @z @x @@ -390,8 +390,8 @@ can be made sensitive to these conditions. @z @x - if (history > harmless_message) return(1); - else return(0); + if (history > harmless_message) return EXIT_FAILURE; + else return EXIT_SUCCESS; @y switch(history) { case harmless_message: return RETURN_WARN; diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.h b/Build/source/texk/web2c/cwebdir/comm-w2c.h index 7c21ba1bc21..0adfa44977f 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.h +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.h @@ -2,7 +2,7 @@ % This program by Silvio Levy and Donald E. Knuth % is based on a program by Knuth. % It is distributed WITHOUT ANY WARRANTY, express or implied. -% Version 4.0 --- February 2021 (works also with later versions) +% Version 4.1 --- February 2021 (works also with later versions) % Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth diff --git a/Build/source/texk/web2c/cwebdir/common.c b/Build/source/texk/web2c/cwebdir/common.c index 37c467ae3b5..49b40d04664 100644 --- a/Build/source/texk/web2c/cwebdir/common.c +++ b/Build/source/texk/web2c/cwebdir/common.c @@ -459,7 +459,7 @@ FILE*fp) { register int c= EOF; register char*k; -if(feof(fp))return(false); +if(feof(fp))return false; limit= k= buffer; while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n') if((*(k++)= c)!=' ')limit= k; @@ -468,9 +468,9 @@ if((c= getc(fp))!=EOF&&c!='\n'){ ungetc(c,fp);loc= buffer;err_print("! Input line too long"); } -if(c==EOF&&limit==buffer)return(false); +if(c==EOF&&limit==buffer)return false; -return(true); +return true; } /*:24*//*28:*/ @@ -829,7 +829,7 @@ init_p(p,t); /*:51*/ #line 656 "common.w" -return(p); +return p; } /*:48*//*52:*/ @@ -1146,8 +1146,8 @@ case fatal_message:puts("(That was a fatal error, my friend.)"); /*:69*/ #line 1084 "common.w" -if(history> harmless_message)return(1); -else return(0); +if(history> harmless_message)return EXIT_FAILURE; +else return EXIT_SUCCESS; } /*:68*//*70:*/ diff --git a/Build/source/texk/web2c/cwebdir/common.h b/Build/source/texk/web2c/cwebdir/common.h index 3e0d07d77db..40896f808aa 100644 --- a/Build/source/texk/web2c/cwebdir/common.h +++ b/Build/source/texk/web2c/cwebdir/common.h @@ -2,7 +2,7 @@ % This program by Silvio Levy and Donald E. Knuth % is based on a program by Knuth. % It is distributed WITHOUT ANY WARRANTY, express or implied. -% Version 4.0 --- February 2021 (works also with later versions) +% Version 4.1 --- February 2021 (works also with later versions) % Copyright (C) 1987,1990,1993 Silvio Levy and Donald E. Knuth diff --git a/Build/source/texk/web2c/cwebdir/common.w b/Build/source/texk/web2c/cwebdir/common.w index e23a3d857b9..377a796126e 100644 --- a/Build/source/texk/web2c/cwebdir/common.w +++ b/Build/source/texk/web2c/cwebdir/common.w @@ -2,7 +2,7 @@ % This program by Silvio Levy and Donald E. Knuth % is based on a program by Knuth. % It is distributed WITHOUT ANY WARRANTY, express or implied. -% Version 4.0 --- February 2021 +% Version 4.1 --- February 2021 % Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth @@ -22,12 +22,12 @@ \def\v{\char'174} % vertical (|) in typewriter font -\def\title{Common code for CTANGLE and CWEAVE (Version 4.0)} +\def\title{Common code for CTANGLE and CWEAVE (Version 4.1)} \def\topofcontents{\null\vfill \centerline{\titlefont Common code for {\ttitlefont CTANGLE} and {\ttitlefont CWEAVE}} \vskip 15pt - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} \vfill} \def\botofcontents{\vfill \noindent @@ -165,7 +165,7 @@ FILE *fp@t\2\2@>) /* what file to read from */ { register int c=EOF; /* character read; initialized so some compilers won't complain */ register char *k; /* where next character goes */ - if (feof(fp)) return(false); /* we have hit end-of-file */ + if (feof(fp)) return false; /* we have hit end-of-file */ limit = k = buffer; /* beginning of buffer */ while (k<=buffer_end && (c=getc(fp)) != EOF && c!='\n') if ((*(k++) = c) != ' ') limit = k; @@ -174,9 +174,9 @@ FILE *fp@t\2\2@>) /* what file to read from */ ungetc(c,fp); loc=buffer; err_print("! Input line too long"); @.Input line too long@> } - if (c==EOF && limit==buffer) return(false); /* there was nothing after + if (c==EOF && limit==buffer) return false; /* there was nothing after the last newline */ - return(true); + return true; } @ Now comes the problem of deciding which file to read from next. @@ -654,7 +654,7 @@ char t@t\2\2@>) /* the |ilk|; used by \.{CWEAVE} only */ @<Compute the hash code |h|@>@; @<Compute the name location |p|@>@; if (p==name_ptr) @<Enter a new name into the table at position |p|@>@; - return(p); + return p; } @ A simple hash code is used: If the sequence of @@ -1082,8 +1082,8 @@ int wrap_up(void) { if (show_stats) print_stats(); /* print statistics about memory usage */ @<Print the job |history|@>@; - if (history > harmless_message) return(1); - else return(0); + if (history > harmless_message) return EXIT_FAILURE; + else return EXIT_SUCCESS; } @ @<Print the job |history|@>= diff --git a/Build/source/texk/web2c/cwebdir/ctang-bs.ch b/Build/source/texk/web2c/cwebdir/ctang-bs.ch index bbe1bcc8cc8..22310b8e70c 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-bs.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-bs.ch @@ -17,12 +17,12 @@ by using "huge" pointers. The ``banner line'' defined here should be changed whenever \.{CTANGLE} is modified. -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @y The ``banner line'' defined here should be changed whenever \.{CTANGLE} is modified. -@d banner "This is CTANGLE (Version 4.0pc/big)" +@d banner "This is CTANGLE (Version 4.1pc/big)" @z diff --git a/Build/source/texk/web2c/cwebdir/ctang-pc.ch b/Build/source/texk/web2c/cwebdir/ctang-pc.ch index a22a165be9e..686a2b0e6af 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-pc.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-pc.ch @@ -9,9 +9,9 @@ that allows >64K arrays. If you need lots of bytes and toks, try the alternate change files with -bs suffix instead of -pc. @x section 1 -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @y -@d banner "This is CTANGLE (Version 4.0pc)" +@d banner "This is CTANGLE (Version 4.1pc)" @z @x section 4 @d max_bytes 1000000 /* the number of bytes in identifiers, diff --git a/Build/source/texk/web2c/cwebdir/ctang-ql.ch b/Build/source/texk/web2c/cwebdir/ctang-ql.ch index d6cd1ee5e57..df4ca82a6f5 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-ql.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-ql.ch @@ -7,15 +7,15 @@ ex <dev_>cc;"-v -h -c -=500000 ctangle_c" @x -\def\title{CTANGLE (Version 4.0)} +\def\title{CTANGLE (Version 4.1)} @y -\def\title{CTANGLE (QL Version 4.0)} +\def\title{CTANGLE (QL Version 4.1)} @z @x section 1 -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @y -@d banner "This is CTANGLE (QL Version 4.0)" +@d banner "This is CTANGLE (QL Version 4.1)" @z @x diff --git a/Build/source/texk/web2c/cwebdir/ctang-vms.ch b/Build/source/texk/web2c/cwebdir/ctang-vms.ch index a4940e60e23..87acb6eb742 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-vms.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-vms.ch @@ -10,9 +10,9 @@ created: (these changes not necessary for initial bootstrapping) @x section 1 (01-FEB-1992 ST) -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @y -@d banner "This is CTANGLE (VAX/VMS Version 4.0)" +@d banner "This is CTANGLE (VAX/VMS Version 4.1)" @z @x section 3 (01-FEB-1992 ST) diff --git a/Build/source/texk/web2c/cwebdir/ctang-w2c.ch b/Build/source/texk/web2c/cwebdir/ctang-w2c.ch index f814b343351..d7677e4028c 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-w2c.ch @@ -17,15 +17,15 @@ @q Please send comments, suggestions, etc. to tex-k@@tug.org. @> @x -\def\title{CTANGLE (Version 4.0)} +\def\title{CTANGLE (Version 4.1)} @y -\def\title{CTANGLE (Version 4.0 [\TeX~Live])} +\def\title{CTANGLE (Version 4.1 [\TeX~Live])} @z @x - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} @y - \centerline{(Version 4.0 [\TeX~Live])} + \centerline{(Version 4.1 [\TeX~Live])} @z @x @@ -41,9 +41,9 @@ @z @x -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @y -@d banner "This is CTANGLE, Version 4.0" +@d banner "This is CTANGLE, Version 4.1" /* will be extended by the \TeX~Live |versionstring| */ @z @@ -343,7 +343,7 @@ features that have been created by numerous contributors over the course of a quarter century. Care has been taken to keep the original section numbering intact, so this new -material should nicely integrate with the original ``\&{105.~Index}.'' +material should nicely integrate with the original ``\&{104.~Index}.'' @* Output file update. Most \CEE/ projects are controlled by a \.{Makefile} that automatically takes care of the temporal dependecies diff --git a/Build/source/texk/web2c/cwebdir/ctang-w32.ch b/Build/source/texk/web2c/cwebdir/ctang-w32.ch index 01b22a3d662..896d0863274 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-w32.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-w32.ch @@ -4,9 +4,9 @@ This is the change file for CWEB's CTANGLE under Win32 Changes necessary for compiling with Borland C/C++ @x section 1 -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @y -@d banner "This is CTANGLE (Version 4.0win32)" +@d banner "This is CTANGLE (Version 4.1win32)" @z @x diff --git a/Build/source/texk/web2c/cwebdir/ctangle.c b/Build/source/texk/web2c/cwebdir/ctangle.c index de0a05a39c6..200d61a92b7 100644 --- a/Build/source/texk/web2c/cwebdir/ctangle.c +++ b/Build/source/texk/web2c/cwebdir/ctangle.c @@ -15,7 +15,7 @@ /*:4*/ #line 67 "ctangle.w" -#define banner "This is CTANGLE (Version 4.0)" \ +#define banner "This is CTANGLE (Version 4.1)" \ #define ctangle false #define cweave true \ @@ -137,7 +137,7 @@ #define ishigh(c) ((eight_bits) (c) > 0177) \ \ -#define compress(c) if(loc++<=limit) return(c) \ +#define compress(c) if(loc++<=limit) return c \ #define macro 0 #define app_repl(c) {if(tok_ptr==tok_mem_end) overflow("token") ;*tok_ptr++= c;} \ @@ -346,12 +346,7 @@ boolean no_where; text_pointer cur_text; eight_bits next_control; -/*:82*//*90:*/ -#line 1348 "ctangle.w" - -extern sixteen_bits section_count; - -/*:90*/ +/*:82*/ #line 71 "ctangle.w" /*8:*/ @@ -436,22 +431,22 @@ static eight_bits get_next(void); static void scan_repl(eight_bits); -/*:83*//*91:*/ -#line 1355 "ctangle.w" +/*:83*//*90:*/ +#line 1348 "ctangle.w" static void scan_section(void); -/*:91*//*99:*/ -#line 1458 "ctangle.w" +/*:90*//*98:*/ +#line 1455 "ctangle.w" static void phase_one(void); -/*:99*//*101:*/ -#line 1476 "ctangle.w" +/*:98*//*100:*/ +#line 1473 "ctangle.w" static void skip_limbo(void); -/*:101*/ +/*:100*/ #line 72 "ctangle.w" @@ -884,12 +879,12 @@ skip_ahead(void) { eight_bits c; while(true){ -if(loc> limit&&(get_line()==false))return(new_section); +if(loc> limit&&(get_line()==false))return new_section; *(limit+1)= '@'; while(*loc!='@')loc++; if(loc<=limit){ loc++;c= ccode[(eight_bits)*loc];loc++; -if(c!=ignore||*(loc-1)=='>')return(c); +if(c!=ignore||*(loc-1)=='>')return c; } } } @@ -904,24 +899,24 @@ char c; while(true){ if(loc> limit){ if(is_long_comment){ -if(get_line())return(comment_continues= true); +if(get_line())return comment_continues= true; else{ err_print("! Input ended in mid-comment"); -return(comment_continues= false); +return comment_continues= false; } } -else return(comment_continues= false); +else return comment_continues= false; } c= *(loc++); if(is_long_comment&&c=='*'&&*loc=='/'){ -loc++;return(comment_continues= false); +loc++;return comment_continues= false; } if(c=='@'){ if(ccode[(eight_bits)*loc]==new_section){ err_print("! Section name ended in mid-comment");loc--; -return(comment_continues= false); +return comment_continues= false; } else loc++; } @@ -939,7 +934,7 @@ eight_bits c; while(true){ if(loc> limit){ if(preprocessing&&*(limit-1)!='\\')preprocessing= 0; -if(get_line()==false)return(new_section); +if(get_line()==false)return new_section; else if(print_where&&!no_where){ print_where= false; /*85:*/ @@ -961,13 +956,13 @@ app_repl(a_l%0400);} #line 900 "ctangle.w" } -else return('\n'); +else return'\n'; } c= *loc; if(comment_continues||(c=='/'&&(*(loc+1)=='*'||*(loc+1)=='/'))){ skip_comment(comment_continues||*(loc+1)=='*'); -if(comment_continues)return('\n'); +if(comment_continues)return'\n'; else continue; } loc++; @@ -993,7 +988,7 @@ while(xisdigit(*loc))loc++; found:while(*loc=='u'||*loc=='U'||*loc=='l'||*loc=='L' ||*loc=='f'||*loc=='F')loc++; id_loc= loc; -return(constant); +return constant; } /*:73*/ @@ -1043,7 +1038,7 @@ term_write(section_text+1,25); err_print("..."); } id_loc++; -return(string); +return string; } /*:74*/ @@ -1056,7 +1051,7 @@ else if(isalpha(c)||isxalpha(c)||ishigh(c)) id_first= --loc; while(isalpha((eight_bits)*++loc)||isdigit((eight_bits)*loc) ||isxalpha((eight_bits)*loc)||ishigh((eight_bits)*loc)); -id_loc= loc;return(identifier); +id_loc= loc;return identifier; } /*:72*/ @@ -1155,7 +1150,7 @@ overflow("output files"); /*:47*/ #line 1098 "ctangle.w" -return(section_name); +return section_name; } /*:77*/ @@ -1169,7 +1164,7 @@ while(*loc!='@'||*(loc+1)!='>')loc++; if(loc>=limit)err_print("! Verbatim string didn't end"); id_loc= loc;loc+= 2; -return(string); +return string; } /*:81*/ @@ -1196,12 +1191,12 @@ err_print("! String didn't end");loc= limit-1;break; } } loc++; -return(ord); +return ord; /*:76*/ #line 1058 "ctangle.w" -default:return(c); +default:return c; } } @@ -1211,7 +1206,7 @@ default:return(c); else if(xisspace(c)){ if(!preprocessing||loc> limit)continue; -else return(' '); +else return' '; } else if(c=='#'&&loc==buffer+1)preprocessing= 1; mistake:/*71:*/ @@ -1241,7 +1236,7 @@ case'!':if(*loc=='=')compress(non_eq);break; /*:71*/ #line 926 "ctangle.w" -return(c); +return c; } } @@ -1438,8 +1433,8 @@ if(text_ptr> text_info_end)overflow("text"); cur_text= text_ptr;(++text_ptr)->tok_start= tok_ptr; } -/*:84*//*92:*/ -#line 1358 "ctangle.w" +/*:84*//*91:*/ +#line 1355 "ctangle.w" static void scan_section(void) @@ -1453,8 +1448,8 @@ printf("*%d",section_count);update_terminal; } next_control= 0; while(true){ -/*93:*/ -#line 1397 "ctangle.w" +/*92:*/ +#line 1394 "ctangle.w" while(next_control<definition) @@ -1462,12 +1457,12 @@ if((next_control= skip_ahead())==section_name){ loc-= 2;next_control= get_next(); } -/*:93*/ -#line 1372 "ctangle.w" +/*:92*/ +#line 1369 "ctangle.w" if(next_control==definition){ -/*94:*/ -#line 1404 "ctangle.w" +/*93:*/ +#line 1401 "ctangle.w" { while((next_control= get_next())=='\n'); if(next_control!=identifier){ @@ -1485,8 +1480,8 @@ scan_repl(macro); cur_text->text_link= macro; } -/*:94*/ -#line 1374 "ctangle.w" +/*:93*/ +#line 1371 "ctangle.w" continue; } @@ -1495,36 +1490,36 @@ p= name_dir;break; } if(next_control==section_name){ p= cur_section_name; -/*95:*/ -#line 1429 "ctangle.w" +/*94:*/ +#line 1426 "ctangle.w" while((next_control= get_next())=='+'); if(next_control!='='&&next_control!=eq_eq) continue; -/*:95*/ -#line 1382 "ctangle.w" +/*:94*/ +#line 1379 "ctangle.w" break; } return; } no_where= print_where= false; -/*96:*/ -#line 1434 "ctangle.w" +/*95:*/ +#line 1431 "ctangle.w" -/*97:*/ -#line 1439 "ctangle.w" +/*96:*/ +#line 1436 "ctangle.w" store_two_bytes((sixteen_bits)(0150000+section_count)); -/*:97*/ -#line 1435 "ctangle.w" +/*:96*/ +#line 1432 "ctangle.w" scan_repl(section_name); -/*98:*/ -#line 1443 "ctangle.w" +/*97:*/ +#line 1440 "ctangle.w" if(p==name_dir||p==0){ (last_unnamed)->text_link= cur_text-text_info;last_unnamed= cur_text; @@ -1540,17 +1535,17 @@ q->text_link= cur_text-text_info; cur_text->text_link= section_flag; -/*:98*/ -#line 1437 "ctangle.w" +/*:97*/ +#line 1434 "ctangle.w" -/*:96*/ -#line 1388 "ctangle.w" +/*:95*/ +#line 1385 "ctangle.w" } -/*:92*//*100:*/ -#line 1461 "ctangle.w" +/*:91*//*99:*/ +#line 1458 "ctangle.w" static void phase_one(void){ @@ -1563,8 +1558,8 @@ check_complete(); phase= 2; } -/*:100*//*102:*/ -#line 1479 "ctangle.w" +/*:99*//*101:*/ +#line 1476 "ctangle.w" static void skip_limbo(void) @@ -1578,8 +1573,8 @@ if(loc++<=limit){ c= *loc++; if(ccode[(eight_bits)c]==new_section)break; switch(ccode[(eight_bits)c]){ -case translit_code:/*103:*/ -#line 1508 "ctangle.w" +case translit_code:/*102:*/ +#line 1505 "ctangle.w" while(xisspace(*loc)&&loc<limit)loc++; loc+= 3; @@ -1603,8 +1598,8 @@ translit[i-0200][loc-beg]= '\0'; } } -/*:103*/ -#line 1492 "ctangle.w" +/*:102*/ +#line 1489 "ctangle.w" break; case format_code:case'@':break; case control_text:if(c=='q'||c=='Q'){ @@ -1621,8 +1616,8 @@ default:err_print("! Double @ should be used in limbo"); } } -/*:102*//*104:*/ -#line 1534 "ctangle.w" +/*:101*//*103:*/ +#line 1531 "ctangle.w" void print_stats(void){ @@ -1637,4 +1632,4 @@ printf("%ld tokens (out of %ld)\n", (ptrdiff_t)(tok_ptr-tok_mem),(long)max_toks); } -/*:104*/ +/*:103*/ diff --git a/Build/source/texk/web2c/cwebdir/ctangle.w b/Build/source/texk/web2c/cwebdir/ctangle.w index 64477a5c935..3e717fbda2f 100644 --- a/Build/source/texk/web2c/cwebdir/ctangle.w +++ b/Build/source/texk/web2c/cwebdir/ctangle.w @@ -2,7 +2,7 @@ % This program by Silvio Levy and Donald E. Knuth % is based on a program by Knuth. % It is distributed WITHOUT ANY WARRANTY, express or implied. -% Version 4.0 --- February 2021 +% Version 4.1 --- February 2021 % Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth @@ -27,11 +27,11 @@ \mathchardef\RA="3221 % right arrow \mathchardef\BA="3224 % double arrow -\def\title{CTANGLE (Version 4.0)} +\def\title{CTANGLE (Version 4.1)} \def\topofcontents{\null\vfill \centerline{\titlefont The {\ttitlefont CTANGLE} processor} \vskip 15pt - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} \vfill} \def\botofcontents{\vfill \noindent @@ -61,7 +61,7 @@ Joachim Schrod, Lee Wittenberg, and others who have contributed improvements. The ``banner line'' defined here should be changed whenever \.{CTANGLE} is modified. -@d banner "This is CTANGLE (Version 4.0)" +@d banner "This is CTANGLE (Version 4.1)" @c @<Include files@>@/ @@ -805,12 +805,12 @@ skip_ahead(void) /* skip to next control code */ { eight_bits c; /* control code found */ while (true) { - if (loc>limit && (get_line()==false)) return(new_section); + if (loc>limit && (get_line()==false)) return new_section; *(limit+1)='@@'; while (*loc!='@@') loc++; if (loc<=limit) { loc++; c=ccode[(eight_bits)*loc]; loc++; - if (c!=ignore || *(loc-1)=='>') return(c); + if (c!=ignore || *(loc-1)=='>') return c; } } } @@ -842,24 +842,24 @@ boolean is_long_comment@t\2\2@>) while (true) { if (loc>limit) { if (is_long_comment) { - if(get_line()) return(comment_continues=true); + if(get_line()) return comment_continues=true; else{ err_print("! Input ended in mid-comment"); @.Input ended in mid-comment@> - return(comment_continues=false); + return comment_continues=false; } } - else return(comment_continues=false); + else return comment_continues=false; } c=*(loc++); if (is_long_comment && c=='*' && *loc=='/') { - loc++; return(comment_continues=false); + loc++; return comment_continues=false; } if (c=='@@') { if (ccode[(eight_bits)*loc]==new_section) { err_print("! Section name ended in mid-comment"); loc--; @.Section name ended in mid-comment@> - return(comment_continues=false); + return comment_continues=false; } else loc++; } @@ -894,18 +894,18 @@ get_next(void) /* produces the next input token */ while (true) { if (loc>limit) { if (preprocessing && *(limit-1)!='\\') preprocessing=0; - if (get_line()==false) return(new_section); + if (get_line()==false) return new_section; else if (print_where && !no_where) { print_where=false; @<Insert the line number into |tok_mem|@>@; } - else return ('\n'); + else return '\n'; } c=*loc; if (comment_continues || (c=='/' && (*(loc+1)=='*' || *(loc+1)=='/'))) { skip_comment(comment_continues||*(loc+1)=='*'); /* scan to end of comment or newline */ - if (comment_continues) return('\n'); + if (comment_continues) return '\n'; else continue; } loc++; @@ -920,11 +920,11 @@ get_next(void) /* produces the next input token */ else if (xisspace(c)) { if (!preprocessing || loc>limit) continue; /* we don't want a blank after a final backslash */ - else return(' '); /* ignore spaces and tabs, unless preprocessing */ + else return ' '; /* ignore spaces and tabs, unless preprocessing */ } else if (c=='#' && loc==buffer+1) preprocessing=1; mistake: @<Compress two-symbol operator@>@; - return(c); + return c; } } @@ -935,7 +935,7 @@ combinations \.{...}, \.{::}, \.{.*} and \.{->*}. The compound assignment operators (e.g., \.{+=}) are treated as separate tokens. -@d compress(c) if (loc++<=limit) return(c) +@d compress(c) if (loc++<=limit) return c @<Compress tw...@>= switch(c) { @@ -963,7 +963,7 @@ switch(c) { id_first=--loc; while (isalpha((eight_bits)*++loc) || isdigit((eight_bits)*loc) @| || isxalpha((eight_bits)*loc) || ishigh((eight_bits)*loc)); - id_loc=loc; return(identifier); + id_loc=loc; return identifier; } @ @<Get a constant@>= { @@ -986,7 +986,7 @@ switch(c) { found: while (*loc=='u' || *loc=='U' || *loc=='l' || *loc=='L' || *loc=='f' || *loc=='F') loc++; id_loc=loc; - return(constant); + return constant; } @ \CEE/ strings and character constants, delimited by double and single @@ -1033,7 +1033,7 @@ convention, but do not allow the string to be longer than |longest_name|. err_print("..."); } id_loc++; - return(string); + return string; } @ After an \.{@@} sign has been scanned, the next character tells us @@ -1056,7 +1056,7 @@ whether there is more work to do. @<Scan the section name and make |cur_section_name| point to it@>@; case string: @<Scan a verbatim string@>@; case ord: @<Scan an ASCII constant@>@; - default: return(c); + default: return c; } } @@ -1085,7 +1085,7 @@ thus, \.{@@'\\nopq'} gives the same result as \.{@@'\\n'}. } } loc++; - return(ord); + return ord; @ @<Scan the section name...@>= { char *k; /* pointer into |section_text| */ @@ -1096,7 +1096,7 @@ thus, \.{@@'\\nopq'} gives the same result as \.{@@'\\n'}. if (cur_section_name_char=='(') @<If it's not there, add |cur_section_name| to the output file stack, or complain we're out of room@>@; - return(section_name); + return section_name; } @ Section names are placed into the |section_text| array with consecutive spaces, @@ -1159,7 +1159,7 @@ buffer. We also set |loc| to the position just after the ending delimiter. if (loc>=limit) err_print("! Verbatim string didn't end"); @.Verbatim string didn't end@> id_loc=loc; loc+=2; - return(string); + return string; } @* Scanning a macro definition. @@ -1345,17 +1345,14 @@ sensed in the input, and it proceeds until the end of that section. It uses |section_count| to keep track of the current section number; with luck, \.{CWEAVE} and \.{CTANGLE} will both assign the same numbers to sections. -@<Global...@>= -extern sixteen_bits section_count; /* the current section number */ +@<Predecl...@>= +static void scan_section(void);@/ @ The body of |scan_section| is a loop where we look for control codes that are significant to \.{CTANGLE}: those that delimit a definition, the \CEE/ part of a module, or a new module. -@<Predecl...@>= -static void scan_section(void);@/ - -@ @c +@c static void scan_section(void) { diff --git a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch index 410f270491b..5f6788aa9f9 100644 --- a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch +++ b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch @@ -14,7 +14,7 @@ Section 1. @z @x -@d banner "This is CTWILL, Version 4.0" +@d banner "This is CTWILL, Version 4.1" @y \bigskip {\font\itt=cmitt10 \font\bit=cmbxti10 @@ -35,7 +35,7 @@ be even more ``off'' from {\itt cweave.w}. Care has been taken to give a faithful overall rendering of {\itt CTWILL}'s code, though. \hfill ---Enjoy!\bigskip} -@d banner "This is CTWILL, Version 4.0" +@d banner "This is CTWILL, Version 4.1" @z Section 2. diff --git a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch index 0849495bd85..4008555140e 100644 --- a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch @@ -34,9 +34,9 @@ @z @x -\def\title{CWEAVE (Version 4.0)} +\def\title{CWEAVE (Version 4.1)} @y -\def\title{CTWILL (Version 4.0 [\TeX~Live])} +\def\title{CTWILL (Version 4.1 [\TeX~Live])} @z @x @@ -46,9 +46,9 @@ @z @x - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} @y - \centerline{(Version 4.0 [\TeX~Live])} + \centerline{(Version 4.1 [\TeX~Live])} @z @x @@ -75,7 +75,7 @@ Crusius, and others who have contributed improvements. The ``banner line'' defined here should be changed whenever \.{CWEAVE} is modified. -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y This is the \.{CTWILL} program by D. E. Knuth, based on \.{CWEAVE} by Silvio Levy and D.~E. Knuth. It is also based on @@ -94,7 +94,7 @@ reprinted in {\sl Digital Typography\/} (1999), 225--245. The ``banner line'' defined here should be changed whenever \.{CTWILL} is modified. The version number parallels the corresponding version of \.{CWEAVE}. -@d banner "This is CTWILL, Version 4.0" +@d banner "This is CTWILL, Version 4.1" /* will be extended by the \TeX~Live |versionstring| */ @z diff --git a/Build/source/texk/web2c/cwebdir/cweav-bs.ch b/Build/source/texk/web2c/cwebdir/cweav-bs.ch index f6fa97175f6..723208d6c7f 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-bs.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-bs.ch @@ -20,12 +20,12 @@ This file contributed by Barry Schwartz, trashman@crud.mn.org, 28 Jun 94. The ``banner line'' defined here should be changed whenever \.{CWEAVE} is modified. -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y The ``banner line'' defined here should be changed whenever \.{CWEAVE} is modified. -@d banner "This is CWEAVE (Version 4.0pc/big)" +@d banner "This is CWEAVE (Version 4.1pc/big)" @z diff --git a/Build/source/texk/web2c/cwebdir/cweav-man.ch b/Build/source/texk/web2c/cwebdir/cweav-man.ch index b72360944a2..83b14c9007e 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-man.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-man.ch @@ -16,7 +16,7 @@ under the terms of a permission notice identical to this one. } @y \def\botofcontents{\vfill\titlefalse} -\def\contentspagenumber{111} +\def\contentspagenumber{110} \def\title{APPENDIX F: CWEAVE} \let\K=\leftarrow @z diff --git a/Build/source/texk/web2c/cwebdir/cweav-pc.ch b/Build/source/texk/web2c/cwebdir/cweav-pc.ch index 64508e23697..2619998cc35 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-pc.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-pc.ch @@ -11,9 +11,9 @@ that allows >64K arrays. (If you need lots more bytes, try the alternate change files that have -bs in their name instead of -pc.) @x section 1 -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y -@d banner "This is CWEAVE (Version 4.0pc)" +@d banner "This is CWEAVE (Version 4.1pc)" @z @x section 4 diff --git a/Build/source/texk/web2c/cwebdir/cweav-ql.ch b/Build/source/texk/web2c/cwebdir/cweav-ql.ch index b61e570c2c9..28227aff889 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-ql.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-ql.ch @@ -7,15 +7,15 @@ ex <dev_>cc;"-v -h -c =500000 cweave_c" @x -\def\title{CWEAVE (Version 4.0)} +\def\title{CWEAVE (Version 4.1)} @y -\def\title{CWEAVE (QL Version 4.0)} +\def\title{CWEAVE (QL Version 4.1)} @z @x section 1 -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y -@d banner "This is CWEAVE (QL Version 4.0)" +@d banner "This is CWEAVE (QL Version 4.1)" @z @x diff --git a/Build/source/texk/web2c/cwebdir/cweav-vms.ch b/Build/source/texk/web2c/cwebdir/cweav-vms.ch index 8f0535917d1..ea3501460bb 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-vms.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-vms.ch @@ -13,9 +13,9 @@ modified: (also modified by Don Knuth to keep version numbers uptodate) @x section 1 (01-FEB-1992 ST) -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y -@d banner "This is CWEAVE (VAX/VMS Version 4.0)" +@d banner "This is CWEAVE (VAX/VMS Version 4.1)" @z @x section 3 (01-FEB-1992 ST) diff --git a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch index 4ff1c15f3f0..79ff089b8ce 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-w2c.ch @@ -17,15 +17,15 @@ @q Please send comments, suggestions, etc. to tex-k@@tug.org. @> @x -\def\title{CWEAVE (Version 4.0)} +\def\title{CWEAVE (Version 4.1)} @y -\def\title{CWEAVE (Version 4.0 [\TeX~Live])} +\def\title{CWEAVE (Version 4.1 [\TeX~Live])} @z @x - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} @y - \centerline{(Version 4.0 [\TeX~Live])} + \centerline{(Version 4.1 [\TeX~Live])} @z @x @@ -41,9 +41,9 @@ @z @x -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y -@d banner "This is CWEAVE, Version 4.0" +@d banner "This is CWEAVE, Version 4.1" /* will be extended by the \TeX~Live |versionstring| */ @z diff --git a/Build/source/texk/web2c/cwebdir/cweav-w32.ch b/Build/source/texk/web2c/cwebdir/cweav-w32.ch index c993cb39f4a..575387bb1a1 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-w32.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-w32.ch @@ -2,9 +2,9 @@ This is the change file for CWEB's CWEAVE under Win32 (Contributed by Fabrice Popineau, February 2002) @x section 1 -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @y -@d banner "This is CWEAVE (Version 4.0win32)" +@d banner "This is CWEAVE (Version 4.1win32)" @z @x diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w index aed597b138c..8be353088c0 100644 --- a/Build/source/texk/web2c/cwebdir/cweave.w +++ b/Build/source/texk/web2c/cwebdir/cweave.w @@ -2,7 +2,7 @@ % This program by Silvio Levy and Donald E. Knuth % is based on a program by Knuth. % It is distributed WITHOUT ANY WARRANTY, express or implied. -% Version 4.0 --- February 2021 +% Version 4.1 --- February 2021 % Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth @@ -32,11 +32,11 @@ \def\skipxTeX{\\{skip\_\TEX/}} \def\copyxTeX{\\{copy\_\TEX/}} -\def\title{CWEAVE (Version 4.0)} +\def\title{CWEAVE (Version 4.1)} \def\topofcontents{\null\vfill \centerline{\titlefont The {\ttitlefont CWEAVE} processor} \vskip 15pt - \centerline{(Version 4.0)} + \centerline{(Version 4.1)} \vfill} \def\botofcontents{\vfill \noindent @@ -67,7 +67,7 @@ Crusius, and others who have contributed improvements. The ``banner line'' defined here should be changed whenever \.{CWEAVE} is modified. -@d banner "This is CWEAVE (Version 4.0)" +@d banner "This is CWEAVE (Version 4.1)" @c @<Include files@>@/ @h @@ -618,11 +618,11 @@ static eight_bits skip_TeX(void) /* skip past pure \TEX/ code */ { while (true) { - if (loc>limit && get_line()==false) return(new_section); + if (loc>limit && get_line()==false) return new_section; *(limit+1)='@@'; while (*loc!='@@' && *loc!='|') loc++; - if (*loc++ =='|') return('|'); - if (loc<=limit) return(ccode[(eight_bits)*(loc++)]); + if (*loc++ =='|') return '|'; + if (loc<=limit) return ccode[(eight_bits)*(loc++)]; } } @@ -690,7 +690,7 @@ get_next(void) /* produces the next input token */ eight_bits c; /* the current character */ while (true) { @<Check if we're at the end of a preprocessor command@>@; - if (loc>limit && get_line()==false) return(new_section); + if (loc>limit && get_line()==false) return new_section; c=*(loc++); if (xisdigit(c) || c=='.') @<Get a constant@>@; else if (c=='\'' || c=='"'@| @@ -704,7 +704,7 @@ get_next(void) /* produces the next input token */ else if (xisspace(c)) continue; /* ignore spaces and tabs */ if (c=='#' && loc==buffer+1) @<Raise preprocessor flag@>@; mistake: @<Compress two-symbol operator@>@; - return(c); + return c; } } @@ -727,7 +727,7 @@ boolean preprocessing=false; /* are we scanning a preprocessor command? */ @ @<Raise prep...@>= { preprocessing=true; @<Check if next token is |include|@>@; - return (left_preproc); + return left_preproc; } @ An additional complication is the freakish use of \.< and \.> to delimit @@ -747,10 +747,10 @@ the last character was a \.\\. @<Check if we're at...@>= while (loc==limit-1 && preprocessing && *loc=='\\') - if (get_line()==false) return(new_section); /* still in preprocessor mode */ + if (get_line()==false) return new_section; /* still in preprocessor mode */ if (loc>=limit && preprocessing) { preprocessing=sharp_include_line=false; - return(right_preproc); + return right_preproc; } @ The following code assigns values to the combinations \.{++}, @@ -760,7 +760,7 @@ combinations \.{...}, \.{::}, \.{.*} and \.{->*}. The compound assignment operators (e.g., \.{+=}) are treated as separate tokens. -@d compress(c) if (loc++<=limit) return(c) +@d compress(c) if (loc++<=limit) return c @<Compress tw...@>= switch(c) { @@ -790,7 +790,7 @@ switch(c) { id_first=--loc; while (isalpha((eight_bits)*++loc) || isdigit((eight_bits)*loc) @| || isxalpha((eight_bits)*loc) || ishigh((eight_bits)*loc)); - id_loc=loc; return(identifier); + id_loc=loc; return identifier; } @ Different conventions are followed by \TEX/ and \CEE/ to express octal @@ -826,7 +826,7 @@ are pointers into the array |section_text|, not into |buffer|. || *loc=='f' || *loc=='F') { *id_loc++='$'; *id_loc++=toupper((eight_bits)*loc); loc++; } - return(constant); + return constant; } @ \CEE/ strings and character constants, delimited by double and single @@ -873,7 +873,7 @@ convention, but do not allow the string to be longer than |longest_name|. printf("..."); mark_error; } id_loc++; - return(string); + return string; } @ After an \.{@@} sign has been scanned, the next character tells us @@ -887,12 +887,12 @@ whether there is more work to do. case underline: xref_switch=def_flag; continue; case trace: tracing=c-'0'; continue; case xref_roman: case xref_wildcard: case xref_typewriter: case noop: - case TeX_string: c=ccode[(eight_bits)c]; skip_restricted(); return(c); + case TeX_string: c=ccode[(eight_bits)c]; skip_restricted(); return c; case section_name: @<Scan the section name and make |cur_section| point to it@>@; case verbatim: @<Scan a verbatim string@>@; case ord: @<Get a string@>@; - default: return(ccode[(eight_bits)c]); + default: return ccode[(eight_bits)c]; } } @@ -906,7 +906,7 @@ because the section name might (for example) follow \&{int}. if (k-section_text>3 && strncmp(k-2,"...",3)==0) cur_section=section_lookup(section_text+1,k-3,1); /* 1 indicates a prefix */ else cur_section=section_lookup(section_text+1,k,0); - xref_switch=0; return(section_name); + xref_switch=0; return section_name; } @ Section names are placed into the |section_text| array with consecutive spaces, @@ -994,7 +994,7 @@ buffer. We also set |loc| to the position just after the ending delimiter. if (loc>=limit) err_print("! Verbatim string didn't end"); @.Verbatim string didn't end@> id_loc=loc; loc+=2; - return (verbatim); + return verbatim; } @** Phase one processing. @@ -1527,14 +1527,14 @@ copy_TeX(void) { char c; /* current character being copied */ while (true) { - if (loc>limit && (finish_line(), get_line()==false)) return(new_section); + if (loc>limit && (finish_line(), get_line()==false)) return new_section; *(limit+1)='@@'; while ((c=*(loc++))!='|' && c!='@@') { out(c); if (out_ptr==out_buf+1 && (xisspace(c))) out_ptr--; } - if (c=='|') return('|'); - if (loc<=limit) return(ccode[(eight_bits)*(loc++)]); + if (c=='|') return '|'; + if (loc<=limit) return ccode[(eight_bits)*(loc++)]; } } @@ -1572,7 +1572,7 @@ int bal@t\2\2@>) /* brace balance */ } } c=*(loc++); - if (c=='|') return(bal); + if (c=='|') return bal; if (is_long_comment) @<Check for end of comment@>@; if (phase==2) { if (ishigh(c)) app_tok(quoted_char); @@ -1615,7 +1615,7 @@ enough right braces to keep \TEX/ happy. @<Clear |bal|...@>= if (phase==2) while (bal-- >0) app_tok('}'); -return(0); +return 0; @** Parsing. The most intricate part of \.{CWEAVE} is its mechanism for converting @@ -3175,7 +3175,7 @@ where appropriate. if (j->mathness / 4 == yes_math) app('$'); if (tok_ptr+6>tok_mem_end) overflow("token"); } - freeze_text; return(text_ptr-1); + freeze_text; return text_ptr-1; } @ @<If semi-tracing, show the irreducible scraps@>= @@ -3494,7 +3494,7 @@ C_translate(void) p=translate(); /* make the translation */ if (scrap_ptr>max_scr_ptr) max_scr_ptr=scrap_ptr; scrap_ptr=scrap_base-1; scrap_base=save_base; /* scrap the scraps */ - return(p); + return p; } @ The |outer_parse| routine is to |C_parse| as |outer_xref| @@ -3679,16 +3679,16 @@ get_output(void) /* returns the next token of output */ if (a>=0400) { cur_name=a % id_flag + name_dir; switch (a / id_flag) { - case 2: return(res_word); /* |a==res_flag+cur_name| */ - case 3: return(section_code); /* |a==section_flag+cur_name| */ + case 2: return res_word ; /* |a==res_flag+cur_name| */ + case 3: return section_code ; /* |a==section_flag+cur_name| */ case 4: push_level(a % id_flag + tok_start); goto restart; /* |a==tok_flag+cur_name| */ case 5: push_level(a % id_flag + tok_start); cur_mode=inner; goto restart; /* |a==inner_tok_flag+cur_name| */ - default: return(identifier); /* |a==id_flag+cur_name| */ + default: return identifier; /* |a==id_flag+cur_name| */ } } - return((eight_bits)a); + return (eight_bits)a; } @ The real work associated with token output is done by |make_output|. diff --git a/Build/source/texk/web2c/cwebdir/cwebmac.tex b/Build/source/texk/web2c/cwebdir/cwebmac.tex index 228de239bf9..8b49cab3c67 100644 --- a/Build/source/texk/web2c/cwebdir/cwebmac.tex +++ b/Build/source/texk/web2c/cwebdir/cwebmac.tex @@ -1,8 +1,8 @@ % standard macros for CWEB listings (in addition to plain.tex) -% Version 4.0 --- February 2021 +% Version 4.1 --- February 2021 \ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros -\xdef\fmtversion{\fmtversion+CWEB4.0} -\chardef\cwebversion=4 \chardef\cwebrevision=0 +\xdef\fmtversion{\fmtversion+CWEB4.1} +\chardef\cwebversion=4 \chardef\cwebrevision=1 \newif\ifpdf \ifx\pdf+\pdftrue\fi % Uncomment the following line if you want PDF goodies to be the default @@ -14,7 +14,7 @@ %\else \pdftextrue \pdfoutput=1 \input pdfcolor \let\setcolor\pdfsetcolor \fi\fi \else \pdftextrue \pdfoutput=1 % changed in 3.69 \def\Black{\pdfliteral{0 g 0 G}} % use rgb colors for direct PDF output too - \def\Blue{\pdfliteral{0 0 1 rg 0 0 1 RG}} + \def\Blue{\pdfliteral{\pdflinkcolor\space rg \pdflinkcolor\space RG}} \fi\fi \newif\ifacro \ifpdf\acrotrue\fi \ifpdftex\acrotrue\fi @@ -282,12 +282,10 @@ \def\stsec{\rightskip=0pt % get out of C mode (cf. \B) \sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50 \noindent{\let\*=\lapstar\bf\secstar.\quad}% - \ifpdftex\smash{\raise\baselineskip\hbox to0pt{% -% \let\*=\empty\pdfdest num \secstar fith}} % bad space in versions < 3.68 - \let\*=\empty\pdfdest num \secstar fith}}% changed in version 3.68 - \else\ifpdf\smash{\raise\baselineskip\hbox to0pt{% - \let\*=\empty\special{% - pdf: dest (\romannumeral\secstar) [ @thispage /FitH @ypos ]}}}\fi\fi} + \ifacro \smash{\raise\baselineskip\hbox to0pt{\let\*=\empty + \ifpdftex \pdfdest num \secstar fith% + \else \special{pdf: dest (\romannumeral\secstar) + [ @thispage /FitH @ypos ]}\fi}}\fi} \let\startsection=\stsec \def\defin#1{\global\advance\ind by 2 \1\&{#1 } } % begin `define' or `format' \def\A{\note{See also section}} % xref for doubly defined section name diff --git a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch index 3f8a3ff9335..491cb64c82d 100644 --- a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch @@ -93,17 +93,17 @@ @z @x -\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.0)} +\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.1)} @y \def\Kpathsea/{{\mc KPATHSEA\spacefactor1000}} -\def\runninghead{{\tentt CWEB} USER MANUAL (4.0 [\TeX~Live])} +\def\runninghead{{\tentt CWEB} USER MANUAL (4.1 [\TeX~Live])} @z @x -\vskip 18pt\centerline{(Version 4.0 --- February 2021)} +\vskip 18pt\centerline{(Version 4.1 --- February 2021)} @y -\vskip 18pt\centerline{(Version 4.0 --- February 2021)% -\footnote*{This document describes the extended \.{CWEB} (4.0 [\TeX~Live]).}} +\vskip 18pt\centerline{(Version 4.1 --- February 2021)% +\footnote*{This document describes the extended \.{CWEB} (4.1 [\TeX~Live]).}} @z @x @@ -303,9 +303,9 @@ And here's what the same excerpt looks like when typeset. @z @x - \.{ { }\\vskip 15pt \\centerline\{(Version 4.0)\}{ }\\vfill\}}\cr}$$ + \.{ { }\\vskip 15pt \\centerline\{(Version 4.1)\}{ }\\vfill\}}\cr}$$ @y - \.{ { }\\vskip 15pt \\centerline\{(Version 4.0)\}{ }\\vfill\}}\cr}$$ + \.{ { }\\vskip 15pt \\centerline\{(Version 4.1)\}{ }\\vfill\}}\cr}$$ @z @x diff --git a/Build/source/texk/web2c/cwebdir/cwebman.tex b/Build/source/texk/web2c/cwebdir/cwebman.tex index 3cf075b883e..fd7f16446c9 100644 --- a/Build/source/texk/web2c/cwebdir/cwebman.tex +++ b/Build/source/texk/web2c/cwebdir/cwebman.tex @@ -36,7 +36,7 @@ \def\lheader{\mainfont\the\pageno\hfill\sc\runninghead\hfill} \def\rheader{\hfill\sc\runninghead\hfill\mainfont\the\pageno} -\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.0)} +\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.1)} % This verbatim mode assumes that ! marks are !! in the text being copied. \def\verbatim{\begingroup @@ -50,7 +50,7 @@ \null\vfill \centerline{\titlefont The {\ttitlefont CWEB} System of Structured Documentation} -\vskip 18pt\centerline{(Version 4.0 --- February 2021)} +\vskip 18pt\centerline{(Version 4.1 --- February 2021)} \vskip 24pt \centerline{\authorfont Donald E. Knuth and Silvio Levy} \vfill @@ -1591,7 +1591,7 @@ $$\lpile{\.{\\def\\topofcontents\{\\null\\vfill}\cr \.{ { }\\titlefalse \% include headline on the contents page}\cr \.{ { }\\def\\rheader\{\\mainfont The \{\\tt CWEAVE\}{ }processor\\hfil\}}\cr \.{ { }\\centerline\{\\titlefont The \{\\ttitlefont CWEAVE\}{ }processor\}}\cr - \.{ { }\\vskip 15pt \\centerline\{(Version 4.0)\}{ }\\vfill\}}\cr}$$ + \.{ { }\\vskip 15pt \\centerline\{(Version 4.1)\}{ }\\vfill\}}\cr}$$ Redefining \.{\\rheader}, which is the headline for right-hand pages, suffices in this case to put the desired information at the top of the contents page. diff --git a/Build/source/texk/web2c/cwebdir/po/cweb-tl.pot b/Build/source/texk/web2c/cwebdir/po/cweb-tl.pot index 21d2b91c078..e46869ad565 100644 --- a/Build/source/texk/web2c/cwebdir/po/cweb-tl.pot +++ b/Build/source/texk/web2c/cwebdir/po/cweb-tl.pot @@ -30,15 +30,15 @@ msgid "%s: Need one to three file arguments.\n" msgstr "" #: ctang-texlive.ch:39 -msgid "This is CTANGLE, Version 4.0" +msgid "This is CTANGLE, Version 4.1" msgstr "" #: ctwill-texlive.ch:39 -msgid "This is CTWILL, Version 4.0" +msgid "This is CTWILL, Version 4.1" msgstr "" #: cweav-texlive.ch:39 -msgid "This is CWEAVE, Version 4.0" +msgid "This is CWEAVE, Version 4.1" msgstr "" #: comm-texlive.ch:512 diff --git a/Build/source/texk/web2c/cwebdir/po/cweb.pot b/Build/source/texk/web2c/cwebdir/po/cweb.pot index 812dbf3f72e..2d7023d3efd 100644 --- a/Build/source/texk/web2c/cwebdir/po/cweb.pot +++ b/Build/source/texk/web2c/cwebdir/po/cweb.pot @@ -523,15 +523,15 @@ msgid "Sorting:" msgstr "" #: ctang-i18n.ch:17 -msgid "This is CTANGLE (Version 4.0 [CWEBbin 2021])" +msgid "This is CTANGLE (Version 4.1 [CWEBbin 2021])" msgstr "" #: cweav-twill.ch:61 -msgid "This is CTWILL (Version 4.0 [CWEBbin 2021])" +msgid "This is CTWILL (Version 4.1 [CWEBbin 2021])" msgstr "" #: cweav-i18n.ch:17 cweav-twill.ch:42 -msgid "This is CWEAVE (Version 4.0 [CWEBbin 2021])" +msgid "This is CWEAVE (Version 4.1 [CWEBbin 2021])" msgstr "" #: cweav-i18n.ch:301 cweav-i18n.ch:309 diff --git a/Build/source/texk/web2c/cwebdir/po/de/cweb-tl.po b/Build/source/texk/web2c/cwebdir/po/de/cweb-tl.po index 25324153f30..c71367d504b 100644 --- a/Build/source/texk/web2c/cwebdir/po/de/cweb-tl.po +++ b/Build/source/texk/web2c/cwebdir/po/de/cweb-tl.po @@ -32,16 +32,16 @@ msgid "%s: Need one to three file arguments.\n" msgstr "%s: Benötige ein bis drei Dateiargumente.\n" #: ctang-texlive.ch:39 -msgid "This is CTANGLE, Version 4.0" -msgstr "Dies ist CTANGLE, Version 4.0" +msgid "This is CTANGLE, Version 4.1" +msgstr "Dies ist CTANGLE, Version 4.1" #: ctwill-texlive.ch:39 -msgid "This is CTWILL, Version 4.0" -msgstr "Dies ist CTWILL, Version 4.0" +msgid "This is CTWILL, Version 4.1" +msgstr "Dies ist CTWILL, Version 4.1" #: cweav-texlive.ch:39 -msgid "This is CWEAVE, Version 4.0" -msgstr "Dies ist CWEAVE, Version 4.0" +msgid "This is CWEAVE, Version 4.1" +msgstr "Dies ist CWEAVE, Version 4.1" #: comm-texlive.ch:512 #, c-format diff --git a/Build/source/texk/web2c/cwebdir/po/de/cweb.po b/Build/source/texk/web2c/cwebdir/po/de/cweb.po index d421cbf8a81..d51f6cc7877 100644 --- a/Build/source/texk/web2c/cwebdir/po/de/cweb.po +++ b/Build/source/texk/web2c/cwebdir/po/de/cweb.po @@ -603,16 +603,16 @@ msgid "Sorting:" msgstr "Sortieren:" #: ctang-i18n.ch:17 -msgid "This is CTANGLE (Version 4.0 [CWEBbin 2021])" -msgstr "Dies ist CTANGLE (Version 4.0 [CWEBbin 2021])" +msgid "This is CTANGLE (Version 4.1 [CWEBbin 2021])" +msgstr "Dies ist CTANGLE (Version 4.1 [CWEBbin 2021])" #: cweav-twill.ch:61 -msgid "This is CTWILL (Version 4.0 [CWEBbin 2021])" -msgstr "Dies ist CTWILL (Version 4.0 [CWEBbin 2021])" +msgid "This is CTWILL (Version 4.1 [CWEBbin 2021])" +msgstr "Dies ist CTWILL (Version 4.1 [CWEBbin 2021])" #: cweav-i18n.ch:17 cweav-twill.ch:42 -msgid "This is CWEAVE (Version 4.0 [CWEBbin 2021])" -msgstr "Dies ist CWEAVE (Version 4.0 [CWEBbin 2021])" +msgid "This is CWEAVE (Version 4.1 [CWEBbin 2021])" +msgstr "Dies ist CWEAVE (Version 4.1 [CWEBbin 2021])" #: cweav-i18n.ch:301 cweav-i18n.ch:309 msgid "buffer" diff --git a/Build/source/texk/web2c/cwebdir/po/it/cweb.po b/Build/source/texk/web2c/cwebdir/po/it/cweb.po index defb988831f..235de34a0b4 100644 --- a/Build/source/texk/web2c/cwebdir/po/it/cweb.po +++ b/Build/source/texk/web2c/cwebdir/po/it/cweb.po @@ -598,16 +598,16 @@ msgid "Sorting:" msgstr "Ordinamento:" #: ctang-i18n.ch:17 -msgid "This is CTANGLE (Version 4.0 [CWEBbin 2021])" -msgstr "Questo è CTANGLE (Versione 4.0 [CWEBbin 2021])" +msgid "This is CTANGLE (Version 4.1 [CWEBbin 2021])" +msgstr "Questo è CTANGLE (Versione 4.1 [CWEBbin 2021])" #: cweav-i18n.ch:17 -msgid "This is CWEAVE (Version 4.0 [CWEBbin 2021])" -msgstr "Questo è CWEAVE (Versione 4.0 [CWEBbin 2021])" +msgid "This is CWEAVE (Version 4.1 [CWEBbin 2021])" +msgstr "Questo è CWEAVE (Versione 4.1 [CWEBbin 2021])" #: cweav-twill.ch:68 -msgid "This is CTWILL (Version 4.0 [CWEBbin 2021])" -msgstr "Questo è CTWILL (Versione 4.0 [CWEBbin 2021])" +msgid "This is CTWILL (Version 4.1 [CWEBbin 2021])" +msgstr "Questo è CTWILL (Versione 4.1 [CWEBbin 2021])" #: cweav-i18n.ch:301 cweav-i18n.ch:309 msgid "buffer" diff --git a/Build/source/texk/web2c/man/ChangeLog b/Build/source/texk/web2c/man/ChangeLog index da98dd9e45b..de0705e7092 100644 --- a/Build/source/texk/web2c/man/ChangeLog +++ b/Build/source/texk/web2c/man/ChangeLog @@ -1,3 +1,7 @@ +2021-02-20 Andreas Scherer <https://ascherer.github.io> + + * ctwill.man: CWEB 4.1 release. + 2020-09-23 Andreas Scherer <https://ascherer.github.io> * ctwill.man, diff --git a/Build/source/texk/web2c/man/ctwill.man b/Build/source/texk/web2c/man/ctwill.man index 5efb9c7026e..f56d7394817 100644 --- a/Build/source/texk/web2c/man/ctwill.man +++ b/Build/source/texk/web2c/man/ctwill.man @@ -106,7 +106,7 @@ The present incarnation of \f[B]ctwill\f[R] and its utilities tries hard to be a drop-in replacement for the original package. There are, however, a few differences worth noting: .IP \[bu] 2 -This version is based on the most recent version of CWEB (4.0). +This version is based on the most recent version of CWEB (4.1). .IP \[bu] 2 In TeX\ Live the utility programs are prefixed with \f[B]ctwill-\f[R] and the macro files with \f[B]ct\f[R] for technical reasons. |