texlive[55465] Build/source/texk/web2c: [CWEB] Add date to

commits+ascherer at tug.org commits+ascherer at tug.org
Sun Jun 7 19:59:46 CEST 2020


Revision: 55465
          http://tug.org/svn/texlive?view=revision&revision=55465
Author:   ascherer
Date:     2020-06-07 19:59:46 +0200 (Sun, 07 Jun 2020)
Log Message:
-----------
[CWEB] Add date to table-of-contents page.

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/ChangeLog
    trunk/Build/source/texk/web2c/ctangleboot.cin
    trunk/Build/source/texk/web2c/cwebboot.cin
    trunk/Build/source/texk/web2c/cwebdir/ChangeLog
    trunk/Build/source/texk/web2c/cwebdir/comm-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
    trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch

Modified: trunk/Build/source/texk/web2c/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/ChangeLog	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/ChangeLog	2020-06-07 17:59:46 UTC (rev 55465)
@@ -1,5 +1,10 @@
 2020-06-07  Andreas Scherer  <https://ascherer.github.io>
 
+	* ctangleboot.cin,
+	* cwebboot.cin: Add date to table-of-contents page.
+
+2020-06-07  Andreas Scherer  <https://ascherer.github.io>
+
 	* ctangleboot.cin: Handle special 'files' as secondary output.
 
 2020-06-07  Andreas Scherer  <https://ascherer.github.io>

Modified: trunk/Build/source/texk/web2c/ctangleboot.cin
===================================================================
--- trunk/Build/source/texk/web2c/ctangleboot.cin	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/ctangleboot.cin	2020-06-07 17:59:46 UTC (rev 55465)
@@ -2,7 +2,7 @@
 #line 64 "cwebdir/ctangle.w"
 
 /*2:*/
-#line 60 "cwebdir/ctang-w2c.ch"
+#line 73 "cwebdir/ctang-w2c.ch"
 
 #include <string.h> 
 #line 83 "cwebdir/ctangle.w"
@@ -290,7 +290,7 @@
 #line 128 "cwebdir/ctangle.w"
 
 /*:15*//*108:*/
-#line 886 "cwebdir/ctang-w2c.ch"
+#line 899 "cwebdir/ctang-w2c.ch"
 
 extern char cb_banner[];
 
@@ -407,7 +407,7 @@
 /*41:*/
 #line 533 "cwebdir/ctangle.w"
 
-#line 251 "cwebdir/ctang-w2c.ch"
+#line 264 "cwebdir/ctang-w2c.ch"
 static void phase_two(void);
 #line 535 "cwebdir/ctangle.w"
 
@@ -414,7 +414,7 @@
 /*:41*//*46:*/
 #line 602 "cwebdir/ctangle.w"
 
-#line 338 "cwebdir/ctang-w2c.ch"
+#line 351 "cwebdir/ctang-w2c.ch"
 static void output_defs(void);
 #line 604 "cwebdir/ctangle.w"
 
@@ -421,7 +421,7 @@
 /*:46*//*48:*/
 #line 648 "cwebdir/ctangle.w"
 
-#line 358 "cwebdir/ctang-w2c.ch"
+#line 371 "cwebdir/ctang-w2c.ch"
 static void out_char(eight_bits);
 #line 650 "cwebdir/ctangle.w"
 
@@ -428,7 +428,7 @@
 /*:48*//*90:*/
 #line 1460 "cwebdir/ctangle.w"
 
-#line 654 "cwebdir/ctang-w2c.ch"
+#line 667 "cwebdir/ctang-w2c.ch"
 static void phase_one(void);
 #line 1462 "cwebdir/ctangle.w"
 
@@ -435,12 +435,12 @@
 /*:90*//*92:*/
 #line 1478 "cwebdir/ctangle.w"
 
-#line 668 "cwebdir/ctang-w2c.ch"
+#line 681 "cwebdir/ctang-w2c.ch"
 static void skip_limbo(void);
 #line 1480 "cwebdir/ctangle.w"
 
 /*:92*//*97:*/
-#line 755 "cwebdir/ctang-w2c.ch"
+#line 768 "cwebdir/ctang-w2c.ch"
 
 static eight_bits get_next(void);
 static eight_bits skip_ahead(void);
@@ -457,11 +457,11 @@
 #line 70 "cwebdir/ctangle.w"
 
 
-#line 55 "cwebdir/ctang-w2c.ch"
+#line 68 "cwebdir/ctang-w2c.ch"
 /*:1*//*3:*/
 #line 91 "cwebdir/ctangle.w"
 
-#line 69 "cwebdir/ctang-w2c.ch"
+#line 82 "cwebdir/ctang-w2c.ch"
 int main(
 int ac,
 char**av)
@@ -479,7 +479,7 @@
 /*:18*//*20:*/
 #line 177 "cwebdir/ctangle.w"
 
-#line 130 "cwebdir/ctang-w2c.ch"
+#line 143 "cwebdir/ctang-w2c.ch"
 init_node(name_dir);
 #line 179 "cwebdir/ctangle.w"
 
@@ -525,7 +525,7 @@
 section_text[0]= ' ';
 
 /*:71*//*109:*/
-#line 889 "cwebdir/ctang-w2c.ch"
+#line 902 "cwebdir/ctang-w2c.ch"
 
 strncpy(cb_banner,banner,max_banner-1);
 
@@ -533,7 +533,7 @@
 #line 98 "cwebdir/ctangle.w"
 ;
 common_init();
-#line 77 "cwebdir/ctang-w2c.ch"
+#line 90 "cwebdir/ctang-w2c.ch"
 if(show_banner)cb_show_banner();
 #line 101 "cwebdir/ctangle.w"
 phase_one();
@@ -544,7 +544,7 @@
 /*:3*//*21:*/
 #line 183 "cwebdir/ctangle.w"
 
-#line 140 "cwebdir/ctang-w2c.ch"
+#line 153 "cwebdir/ctang-w2c.ch"
 boolean names_match(
 name_pointer p,
 const char*first,
@@ -559,17 +559,17 @@
 /*:21*//*22:*/
 #line 198 "cwebdir/ctangle.w"
 
-#line 153 "cwebdir/ctang-w2c.ch"
+#line 166 "cwebdir/ctang-w2c.ch"
 void
 init_node(
 name_pointer node)
 #line 202 "cwebdir/ctangle.w"
 {
-#line 161 "cwebdir/ctang-w2c.ch"
+#line 174 "cwebdir/ctang-w2c.ch"
 node->equiv= (void*)text_info;
 #line 204 "cwebdir/ctangle.w"
 }
-#line 168 "cwebdir/ctang-w2c.ch"
+#line 181 "cwebdir/ctang-w2c.ch"
 void
 init_p(name_pointer p,eight_bits t){(void)p;(void)t;}
 #line 207 "cwebdir/ctangle.w"
@@ -577,13 +577,13 @@
 /*:22*//*26:*/
 #line 260 "cwebdir/ctangle.w"
 
-#line 177 "cwebdir/ctang-w2c.ch"
+#line 190 "cwebdir/ctang-w2c.ch"
 static void
 store_two_bytes(
 sixteen_bits x)
 #line 264 "cwebdir/ctangle.w"
 {
-#line 185 "cwebdir/ctang-w2c.ch"
+#line 198 "cwebdir/ctang-w2c.ch"
 if(tok_ptr+2> tok_mem_end)overflow(_("token"));
 #line 266 "cwebdir/ctangle.w"
 *tok_ptr++= x>>8;
@@ -593,13 +593,13 @@
 /*:26*//*30:*/
 #line 336 "cwebdir/ctangle.w"
 
-#line 193 "cwebdir/ctang-w2c.ch"
+#line 206 "cwebdir/ctang-w2c.ch"
 static void
 push_level(
 name_pointer p)
 #line 340 "cwebdir/ctangle.w"
 {
-#line 201 "cwebdir/ctang-w2c.ch"
+#line 214 "cwebdir/ctang-w2c.ch"
 if(stack_ptr==stack_end)overflow(_("stack"));
 #line 342 "cwebdir/ctangle.w"
 *stack_ptr= cur_state;
@@ -614,7 +614,7 @@
 /*:30*//*31:*/
 #line 355 "cwebdir/ctangle.w"
 
-#line 209 "cwebdir/ctang-w2c.ch"
+#line 222 "cwebdir/ctang-w2c.ch"
 static void
 pop_level(
 int flag)
@@ -632,7 +632,7 @@
 /*:31*//*33:*/
 #line 391 "cwebdir/ctangle.w"
 
-#line 218 "cwebdir/ctang-w2c.ch"
+#line 231 "cwebdir/ctang-w2c.ch"
 static void
 get_output(void)
 #line 394 "cwebdir/ctangle.w"
@@ -659,11 +659,11 @@
 
 {
 a-= 024000;
-#line 225 "cwebdir/ctang-w2c.ch"
+#line 238 "cwebdir/ctang-w2c.ch"
 if((a+name_dir)->equiv!=(void*)text_info)push_level(a+name_dir);
 #line 427 "cwebdir/ctangle.w"
 else if(a!=0){
-#line 231 "cwebdir/ctang-w2c.ch"
+#line 244 "cwebdir/ctang-w2c.ch"
 fputs(_("\n! Not present: <"),stdout);
 #line 429 "cwebdir/ctangle.w"
 print_section_name(a+name_dir);err_print(">");
@@ -685,7 +685,7 @@
 /*:33*//*37:*/
 #line 481 "cwebdir/ctangle.w"
 
-#line 238 "cwebdir/ctang-w2c.ch"
+#line 251 "cwebdir/ctang-w2c.ch"
 static void
 flush_buffer(void)
 #line 484 "cwebdir/ctangle.w"
@@ -702,7 +702,7 @@
 /*:37*//*42:*/
 #line 536 "cwebdir/ctangle.w"
 
-#line 258 "cwebdir/ctang-w2c.ch"
+#line 271 "cwebdir/ctang-w2c.ch"
 static void
 phase_two(void){
 #line 539 "cwebdir/ctangle.w"
@@ -727,7 +727,7 @@
 #line 542 "cwebdir/ctangle.w"
 ;
 if(text_info->text_link==0&&cur_out_file==end_output_files){
-#line 265 "cwebdir/ctang-w2c.ch"
+#line 278 "cwebdir/ctang-w2c.ch"
 fputs(_("\n! No program text was specified."),stdout);mark_harmless;
 #line 545 "cwebdir/ctangle.w"
 
@@ -735,13 +735,13 @@
 else{
 if(cur_out_file==end_output_files){
 if(show_progress)
-#line 271 "cwebdir/ctang-w2c.ch"
+#line 284 "cwebdir/ctang-w2c.ch"
 printf(_("\nWriting the output file (%s):"),C_file_name);
 #line 551 "cwebdir/ctangle.w"
 }
 else{
 if(show_progress){
-#line 277 "cwebdir/ctang-w2c.ch"
+#line 290 "cwebdir/ctang-w2c.ch"
 fputs(_("\nWriting the output files:"),stdout);
 #line 555 "cwebdir/ctangle.w"
 
@@ -753,15 +753,15 @@
 while(stack_ptr> stack)get_output();
 flush_buffer();
 writeloop:/*43:*/
-#line 309 "cwebdir/ctang-w2c.ch"
+#line 322 "cwebdir/ctang-w2c.ch"
 
 fclose(C_file);C_file= NULL;
 /*98:*/
-#line 775 "cwebdir/ctang-w2c.ch"
+#line 788 "cwebdir/ctang-w2c.ch"
 
 if((C_file= fopen(C_file_name,"r"))!=NULL){
 /*99:*/
-#line 782 "cwebdir/ctang-w2c.ch"
+#line 795 "cwebdir/ctang-w2c.ch"
 
 char x[BUFSIZ],y[BUFSIZ];
 int x_size,y_size,comparison= false;
@@ -771,7 +771,7 @@
 
 
 if(temporary_output)/*100:*/
-#line 797 "cwebdir/ctang-w2c.ch"
+#line 810 "cwebdir/ctang-w2c.ch"
 
 do{
 x_size= fread(x,1,BUFSIZ,C_file);
@@ -781,7 +781,7 @@
 }while(comparison&&!feof(C_file)&&!feof(check_file));
 
 /*:100*/
-#line 790 "cwebdir/ctang-w2c.ch"
+#line 803 "cwebdir/ctang-w2c.ch"
 
 
 fclose(C_file);C_file= NULL;
@@ -788,10 +788,10 @@
 fclose(check_file);check_file= NULL;
 
 /*:99*/
-#line 777 "cwebdir/ctang-w2c.ch"
+#line 790 "cwebdir/ctang-w2c.ch"
 
 /*101:*/
-#line 808 "cwebdir/ctang-w2c.ch"
+#line 821 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -801,13 +801,13 @@
 }
 
 /*:101*/
-#line 778 "cwebdir/ctang-w2c.ch"
+#line 791 "cwebdir/ctang-w2c.ch"
 
 }else
 rename(check_file_name,C_file_name);
 
 /*:98*/
-#line 311 "cwebdir/ctang-w2c.ch"
+#line 324 "cwebdir/ctang-w2c.ch"
 
 for(an_output_file= end_output_files;an_output_file> cur_out_file;){
 an_output_file--;
@@ -828,14 +828,14 @@
 while(stack_ptr> stack)get_output();
 flush_buffer();fclose(C_file);C_file= NULL;
 /*102:*/
-#line 821 "cwebdir/ctang-w2c.ch"
+#line 834 "cwebdir/ctang-w2c.ch"
 
 if(0==strcmp("/dev/stdout",output_file_name))
 /*104:*/
-#line 846 "cwebdir/ctang-w2c.ch"
+#line 859 "cwebdir/ctang-w2c.ch"
 {
 /*107:*/
-#line 873 "cwebdir/ctang-w2c.ch"
+#line 886 "cwebdir/ctang-w2c.ch"
 
 char in_buf[BUFSIZ+1];
 int in_size,comparison= true;
@@ -844,7 +844,7 @@
 
 
 /*:107*/
-#line 847 "cwebdir/ctang-w2c.ch"
+#line 860 "cwebdir/ctang-w2c.ch"
 
 do{
 in_size= fread(in_buf,1,BUFSIZ,check_file);
@@ -853,7 +853,7 @@
 }while(!feof(check_file));
 fclose(check_file);check_file= NULL;
 /*103:*/
-#line 838 "cwebdir/ctang-w2c.ch"
+#line 851 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -863,19 +863,19 @@
 }
 
 /*:103*/
-#line 854 "cwebdir/ctang-w2c.ch"
+#line 867 "cwebdir/ctang-w2c.ch"
 
 }
 
 /*:104*/
-#line 823 "cwebdir/ctang-w2c.ch"
+#line 836 "cwebdir/ctang-w2c.ch"
 
 else if(0==strcmp("/dev/stderr",output_file_name))
 /*105:*/
-#line 857 "cwebdir/ctang-w2c.ch"
+#line 870 "cwebdir/ctang-w2c.ch"
 {
 /*107:*/
-#line 873 "cwebdir/ctang-w2c.ch"
+#line 886 "cwebdir/ctang-w2c.ch"
 
 char in_buf[BUFSIZ+1];
 int in_size,comparison= true;
@@ -884,7 +884,7 @@
 
 
 /*:107*/
-#line 858 "cwebdir/ctang-w2c.ch"
+#line 871 "cwebdir/ctang-w2c.ch"
 
 do{
 in_size= fread(in_buf,1,BUFSIZ,check_file);
@@ -893,7 +893,7 @@
 }while(!feof(check_file));
 fclose(check_file);check_file= NULL;
 /*103:*/
-#line 838 "cwebdir/ctang-w2c.ch"
+#line 851 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -903,20 +903,20 @@
 }
 
 /*:103*/
-#line 865 "cwebdir/ctang-w2c.ch"
+#line 878 "cwebdir/ctang-w2c.ch"
 
 }
 
 /*:105*/
-#line 825 "cwebdir/ctang-w2c.ch"
+#line 838 "cwebdir/ctang-w2c.ch"
 
 else if(0==strcmp("/dev/null",output_file_name))
 /*106:*/
-#line 868 "cwebdir/ctang-w2c.ch"
+#line 881 "cwebdir/ctang-w2c.ch"
 {
 int comparison= true;
 /*103:*/
-#line 838 "cwebdir/ctang-w2c.ch"
+#line 851 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -926,17 +926,17 @@
 }
 
 /*:103*/
-#line 870 "cwebdir/ctang-w2c.ch"
+#line 883 "cwebdir/ctang-w2c.ch"
 
 }
 
 /*:106*/
-#line 827 "cwebdir/ctang-w2c.ch"
+#line 840 "cwebdir/ctang-w2c.ch"
 
 else{
 if((C_file= fopen(output_file_name,"r"))!=NULL){
 /*99:*/
-#line 782 "cwebdir/ctang-w2c.ch"
+#line 795 "cwebdir/ctang-w2c.ch"
 
 char x[BUFSIZ],y[BUFSIZ];
 int x_size,y_size,comparison= false;
@@ -946,7 +946,7 @@
 
 
 if(temporary_output)/*100:*/
-#line 797 "cwebdir/ctang-w2c.ch"
+#line 810 "cwebdir/ctang-w2c.ch"
 
 do{
 x_size= fread(x,1,BUFSIZ,C_file);
@@ -956,7 +956,7 @@
 }while(comparison&&!feof(C_file)&&!feof(check_file));
 
 /*:100*/
-#line 790 "cwebdir/ctang-w2c.ch"
+#line 803 "cwebdir/ctang-w2c.ch"
 
 
 fclose(C_file);C_file= NULL;
@@ -963,10 +963,10 @@
 fclose(check_file);check_file= NULL;
 
 /*:99*/
-#line 830 "cwebdir/ctang-w2c.ch"
+#line 843 "cwebdir/ctang-w2c.ch"
 
 /*103:*/
-#line 838 "cwebdir/ctang-w2c.ch"
+#line 851 "cwebdir/ctang-w2c.ch"
 
 if(comparison)
 remove(check_file_name);
@@ -976,7 +976,7 @@
 }
 
 /*:103*/
-#line 831 "cwebdir/ctang-w2c.ch"
+#line 844 "cwebdir/ctang-w2c.ch"
 
 }else
 rename(check_file_name,output_file_name);
@@ -983,7 +983,7 @@
 }
 
 /*:102*/
-#line 330 "cwebdir/ctang-w2c.ch"
+#line 343 "cwebdir/ctang-w2c.ch"
 
 }
 strcpy(check_file_name,"");
@@ -992,7 +992,7 @@
 /*:43*/
 #line 563 "cwebdir/ctangle.w"
 ;
-#line 283 "cwebdir/ctang-w2c.ch"
+#line 296 "cwebdir/ctang-w2c.ch"
 if(show_happiness){
 if(show_progress)new_line;
 fputs(_("Done."),stdout);
@@ -1004,7 +1004,7 @@
 /*:42*//*47:*/
 #line 605 "cwebdir/ctangle.w"
 
-#line 345 "cwebdir/ctang-w2c.ch"
+#line 358 "cwebdir/ctang-w2c.ch"
 static void
 output_defs(void)
 #line 608 "cwebdir/ctangle.w"
@@ -1030,7 +1030,7 @@
 if(a<024000){
 cur_val= a;out_char(identifier);
 }
-#line 352 "cwebdir/ctang-w2c.ch"
+#line 365 "cwebdir/ctang-w2c.ch"
 else if(a<050000){confusion(_("macro defs have strange char"));}
 #line 631 "cwebdir/ctangle.w"
 else{
@@ -1048,7 +1048,7 @@
 /*:47*//*49:*/
 #line 651 "cwebdir/ctangle.w"
 
-#line 366 "cwebdir/ctang-w2c.ch"
+#line 379 "cwebdir/ctang-w2c.ch"
 static void
 out_char(
 eight_bits cur_char)
@@ -1109,7 +1109,7 @@
 #line 663 "cwebdir/ctangle.w"
 ;
 /*50:*/
-#line 391 "cwebdir/ctang-w2c.ch"
+#line 404 "cwebdir/ctang-w2c.ch"
 
 case plus_plus:C_putc('+');C_putc('+');out_state= normal;break;
 case minus_minus:C_putc('-');C_putc('-');out_state= normal;break;
@@ -1149,11 +1149,11 @@
 }
 }
 
-#line 391 "cwebdir/ctang-w2c.ch"
+#line 404 "cwebdir/ctang-w2c.ch"
 /*:49*//*58:*/
 #line 813 "cwebdir/ctangle.w"
 
-#line 415 "cwebdir/ctang-w2c.ch"
+#line 428 "cwebdir/ctang-w2c.ch"
 static eight_bits
 skip_ahead(void)
 #line 816 "cwebdir/ctangle.w"
@@ -1173,7 +1173,7 @@
 /*:58*//*60:*/
 #line 848 "cwebdir/ctangle.w"
 
-#line 423 "cwebdir/ctang-w2c.ch"
+#line 436 "cwebdir/ctang-w2c.ch"
 static boolean skip_comment(
 boolean is_long_comment)
 #line 851 "cwebdir/ctangle.w"
@@ -1184,7 +1184,7 @@
 if(is_long_comment){
 if(get_line())return(comment_continues= 1);
 else{
-#line 430 "cwebdir/ctang-w2c.ch"
+#line 443 "cwebdir/ctang-w2c.ch"
 err_print(_("! Input ended in mid-comment"));
 #line 859 "cwebdir/ctangle.w"
 
@@ -1199,7 +1199,7 @@
 }
 if(c=='@'){
 if(ccode[(eight_bits)*loc]==new_section){
-#line 436 "cwebdir/ctang-w2c.ch"
+#line 449 "cwebdir/ctang-w2c.ch"
 err_print(_("! Section name ended in mid-comment"));loc--;
 #line 872 "cwebdir/ctangle.w"
 
@@ -1213,7 +1213,7 @@
 /*:60*//*63:*/
 #line 900 "cwebdir/ctangle.w"
 
-#line 443 "cwebdir/ctang-w2c.ch"
+#line 456 "cwebdir/ctang-w2c.ch"
 static eight_bits
 get_next(void)
 #line 903 "cwebdir/ctangle.w"
@@ -1238,7 +1238,7 @@
 store_two_bytes((sixteen_bits)cur_line);
 }
 id_loc= id_first+strlen(id_first);
-#line 585 "cwebdir/ctang-w2c.ch"
+#line 598 "cwebdir/ctang-w2c.ch"
 {int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
 app_repl(a_l%0400);}
 #line 1237 "cwebdir/ctangle.w"
@@ -1285,7 +1285,7 @@
 /*:66*/
 #line 924 "cwebdir/ctangle.w"
 
-#line 450 "cwebdir/ctang-w2c.ch"
+#line 463 "cwebdir/ctang-w2c.ch"
 else if(c=='\''||c=='"'
 ||((c=='L'||c=='u'||c=='U')&&(*loc=='\''||*loc=='"'))
 ||((c=='u'&&*loc=='8')&&(*(loc+1)=='\''||*(loc+1)=='"')))
@@ -1296,7 +1296,7 @@
 char delim= c;
 id_first= section_text+1;
 id_loc= section_text;*++id_loc= delim;
-#line 481 "cwebdir/ctang-w2c.ch"
+#line 494 "cwebdir/ctang-w2c.ch"
 if(delim=='L'||delim=='u'||delim=='U'){
 if(delim=='u'&&*loc=='8'){*++id_loc= *loc++;}
 delim= *loc++;*++id_loc= delim;
@@ -1305,13 +1305,13 @@
 while(1){
 if(loc>=limit){
 if(*(limit-1)!='\\'){
-#line 490 "cwebdir/ctang-w2c.ch"
+#line 503 "cwebdir/ctang-w2c.ch"
 err_print(_("! String didn't end"));loc= limit;break;
 #line 1017 "cwebdir/ctangle.w"
 
 }
 if(get_line()==0){
-#line 496 "cwebdir/ctang-w2c.ch"
+#line 509 "cwebdir/ctang-w2c.ch"
 err_print(_("! Input ended in middle of string"));loc= buffer;break;
 #line 1021 "cwebdir/ctangle.w"
 
@@ -1331,7 +1331,7 @@
 if(++id_loc<=section_text_end)*id_loc= c;
 }
 if(id_loc>=section_text_end){
-#line 502 "cwebdir/ctang-w2c.ch"
+#line 515 "cwebdir/ctang-w2c.ch"
 fputs(_("\n! String too long: "),stdout);
 #line 1039 "cwebdir/ctangle.w"
 
@@ -1350,7 +1350,7 @@
 #line 972 "cwebdir/ctangle.w"
 {
 id_first= --loc;
-#line 472 "cwebdir/ctang-w2c.ch"
+#line 485 "cwebdir/ctang-w2c.ch"
 while(isalpha((eight_bits)*++loc)||isdigit((eight_bits)*loc)
 ||isxalpha((eight_bits)*loc)||ishigh((eight_bits)*loc));
 #line 975 "cwebdir/ctangle.w"
@@ -1366,7 +1366,7 @@
 c= ccode[(eight_bits)*loc++];
 switch(c){
 case ignore:continue;
-#line 508 "cwebdir/ctang-w2c.ch"
+#line 521 "cwebdir/ctang-w2c.ch"
 case translit_code:err_print(_("! Use @l in limbo only"));continue;
 #line 1055 "cwebdir/ctangle.w"
 
@@ -1373,7 +1373,7 @@
 case control_text:while((c= skip_ahead())=='@');
 
 if(*(loc-1)!='>')
-#line 514 "cwebdir/ctang-w2c.ch"
+#line 527 "cwebdir/ctang-w2c.ch"
 err_print(_("! Double @ should be used in control text"));
 #line 1060 "cwebdir/ctangle.w"
 
@@ -1390,7 +1390,7 @@
 k= section_text;
 while(1){
 if(loc> limit&&get_line()==0){
-#line 532 "cwebdir/ctang-w2c.ch"
+#line 545 "cwebdir/ctang-w2c.ch"
 err_print(_("! Input ended in section name"));
 #line 1123 "cwebdir/ctangle.w"
 
@@ -1406,13 +1406,13 @@
 loc+= 2;break;
 }
 if(ccode[(eight_bits)c]==new_section){
-#line 544 "cwebdir/ctang-w2c.ch"
+#line 557 "cwebdir/ctang-w2c.ch"
 err_print(_("! Section name didn't end"));break;
 #line 1150 "cwebdir/ctangle.w"
 
 }
 if(ccode[(eight_bits)c]==section_name){
-#line 550 "cwebdir/ctang-w2c.ch"
+#line 563 "cwebdir/ctang-w2c.ch"
 err_print(_("! Nesting of section names not allowed"));break;
 #line 1154 "cwebdir/ctangle.w"
 
@@ -1430,7 +1430,7 @@
 *k= c;
 }
 if(k>=section_text_end){
-#line 538 "cwebdir/ctang-w2c.ch"
+#line 551 "cwebdir/ctang-w2c.ch"
 fputs(_("\n! Section name too long: "),stdout);
 #line 1136 "cwebdir/ctangle.w"
 
@@ -1457,7 +1457,7 @@
 if(cur_out_file> output_files)
 *--cur_out_file= cur_section_name;
 else{
-#line 245 "cwebdir/ctang-w2c.ch"
+#line 258 "cwebdir/ctang-w2c.ch"
 overflow(_("output files"));
 #line 526 "cwebdir/ctangle.w"
 }
@@ -1478,7 +1478,7 @@
 {
 id_first= loc++;*(limit+1)= '@';*(limit+2)= '>';
 while(*loc!='@'||*(loc+1)!='>')loc++;
-#line 556 "cwebdir/ctang-w2c.ch"
+#line 569 "cwebdir/ctang-w2c.ch"
 if(loc>=limit)err_print(_("! Verbatim string didn't end"));
 #line 1168 "cwebdir/ctangle.w"
 
@@ -1499,7 +1499,7 @@
 while(*loc!='\''){
 if(*loc=='@'){
 if(*(loc+1)!='@')
-#line 520 "cwebdir/ctang-w2c.ch"
+#line 533 "cwebdir/ctang-w2c.ch"
 err_print(_("! Double @ should be used in ASCII constant"));
 #line 1086 "cwebdir/ctangle.w"
 
@@ -1507,7 +1507,7 @@
 }
 loc++;
 if(loc> limit){
-#line 526 "cwebdir/ctang-w2c.ch"
+#line 539 "cwebdir/ctang-w2c.ch"
 err_print(_("! String didn't end"));loc= limit-1;break;
 #line 1092 "cwebdir/ctangle.w"
 
@@ -1538,7 +1538,7 @@
 switch(c){
 case'+':if(*loc=='+')compress(plus_plus);break;
 case'-':if(*loc=='-'){compress(minus_minus);}
-#line 459 "cwebdir/ctang-w2c.ch"
+#line 472 "cwebdir/ctang-w2c.ch"
 else{if(*loc=='>'){if(*(loc+1)=='*'){loc++;compress(minus_gt_ast);}
 else compress(minus_gt);}}break;
 #line 956 "cwebdir/ctangle.w"
@@ -1555,7 +1555,7 @@
 else if(*loc=='<')compress(lt_lt);break;
 case'&':if(*loc=='&')compress(and_and);break;
 case'|':if(*loc=='|')compress(or_or);break;
-#line 466 "cwebdir/ctang-w2c.ch"
+#line 479 "cwebdir/ctang-w2c.ch"
 case'!':if(*loc=='=')compress(non_eq);break;
 #line 970 "cwebdir/ctangle.w"
 }
@@ -1570,7 +1570,7 @@
 /*:63*//*76:*/
 #line 1199 "cwebdir/ctangle.w"
 
-#line 570 "cwebdir/ctang-w2c.ch"
+#line 583 "cwebdir/ctang-w2c.ch"
 static void
 scan_repl(
 eight_bits t)
@@ -1589,7 +1589,7 @@
 store_two_bytes((sixteen_bits)cur_line);
 }
 id_loc= id_first+strlen(id_first);
-#line 585 "cwebdir/ctang-w2c.ch"
+#line 598 "cwebdir/ctang-w2c.ch"
 {int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
 app_repl(a_l%0400);}
 #line 1237 "cwebdir/ctangle.w"
@@ -1613,7 +1613,7 @@
 while(*try_loc==' '&&try_loc<limit)try_loc++;
 if(*try_loc=='+'&&try_loc<limit)try_loc++;
 while(*try_loc==' '&&try_loc<limit)try_loc++;
-#line 604 "cwebdir/ctang-w2c.ch"
+#line 617 "cwebdir/ctang-w2c.ch"
 if(*try_loc=='=')err_print(_("! Missing `@ ' before a named section"));
 #line 1277 "cwebdir/ctangle.w"
 
@@ -1639,7 +1639,7 @@
 store_two_bytes((sixteen_bits)cur_line);
 }
 id_loc= id_first+strlen(id_first);
-#line 585 "cwebdir/ctang-w2c.ch"
+#line 598 "cwebdir/ctang-w2c.ch"
 {int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
 app_repl(a_l%0400);}
 #line 1237 "cwebdir/ctangle.w"
@@ -1648,7 +1648,7 @@
 #line 1248 "cwebdir/ctangle.w"
 ;break;
 }
-#line 592 "cwebdir/ctang-w2c.ch"
+#line 605 "cwebdir/ctang-w2c.ch"
 case output_defs_code:if(t!=section_name)err_print(_("! Misplaced @h"));
 #line 1251 "cwebdir/ctangle.w"
 
@@ -1669,7 +1669,7 @@
 store_two_bytes((sixteen_bits)cur_line);
 }
 id_loc= id_first+strlen(id_first);
-#line 585 "cwebdir/ctang-w2c.ch"
+#line 598 "cwebdir/ctang-w2c.ch"
 {int a_l= id_lookup(id_first,id_loc,0)-name_dir;app_repl((a_l/0400)+0200);
 app_repl(a_l%0400);}
 #line 1237 "cwebdir/ctangle.w"
@@ -1687,7 +1687,7 @@
 while(id_first<id_loc){
 if(*id_first=='@'){
 if(*(id_first+1)=='@')id_first++;
-#line 610 "cwebdir/ctang-w2c.ch"
+#line 623 "cwebdir/ctang-w2c.ch"
 else err_print(_("! Double @ should be used in string"));
 #line 1288 "cwebdir/ctangle.w"
 
@@ -1727,7 +1727,7 @@
 if(xisdigit(*(id_first+1)))c= *(++id_first)-'0';
 else if(xisxdigit(*(id_first+1))){
 ++id_first;
-#line 616 "cwebdir/ctang-w2c.ch"
+#line 629 "cwebdir/ctang-w2c.ch"
 c= toupper((eight_bits)*id_first)-'A'+10;
 #line 1324 "cwebdir/ctangle.w"
 }
@@ -1734,7 +1734,7 @@
 if(xisdigit(*(id_first+1)))c= 16*c+*(++id_first)-'0';
 else if(xisxdigit(*(id_first+1))){
 ++id_first;
-#line 622 "cwebdir/ctang-w2c.ch"
+#line 635 "cwebdir/ctang-w2c.ch"
 c= 16*c+toupper((eight_bits)*id_first)-'A'+10;
 #line 1329 "cwebdir/ctangle.w"
 }
@@ -1742,7 +1742,7 @@
 case'\\':c= '\\';break;
 case'\'':c= '\'';break;
 case'\"':c= '\"';break;
-#line 628 "cwebdir/ctang-w2c.ch"
+#line 641 "cwebdir/ctang-w2c.ch"
 default:err_print(_("! Unrecognized escape sequence"));
 #line 1335 "cwebdir/ctangle.w"
 
@@ -1762,7 +1762,7 @@
 ;
 case definition:case format_code:case begin_C:if(t!=section_name)goto done;
 else{
-#line 598 "cwebdir/ctang-w2c.ch"
+#line 611 "cwebdir/ctang-w2c.ch"
 err_print(_("! @d, @f and @c are ignored in C text"));continue;
 #line 1267 "cwebdir/ctangle.w"
 
@@ -1778,7 +1778,7 @@
 default:app_repl(a);
 }
 done:next_control= (eight_bits)a;
-#line 578 "cwebdir/ctang-w2c.ch"
+#line 591 "cwebdir/ctang-w2c.ch"
 if(text_ptr> text_info_end)overflow(_("text"));
 #line 1218 "cwebdir/ctangle.w"
 cur_text= text_ptr;(++text_ptr)->tok_start= tok_ptr;
@@ -1787,7 +1787,7 @@
 /*:76*//*83:*/
 #line 1360 "cwebdir/ctangle.w"
 
-#line 635 "cwebdir/ctang-w2c.ch"
+#line 648 "cwebdir/ctang-w2c.ch"
 static void
 scan_section(void)
 #line 1363 "cwebdir/ctangle.w"
@@ -1819,7 +1819,7 @@
 {
 while((next_control= get_next())=='\n');
 if(next_control!=identifier){
-#line 642 "cwebdir/ctang-w2c.ch"
+#line 655 "cwebdir/ctang-w2c.ch"
 err_print(_("! Definition flushed, must start with identifier"));
 #line 1410 "cwebdir/ctangle.w"
 
@@ -1879,7 +1879,7 @@
 if(p==name_dir||p==0){
 (last_unnamed)->text_link= cur_text-text_info;last_unnamed= cur_text;
 }
-#line 648 "cwebdir/ctang-w2c.ch"
+#line 661 "cwebdir/ctang-w2c.ch"
 else if(p->equiv==(void*)text_info)p->equiv= (void*)cur_text;
 #line 1450 "cwebdir/ctangle.w"
 
@@ -1904,7 +1904,7 @@
 /*:83*//*91:*/
 #line 1463 "cwebdir/ctangle.w"
 
-#line 661 "cwebdir/ctang-w2c.ch"
+#line 674 "cwebdir/ctang-w2c.ch"
 static void
 phase_one(void){
 #line 1466 "cwebdir/ctangle.w"
@@ -1920,7 +1920,7 @@
 /*:91*//*93:*/
 #line 1481 "cwebdir/ctangle.w"
 
-#line 675 "cwebdir/ctang-w2c.ch"
+#line 688 "cwebdir/ctang-w2c.ch"
 static void
 skip_limbo(void)
 #line 1484 "cwebdir/ctangle.w"
@@ -1941,7 +1941,7 @@
 loc+= 3;
 if(loc> limit||!xisxdigit(*(loc-3))||!xisxdigit(*(loc-2))
 ||(*(loc-3)>='0'&&*(loc-3)<='7')||!xisspace(*(loc-1)))
-#line 694 "cwebdir/ctang-w2c.ch"
+#line 707 "cwebdir/ctang-w2c.ch"
 err_print(_("! Improper hex number following @l"));
 #line 1516 "cwebdir/ctangle.w"
 
@@ -1953,12 +1953,12 @@
 beg= loc;
 while(loc<limit&&(xisalpha(*loc)||xisdigit(*loc)||*loc=='_'))loc++;
 if(loc-beg>=translit_length)
-#line 700 "cwebdir/ctang-w2c.ch"
+#line 713 "cwebdir/ctang-w2c.ch"
 err_print(_("! Replacement string in @l too long"));
 #line 1526 "cwebdir/ctangle.w"
 
 else{
-#line 706 "cwebdir/ctang-w2c.ch"
+#line 719 "cwebdir/ctang-w2c.ch"
 strncpy(translit[i-0200],beg,(size_t)(loc-beg));
 #line 1529 "cwebdir/ctangle.w"
 translit[i-0200][loc-beg]= '\0';
@@ -1972,13 +1972,13 @@
 case control_text:if(c=='q'||c=='Q'){
 while((c= skip_ahead())=='@');
 if(*(loc-1)!='>')
-#line 682 "cwebdir/ctang-w2c.ch"
+#line 695 "cwebdir/ctang-w2c.ch"
 err_print(_("! Double @ should be used in control text"));
 #line 1500 "cwebdir/ctangle.w"
 
 break;
 }
-#line 688 "cwebdir/ctang-w2c.ch"
+#line 701 "cwebdir/ctang-w2c.ch"
 default:err_print(_("! Double @ should be used in limbo"));
 #line 1504 "cwebdir/ctangle.w"
 
@@ -1990,10 +1990,10 @@
 /*:93*//*95:*/
 #line 1536 "cwebdir/ctangle.w"
 
-#line 713 "cwebdir/ctang-w2c.ch"
+#line 726 "cwebdir/ctang-w2c.ch"
 void
 print_stats(void){
-#line 727 "cwebdir/ctang-w2c.ch"
+#line 740 "cwebdir/ctang-w2c.ch"
 puts(_("\nMemory usage statistics:"));
 printf(_("%ld names (out of %ld)\n"),
 (long)(name_ptr-name_dir),(long)max_names);
@@ -2006,5 +2006,5 @@
 (long)(tok_ptr-tok_mem),(long)max_toks);
 }
 
-#line 740 "cwebdir/ctang-w2c.ch"
+#line 753 "cwebdir/ctang-w2c.ch"
 /*:95*/

Modified: trunk/Build/source/texk/web2c/cwebboot.cin
===================================================================
--- trunk/Build/source/texk/web2c/cwebboot.cin	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/cwebboot.cin	2020-06-07 17:59:46 UTC (rev 55465)
@@ -2,13 +2,13 @@
 #line 58 "cwebdir/common.w"
 
 /*85:*/
-#line 1223 "cwebdir/comm-w2c.ch"
+#line 1236 "cwebdir/comm-w2c.ch"
 
 #include <stdbool.h>  
 #include <stddef.h>  
 
 /*:85*//*88:*/
-#line 1264 "cwebdir/comm-w2c.ch"
+#line 1277 "cwebdir/comm-w2c.ch"
 
 #ifndef HAVE_GETTEXT
 #define HAVE_GETTEXT 0
@@ -25,7 +25,7 @@
 #endif
 
 /*:88*//*90:*/
-#line 1355 "cwebdir/comm-w2c.ch"
+#line 1368 "cwebdir/comm-w2c.ch"
 
 typedef bool boolean;
 #define HAVE_BOOLEAN
@@ -162,10 +162,10 @@
 /*2:*/
 #line 73 "cwebdir/common.w"
 
-#line 51 "cwebdir/comm-w2c.ch"
+#line 64 "cwebdir/comm-w2c.ch"
 typedef uint8_t eight_bits;
 typedef uint16_t sixteen_bits;
-#line 58 "cwebdir/comm-w2c.ch"
+#line 71 "cwebdir/comm-w2c.ch"
 typedef enum{
 ctangle,cweave,ctwill
 }cweb;
@@ -173,7 +173,7 @@
 #line 76 "cwebdir/common.w"
 
 /*:2*//*6:*/
-#line 104 "cwebdir/comm-w2c.ch"
+#line 117 "cwebdir/comm-w2c.ch"
 
 char section_text[longest_name+1];
 char*section_text_end= section_text+longest_name;
@@ -189,7 +189,7 @@
 char*limit= buffer;
 char*loc= buffer;
 
-#line 129 "cwebdir/comm-w2c.ch"
+#line 142 "cwebdir/comm-w2c.ch"
 /*:7*//*10:*/
 #line 214 "cwebdir/common.w"
 
@@ -237,7 +237,7 @@
 }dummy;
 
 /*:40*//*55:*/
-#line 747 "cwebdir/comm-w2c.ch"
+#line 760 "cwebdir/comm-w2c.ch"
 
 void*equiv_or_xref;
 #line 1064 "cwebdir/common.w"
@@ -279,10 +279,10 @@
 char C_file_name[max_file_name_length];
 char tex_file_name[max_file_name_length];
 char idx_file_name[max_file_name_length];
-#line 908 "cwebdir/comm-w2c.ch"
+#line 921 "cwebdir/comm-w2c.ch"
 char scn_file_name[max_file_name_length];
 char check_file_name[max_file_name_length];
-#line 915 "cwebdir/comm-w2c.ch"
+#line 928 "cwebdir/comm-w2c.ch"
 boolean flags[128];
 const char*use_language= "";
 #line 1228 "cwebdir/common.w"
@@ -293,15 +293,15 @@
 FILE*C_file;
 FILE*tex_file;
 FILE*idx_file;
-#line 1105 "cwebdir/comm-w2c.ch"
+#line 1118 "cwebdir/comm-w2c.ch"
 FILE*scn_file;
 FILE*check_file;
-#line 1112 "cwebdir/comm-w2c.ch"
+#line 1125 "cwebdir/comm-w2c.ch"
 FILE*active_file;
 char*found_filename;
 #line 1376 "cwebdir/common.w"
 
-#line 1129 "cwebdir/comm-w2c.ch"
+#line 1142 "cwebdir/comm-w2c.ch"
 /*:77*/
 #line 61 "cwebdir/common.w"
 
@@ -316,7 +316,7 @@
 char*change_limit;
 
 /*:11*//*86:*/
-#line 1238 "cwebdir/comm-w2c.ch"
+#line 1251 "cwebdir/comm-w2c.ch"
 
 char cb_banner[max_banner];
 string texmf_locale;
@@ -331,7 +331,7 @@
 /*33:*/
 #line 650 "cwebdir/common.w"
 
-#line 476 "cwebdir/comm-w2c.ch"
+#line 489 "cwebdir/comm-w2c.ch"
 extern boolean names_match(name_pointer,const char*,size_t,eight_bits);
 #line 652 "cwebdir/common.w"
 
@@ -338,7 +338,7 @@
 /*:33*//*38:*/
 #line 703 "cwebdir/common.w"
 
-#line 506 "cwebdir/comm-w2c.ch"
+#line 519 "cwebdir/comm-w2c.ch"
 extern void init_p(name_pointer,eight_bits);
 #line 705 "cwebdir/common.w"
 
@@ -345,7 +345,7 @@
 /*:38*//*46:*/
 #line 852 "cwebdir/common.w"
 
-#line 586 "cwebdir/comm-w2c.ch"
+#line 599 "cwebdir/comm-w2c.ch"
 extern void init_node(name_pointer);
 #line 854 "cwebdir/common.w"
 
@@ -352,7 +352,7 @@
 /*:46*//*53:*/
 #line 1017 "cwebdir/common.w"
 
-#line 712 "cwebdir/comm-w2c.ch"
+#line 725 "cwebdir/comm-w2c.ch"
 static int section_name_cmp(char**,int,name_pointer);
 #line 1019 "cwebdir/common.w"
 
@@ -359,7 +359,7 @@
 /*:53*//*57:*/
 #line 1092 "cwebdir/common.w"
 
-#line 754 "cwebdir/comm-w2c.ch"
+#line 767 "cwebdir/comm-w2c.ch"
 extern void err_print(const char*);
 #line 1094 "cwebdir/common.w"
 
@@ -366,16 +366,16 @@
 /*:57*//*60:*/
 #line 1140 "cwebdir/common.w"
 
-#line 781 "cwebdir/comm-w2c.ch"
+#line 794 "cwebdir/comm-w2c.ch"
 extern int wrap_up(void);
 extern void print_stats(void);
 #line 1143 "cwebdir/common.w"
 
-#line 792 "cwebdir/comm-w2c.ch"
+#line 805 "cwebdir/comm-w2c.ch"
 /*:60*//*63:*/
 #line 1173 "cwebdir/common.w"
 
-#line 855 "cwebdir/comm-w2c.ch"
+#line 868 "cwebdir/comm-w2c.ch"
 extern void fatal(const char*,const char*);
 extern void overflow(const char*);
 #line 1175 "cwebdir/common.w"
@@ -383,12 +383,12 @@
 /*:63*//*69:*/
 #line 1251 "cwebdir/common.w"
 
-#line 945 "cwebdir/comm-w2c.ch"
+#line 958 "cwebdir/comm-w2c.ch"
 static void scan_args(void);
 #line 1253 "cwebdir/common.w"
 
 /*:69*//*83:*/
-#line 1198 "cwebdir/comm-w2c.ch"
+#line 1211 "cwebdir/comm-w2c.ch"
 
 boolean get_line(void);
 name_pointer id_lookup(const char*,const char*,char);
@@ -401,7 +401,7 @@
 void sprint_section_name(char*,name_pointer);
 
 /*:83*//*84:*/
-#line 1211 "cwebdir/comm-w2c.ch"
+#line 1224 "cwebdir/comm-w2c.ch"
 
 static boolean input_ln(FILE*);
 static int web_strcmp(char*,int,char*,int);
@@ -411,7 +411,7 @@
 static void prime_the_change_buffer(void);
 
 /*:84*//*98:*/
-#line 1457 "cwebdir/comm-w2c.ch"
+#line 1470 "cwebdir/comm-w2c.ch"
 
 static void cb_usage(const_string str);
 static void cb_usagehelp(const_string*message,const_string bug_email);
@@ -424,12 +424,12 @@
 /*:1*//*4:*/
 #line 89 "cwebdir/common.w"
 
-#line 68 "cwebdir/comm-w2c.ch"
+#line 81 "cwebdir/comm-w2c.ch"
 void
 common_init(void)
 #line 92 "cwebdir/common.w"
 {
-#line 77 "cwebdir/comm-w2c.ch"
+#line 90 "cwebdir/comm-w2c.ch"
 /*30:*/
 #line 621 "cwebdir/common.w"
 
@@ -448,18 +448,18 @@
 root= NULL;
 
 /*:41*/
-#line 77 "cwebdir/comm-w2c.ch"
+#line 90 "cwebdir/comm-w2c.ch"
 
 /*91:*/
-#line 1371 "cwebdir/comm-w2c.ch"
+#line 1384 "cwebdir/comm-w2c.ch"
 
 kpse_set_program_name(argv[0],"cweb");
 
 /*:91*/
-#line 78 "cwebdir/comm-w2c.ch"
+#line 91 "cwebdir/comm-w2c.ch"
 
 /*89:*/
-#line 1320 "cwebdir/comm-w2c.ch"
+#line 1333 "cwebdir/comm-w2c.ch"
 
 setlocale(LC_MESSAGES,setlocale(LC_CTYPE,""));
 texmf_locale= kpse_var_expand("${TEXMFLOCALEDIR}");
@@ -475,20 +475,20 @@
 
 
 /*:89*/
-#line 79 "cwebdir/comm-w2c.ch"
+#line 92 "cwebdir/comm-w2c.ch"
 
 /*68:*/
 #line 1233 "cwebdir/common.w"
 
-#line 922 "cwebdir/comm-w2c.ch"
+#line 935 "cwebdir/comm-w2c.ch"
 temporary_output= 1;
 #line 1235 "cwebdir/common.w"
 
 /*:68*/
-#line 80 "cwebdir/comm-w2c.ch"
+#line 93 "cwebdir/comm-w2c.ch"
 
 /*78:*/
-#line 1129 "cwebdir/comm-w2c.ch"
+#line 1142 "cwebdir/comm-w2c.ch"
 
 scan_args();
 if(program==ctangle){
@@ -522,7 +522,7 @@
 #line 1388 "cwebdir/common.w"
 
 /*:78*/
-#line 81 "cwebdir/comm-w2c.ch"
+#line 94 "cwebdir/comm-w2c.ch"
 
 #line 96 "cwebdir/common.w"
 }
@@ -530,7 +530,7 @@
 /*:4*//*9:*/
 #line 172 "cwebdir/common.w"
 
-#line 136 "cwebdir/comm-w2c.ch"
+#line 149 "cwebdir/comm-w2c.ch"
 static boolean input_ln(
 FILE*fp)
 #line 175 "cwebdir/common.w"
@@ -540,12 +540,12 @@
 if(feof(fp))return(0);
 limit= k= buffer;
 while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n')
-#line 143 "cwebdir/comm-w2c.ch"
+#line 156 "cwebdir/comm-w2c.ch"
 if((*(k++)= c)!=' '&&c!='\r')limit= k;
 #line 182 "cwebdir/common.w"
 if(k> buffer_end)
 if((c= getc(fp))!=EOF&&c!='\n'){
-#line 149 "cwebdir/comm-w2c.ch"
+#line 162 "cwebdir/comm-w2c.ch"
 ungetc(c,fp);loc= buffer;err_print(_("! Input line too long"));
 #line 185 "cwebdir/common.w"
 
@@ -558,7 +558,7 @@
 /*:9*//*12:*/
 #line 251 "cwebdir/common.w"
 
-#line 175 "cwebdir/comm-w2c.ch"
+#line 188 "cwebdir/comm-w2c.ch"
 static void
 prime_the_change_buffer(void)
 #line 254 "cwebdir/common.w"
@@ -572,13 +572,13 @@
 if(!input_ln(change_file))return;
 if(limit<buffer+2)continue;
 if(buffer[0]!='@')continue;
-#line 182 "cwebdir/comm-w2c.ch"
+#line 195 "cwebdir/comm-w2c.ch"
 if(xisupper(buffer[1]))buffer[1]= tolower((eight_bits)buffer[1]);
 #line 272 "cwebdir/common.w"
 if(buffer[1]=='x')break;
 if(buffer[1]=='y'||buffer[1]=='z'||buffer[1]=='i'){
 loc= buffer+2;
-#line 188 "cwebdir/comm-w2c.ch"
+#line 201 "cwebdir/comm-w2c.ch"
 err_print(_("! Missing @x in change file"));
 #line 276 "cwebdir/common.w"
 
@@ -594,7 +594,7 @@
 do{
 change_line++;
 if(!input_ln(change_file)){
-#line 194 "cwebdir/comm-w2c.ch"
+#line 207 "cwebdir/comm-w2c.ch"
 err_print(_("! Change file ended after @x"));
 #line 287 "cwebdir/common.w"
 
@@ -609,7 +609,7 @@
 #line 292 "cwebdir/common.w"
 
 {
-#line 201 "cwebdir/comm-w2c.ch"
+#line 214 "cwebdir/comm-w2c.ch"
 change_limit= change_buffer+(ptrdiff_t)(limit-buffer);
 strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
 #line 296 "cwebdir/common.w"
@@ -623,7 +623,7 @@
 /*:12*//*16:*/
 #line 320 "cwebdir/common.w"
 
-#line 209 "cwebdir/comm-w2c.ch"
+#line 222 "cwebdir/comm-w2c.ch"
 static void
 check_change(void)
 #line 323 "cwebdir/common.w"
@@ -638,7 +638,7 @@
 while(1){
 changing= 1;print_where= 1;change_line++;
 if(!input_ln(change_file)){
-#line 216 "cwebdir/comm-w2c.ch"
+#line 229 "cwebdir/comm-w2c.ch"
 err_print(_("! Change file ended before @y"));
 #line 335 "cwebdir/common.w"
 
@@ -646,7 +646,7 @@
 return;
 }
 if(limit> buffer+1&&buffer[0]=='@'){
-#line 222 "cwebdir/comm-w2c.ch"
+#line 235 "cwebdir/comm-w2c.ch"
 char xyz_code= xisupper(buffer[1])?tolower((eight_bits)buffer[1]):buffer[1];
 #line 341 "cwebdir/common.w"
 /*17:*/
@@ -653,7 +653,7 @@
 #line 358 "cwebdir/common.w"
 
 if(xyz_code=='x'||xyz_code=='z'){
-#line 234 "cwebdir/comm-w2c.ch"
+#line 247 "cwebdir/comm-w2c.ch"
 loc= buffer+2;err_print(_("! Where is the matching @y?"));
 #line 361 "cwebdir/common.w"
 
@@ -662,7 +662,7 @@
 if(n> 0){
 loc= buffer+2;
 printf("\n! Hmm... %d ",n);
-#line 240 "cwebdir/comm-w2c.ch"
+#line 253 "cwebdir/comm-w2c.ch"
 err_print(_("of the preceding lines failed to match"));
 #line 368 "cwebdir/common.w"
 
@@ -679,7 +679,7 @@
 #line 292 "cwebdir/common.w"
 
 {
-#line 201 "cwebdir/comm-w2c.ch"
+#line 214 "cwebdir/comm-w2c.ch"
 change_limit= change_buffer+(ptrdiff_t)(limit-buffer);
 strncpy(change_buffer,buffer,(size_t)(limit-buffer+1));
 #line 296 "cwebdir/common.w"
@@ -691,7 +691,7 @@
 changing= 0;cur_line++;
 while(!input_ln(cur_file)){
 if(include_depth==0){
-#line 228 "cwebdir/comm-w2c.ch"
+#line 241 "cwebdir/comm-w2c.ch"
 err_print(_("! CWEB file ended during a change"));
 #line 349 "cwebdir/common.w"
 
@@ -706,7 +706,7 @@
 /*:16*//*18:*/
 #line 378 "cwebdir/common.w"
 
-#line 247 "cwebdir/comm-w2c.ch"
+#line 260 "cwebdir/comm-w2c.ch"
 void
 reset_input(void)
 #line 381 "cwebdir/common.w"
@@ -715,7 +715,7 @@
 /*19:*/
 #line 393 "cwebdir/common.w"
 
-#line 258 "cwebdir/comm-w2c.ch"
+#line 271 "cwebdir/comm-w2c.ch"
 if((found_filename= kpse_find_cweb(web_file_name))==NULL||
 (web_file= fopen(found_filename,"r"))==NULL){
 fatal(_("! Cannot open input file "),web_file_name);
@@ -730,7 +730,7 @@
 
 
 web_file_open= 1;
-#line 274 "cwebdir/comm-w2c.ch"
+#line 287 "cwebdir/comm-w2c.ch"
 if((found_filename= kpse_find_cweb(change_file_name))==NULL||
 (change_file= fopen(found_filename,"r"))==NULL){
 fatal(_("! Cannot open change file "),change_file_name);
@@ -755,7 +755,7 @@
 /*:18*//*21:*/
 #line 426 "cwebdir/common.w"
 
-#line 302 "cwebdir/comm-w2c.ch"
+#line 315 "cwebdir/comm-w2c.ch"
 boolean get_line(void)
 #line 428 "cwebdir/common.w"
 {
@@ -766,7 +766,7 @@
 {
 change_line++;
 if(!input_ln(change_file)){
-#line 414 "cwebdir/comm-w2c.ch"
+#line 427 "cwebdir/comm-w2c.ch"
 err_print(_("! Change file ended without @z"));
 #line 541 "cwebdir/common.w"
 
@@ -781,12 +781,12 @@
 }
 *limit= ' ';
 if(buffer[0]=='@'){
-#line 420 "cwebdir/comm-w2c.ch"
+#line 433 "cwebdir/comm-w2c.ch"
 if(xisupper(buffer[1]))buffer[1]= tolower((eight_bits)buffer[1]);
 #line 554 "cwebdir/common.w"
 if(buffer[1]=='x'||buffer[1]=='y'){
 loc= buffer+2;
-#line 426 "cwebdir/comm-w2c.ch"
+#line 439 "cwebdir/comm-w2c.ch"
 err_print(_("! Where is the matching @z?"));
 #line 557 "cwebdir/common.w"
 
@@ -832,7 +832,7 @@
 loc= buffer+2;*limit= '"';
 while(*loc==' '||*loc=='\t')loc++;
 if(loc>=limit){
-#line 308 "cwebdir/comm-w2c.ch"
+#line 321 "cwebdir/comm-w2c.ch"
 err_print(_("! Include file name not given"));
 #line 443 "cwebdir/common.w"
 
@@ -839,7 +839,7 @@
 goto restart;
 }
 if(include_depth>=max_include_depth-1){
-#line 314 "cwebdir/comm-w2c.ch"
+#line 327 "cwebdir/comm-w2c.ch"
 err_print(_("! Too many nested includes"));
 #line 448 "cwebdir/common.w"
 
@@ -847,9 +847,9 @@
 }
 include_depth++;
 /*23:*/
-#line 354 "cwebdir/comm-w2c.ch"
+#line 367 "cwebdir/comm-w2c.ch"
 {
-#line 363 "cwebdir/comm-w2c.ch"
+#line 376 "cwebdir/comm-w2c.ch"
 char*cur_file_name_end= cur_file_name+max_file_name_length-1;
 char*k= cur_file_name;
 #line 479 "cwebdir/common.w"
@@ -863,7 +863,7 @@
 if(k> cur_file_name_end)too_long();
 
 *k= '\0';
-#line 370 "cwebdir/comm-w2c.ch"
+#line 383 "cwebdir/comm-w2c.ch"
 if((found_filename= kpse_find_cweb(cur_file_name))!=NULL&&
 (cur_file= fopen(found_filename,"r"))!=NULL){
 
@@ -877,7 +877,7 @@
 cur_line= 0;print_where= 1;
 goto restart;
 }
-#line 408 "cwebdir/comm-w2c.ch"
+#line 421 "cwebdir/comm-w2c.ch"
 include_depth--;err_print(_("! Cannot open include file"));goto restart;
 #line 518 "cwebdir/common.w"
 }
@@ -889,11 +889,11 @@
 return 1;
 }
 
-#line 329 "cwebdir/comm-w2c.ch"
+#line 342 "cwebdir/comm-w2c.ch"
 /*:21*//*26:*/
 #line 569 "cwebdir/common.w"
 
-#line 436 "cwebdir/comm-w2c.ch"
+#line 449 "cwebdir/comm-w2c.ch"
 void
 check_complete(void){
 if(change_limit!=change_buffer){
@@ -901,7 +901,7 @@
 limit= buffer+(ptrdiff_t)(change_limit-change_buffer);
 #line 575 "cwebdir/common.w"
 changing= 1;change_depth= include_depth;loc= buffer;
-#line 446 "cwebdir/comm-w2c.ch"
+#line 459 "cwebdir/comm-w2c.ch"
 err_print(_("! Change file entry did not match"));
 #line 577 "cwebdir/common.w"
 
@@ -911,7 +911,7 @@
 /*:26*//*35:*/
 #line 660 "cwebdir/common.w"
 
-#line 488 "cwebdir/comm-w2c.ch"
+#line 501 "cwebdir/comm-w2c.ch"
 name_pointer
 id_lookup(
 const char*first,
@@ -924,7 +924,7 @@
 int l;
 name_pointer p;
 if(last==NULL)for(last= first;*last!='\0';last++);
-#line 500 "cwebdir/comm-w2c.ch"
+#line 513 "cwebdir/comm-w2c.ch"
 l= (int)(last-first);
 #line 673 "cwebdir/common.w"
 /*36:*/
@@ -953,13 +953,13 @@
 if(p==name_ptr)/*39:*/
 #line 706 "cwebdir/common.w"
 {
-#line 513 "cwebdir/comm-w2c.ch"
+#line 526 "cwebdir/comm-w2c.ch"
 if(byte_ptr+l> byte_mem_end)overflow(_("byte memory"));
 if(name_ptr>=name_dir_end)overflow(_("name"));
 #line 709 "cwebdir/common.w"
 strncpy(byte_ptr,first,l);
 (++name_ptr)->byte_start= byte_ptr+= l;
-#line 520 "cwebdir/comm-w2c.ch"
+#line 533 "cwebdir/comm-w2c.ch"
 init_p(p,t);
 #line 712 "cwebdir/common.w"
 }
@@ -973,7 +973,7 @@
 /*:35*//*42:*/
 #line 764 "cwebdir/common.w"
 
-#line 528 "cwebdir/comm-w2c.ch"
+#line 541 "cwebdir/comm-w2c.ch"
 void
 print_section_name(
 name_pointer p)
@@ -984,7 +984,7 @@
 while(p!=name_dir){
 ss= (p+1)->byte_start-1;
 if(*ss==' '&&ss>=s){
-#line 538 "cwebdir/comm-w2c.ch"
+#line 551 "cwebdir/comm-w2c.ch"
 term_write(s,(size_t)(ss-s));p= q->link;q= p;
 }else{
 term_write(s,(size_t)(ss+1-s));p= name_dir;q= NULL;
@@ -998,7 +998,7 @@
 /*:42*//*43:*/
 #line 783 "cwebdir/common.w"
 
-#line 549 "cwebdir/comm-w2c.ch"
+#line 562 "cwebdir/comm-w2c.ch"
 void
 sprint_section_name(
 char*dest,
@@ -1014,7 +1014,7 @@
 }else{
 ss++;p= name_dir;
 }
-#line 558 "cwebdir/comm-w2c.ch"
+#line 571 "cwebdir/comm-w2c.ch"
 strncpy(dest,s,(size_t)(ss-s)),dest+= ss-s;
 #line 799 "cwebdir/common.w"
 s= p->byte_start;
@@ -1025,7 +1025,7 @@
 /*:43*//*44:*/
 #line 804 "cwebdir/common.w"
 
-#line 566 "cwebdir/comm-w2c.ch"
+#line 579 "cwebdir/comm-w2c.ch"
 void
 print_prefix_name(
 name_pointer p)
@@ -1040,7 +1040,7 @@
 /*:44*//*45:*/
 #line 825 "cwebdir/common.w"
 
-#line 576 "cwebdir/comm-w2c.ch"
+#line 589 "cwebdir/comm-w2c.ch"
 static int web_strcmp(
 char*j,
 int j_len,
@@ -1060,7 +1060,7 @@
 /*:45*//*47:*/
 #line 855 "cwebdir/common.w"
 
-#line 598 "cwebdir/comm-w2c.ch"
+#line 611 "cwebdir/comm-w2c.ch"
 static name_pointer
 add_section_name(
 name_pointer par,
@@ -1072,9 +1072,9 @@
 {
 name_pointer p= name_ptr;
 char*s= first_chunk(p);
-#line 610 "cwebdir/comm-w2c.ch"
+#line 623 "cwebdir/comm-w2c.ch"
 int name_len= (int)(last-first)+ispref;
-#line 617 "cwebdir/comm-w2c.ch"
+#line 630 "cwebdir/comm-w2c.ch"
 if(s+name_len> byte_mem_end)overflow(_("byte memory"));
 if(name_ptr+1>=name_dir_end)overflow(_("name"));
 #line 869 "cwebdir/common.w"
@@ -1096,7 +1096,7 @@
 /*:47*//*48:*/
 #line 884 "cwebdir/common.w"
 
-#line 629 "cwebdir/comm-w2c.ch"
+#line 642 "cwebdir/comm-w2c.ch"
 static void
 extend_section_name(
 name_pointer p,
@@ -1107,9 +1107,9 @@
 {
 char*s;
 name_pointer q= p+1;
-#line 640 "cwebdir/comm-w2c.ch"
+#line 653 "cwebdir/comm-w2c.ch"
 int name_len= (int)(last-first)+ispref;
-#line 646 "cwebdir/comm-w2c.ch"
+#line 659 "cwebdir/comm-w2c.ch"
 if(name_ptr>=name_dir_end)overflow(_("name"));
 #line 896 "cwebdir/common.w"
 while(q->link!=name_dir)q= q->link;
@@ -1116,7 +1116,7 @@
 q->link= name_ptr;
 s= name_ptr->byte_start;
 name_ptr->link= name_dir;
-#line 652 "cwebdir/comm-w2c.ch"
+#line 665 "cwebdir/comm-w2c.ch"
 if(s+name_len> byte_mem_end)overflow(_("byte memory"));
 #line 901 "cwebdir/common.w"
 (++name_ptr)->byte_start= byte_ptr= s+name_len;
@@ -1127,7 +1127,7 @@
 /*:48*//*49:*/
 #line 912 "cwebdir/common.w"
 
-#line 661 "cwebdir/comm-w2c.ch"
+#line 674 "cwebdir/comm-w2c.ch"
 name_pointer
 section_lookup(
 char*first,char*last,
@@ -1140,7 +1140,7 @@
 name_pointer r= NULL;
 name_pointer par= NULL;
 
-#line 670 "cwebdir/comm-w2c.ch"
+#line 683 "cwebdir/comm-w2c.ch"
 int name_len= (int)(last-first)+1;
 #line 925 "cwebdir/common.w"
 /*50:*/
@@ -1154,12 +1154,12 @@
 p= (c==less?p->llink:p->rlink);
 }else{
 if(r!=NULL){
-#line 676 "cwebdir/comm-w2c.ch"
+#line 689 "cwebdir/comm-w2c.ch"
 fputs(_("\n! Ambiguous prefix: matches <"),stdout);
 #line 946 "cwebdir/common.w"
 
 print_prefix_name(p);
-#line 682 "cwebdir/comm-w2c.ch"
+#line 695 "cwebdir/comm-w2c.ch"
 fputs(_(">\n and <"),stdout);
 #line 949 "cwebdir/common.w"
 print_prefix_name(r);
@@ -1193,7 +1193,7 @@
 
 case prefix:
 if(!ispref){
-#line 688 "cwebdir/comm-w2c.ch"
+#line 701 "cwebdir/comm-w2c.ch"
 fputs(_("\n! New name is a prefix of <"),stdout);
 #line 975 "cwebdir/common.w"
 
@@ -1207,7 +1207,7 @@
 extend_section_name(r,first,last+1,ispref);
 return r;
 case bad_extension:
-#line 694 "cwebdir/comm-w2c.ch"
+#line 707 "cwebdir/comm-w2c.ch"
 fputs(_("\n! New name extends <"),stdout);
 #line 987 "cwebdir/common.w"
 
@@ -1215,12 +1215,12 @@
 err_print(">");
 return r;
 default:
-#line 700 "cwebdir/comm-w2c.ch"
+#line 713 "cwebdir/comm-w2c.ch"
 fputs(_("\n! Section name incompatible with <"),stdout);
 #line 993 "cwebdir/common.w"
 
 print_prefix_name(r);
-#line 706 "cwebdir/comm-w2c.ch"
+#line 719 "cwebdir/comm-w2c.ch"
 fputs(_(">,\n which abbreviates <"),stdout);
 #line 996 "cwebdir/common.w"
 print_section_name(r);
@@ -1236,7 +1236,7 @@
 /*:49*//*54:*/
 #line 1020 "cwebdir/common.w"
 
-#line 721 "cwebdir/comm-w2c.ch"
+#line 734 "cwebdir/comm-w2c.ch"
 static int section_name_cmp(
 char**pfirst,
 int len,
@@ -1255,7 +1255,7 @@
 switch(c= web_strcmp(first,len,s,ss-s)){
 case equal:if(q==name_dir)
 if(ispref){
-#line 730 "cwebdir/comm-w2c.ch"
+#line 743 "cwebdir/comm-w2c.ch"
 *pfirst= first+(ptrdiff_t)(ss-s);
 #line 1039 "cwebdir/common.w"
 return extension;
@@ -1264,7 +1264,7 @@
 case extension:
 if(!ispref)return bad_extension;
 first+= ss-s;
-#line 736 "cwebdir/comm-w2c.ch"
+#line 749 "cwebdir/comm-w2c.ch"
 if(q!=name_dir){len-= (int)(ss-s);s= q->byte_start;r= q;continue;}
 #line 1046 "cwebdir/common.w"
 *pfirst= first;return extension;
@@ -1276,7 +1276,7 @@
 /*:54*//*58:*/
 #line 1095 "cwebdir/common.w"
 
-#line 762 "cwebdir/comm-w2c.ch"
+#line 775 "cwebdir/comm-w2c.ch"
 void
 err_print(
 const char*s)
@@ -1288,7 +1288,7 @@
 #line 1115 "cwebdir/common.w"
 
 {if(changing&&include_depth==change_depth)
-#line 772 "cwebdir/comm-w2c.ch"
+#line 785 "cwebdir/comm-w2c.ch"
 printf(_(". (l. %d of change file)\n"),change_line);
 else if(include_depth==0)printf(_(". (l. %d)\n"),cur_line);
 else printf(_(". (l. %d of include file %s)\n"),cur_line,cur_file_name);
@@ -1315,18 +1315,18 @@
 /*:58*//*61:*/
 #line 1150 "cwebdir/common.w"
 
-#line 811 "cwebdir/comm-w2c.ch"
+#line 824 "cwebdir/comm-w2c.ch"
 int wrap_up(void){
 if(show_progress||show_happiness||(history> spotless))new_line;
 #line 1153 "cwebdir/common.w"
 if(show_stats)
 print_stats();
-#line 818 "cwebdir/comm-w2c.ch"
+#line 831 "cwebdir/comm-w2c.ch"
 /*62:*/
 #line 1160 "cwebdir/common.w"
 
 switch(history){
-#line 842 "cwebdir/comm-w2c.ch"
+#line 855 "cwebdir/comm-w2c.ch"
 case spotless:
 if(show_happiness)puts(_("(No errors were found.)"));break;
 case harmless_message:
@@ -1339,10 +1339,10 @@
 }
 
 /*:62*/
-#line 818 "cwebdir/comm-w2c.ch"
+#line 831 "cwebdir/comm-w2c.ch"
 
 /*87:*/
-#line 1249 "cwebdir/comm-w2c.ch"
+#line 1262 "cwebdir/comm-w2c.ch"
 
 if(C_file)fclose(C_file);
 if(tex_file)fclose(tex_file);
@@ -1351,9 +1351,9 @@
 remove(check_file_name);
 
 /*:87*/
-#line 819 "cwebdir/comm-w2c.ch"
+#line 832 "cwebdir/comm-w2c.ch"
 
-#line 826 "cwebdir/comm-w2c.ch"
+#line 839 "cwebdir/comm-w2c.ch"
 switch(history){
 case harmless_message:return RETURN_WARN;
 case error_message:return RETURN_ERROR;
@@ -1364,13 +1364,13 @@
 }
 
 /*:61*//*64:*/
-#line 864 "cwebdir/comm-w2c.ch"
+#line 877 "cwebdir/comm-w2c.ch"
 void
 fatal(
 const char*s,const char*t)
 #line 1182 "cwebdir/common.w"
 {
-#line 872 "cwebdir/comm-w2c.ch"
+#line 885 "cwebdir/comm-w2c.ch"
 if(*s)err_print(s);
 #line 1184 "cwebdir/common.w"
 err_print(t);
@@ -1378,13 +1378,13 @@
 }
 
 /*:64*//*65:*/
-#line 880 "cwebdir/comm-w2c.ch"
+#line 893 "cwebdir/comm-w2c.ch"
 void
 overflow(
 const char*t)
 #line 1193 "cwebdir/common.w"
 {
-#line 888 "cwebdir/comm-w2c.ch"
+#line 901 "cwebdir/comm-w2c.ch"
 printf(_("\n! Sorry, %s capacity exceeded"),t);fatal("","");
 #line 1195 "cwebdir/common.w"
 }
@@ -1393,7 +1393,7 @@
 /*:65*//*70:*/
 #line 1254 "cwebdir/common.w"
 
-#line 952 "cwebdir/comm-w2c.ch"
+#line 965 "cwebdir/comm-w2c.ch"
 static void
 scan_args(void)
 #line 1257 "cwebdir/common.w"
@@ -1405,7 +1405,7 @@
 
 #line 1264 "cwebdir/common.w"
 
-#line 964 "cwebdir/comm-w2c.ch"
+#line 977 "cwebdir/comm-w2c.ch"
 
 #if defined DEV_NULL
 strncpy(change_file_name,DEV_NULL,max_file_name_length-2);
@@ -1420,13 +1420,13 @@
 while(--argc> 0){
 #line 1266 "cwebdir/common.w"
 if((**(++argv)=='-'||**argv=='+')&&*(*argv+1))/*74:*/
-#line 1042 "cwebdir/comm-w2c.ch"
+#line 1055 "cwebdir/comm-w2c.ch"
 
 {
 if(strcmp("-help",*argv)==0||strcmp("--help",*argv)==0)
 
 /*94:*/
-#line 1396 "cwebdir/comm-w2c.ch"
+#line 1409 "cwebdir/comm-w2c.ch"
 
 cb_usagehelp(program==ctangle?CTANGLEHELP:
 program==cweave?CWEAVEHELP:CTWILLHELP,NULL);
@@ -1433,12 +1433,12 @@
 
 
 /*:94*/
-#line 1046 "cwebdir/comm-w2c.ch"
+#line 1059 "cwebdir/comm-w2c.ch"
 
 if(strcmp("-version",*argv)==0||strcmp("--version",*argv)==0)
 
 /*96:*/
-#line 1438 "cwebdir/comm-w2c.ch"
+#line 1451 "cwebdir/comm-w2c.ch"
 
 printversionandexit(cb_banner,
 program==ctwill?"Donald E. Knuth":"Silvio Levy and Donald E. Knuth",
@@ -1446,7 +1446,7 @@
 
 
 /*:96*/
-#line 1049 "cwebdir/comm-w2c.ch"
+#line 1062 "cwebdir/comm-w2c.ch"
 
 if(strcmp("-verbose",*argv)==0||strcmp("--verbose",*argv)==0)
 
@@ -1465,14 +1465,14 @@
 if(sscanf(++dot_pos,"%u",&kpathsea_debug)!=1)/*75:*/
 #line 1352 "cwebdir/common.w"
 
-#line 1092 "cwebdir/comm-w2c.ch"
+#line 1105 "cwebdir/comm-w2c.ch"
 cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill");
 
 #line 1363 "cwebdir/common.w"
 
-#line 1099 "cwebdir/comm-w2c.ch"
+#line 1112 "cwebdir/comm-w2c.ch"
 /*:75*/
-#line 1064 "cwebdir/comm-w2c.ch"
+#line 1077 "cwebdir/comm-w2c.ch"
 
 while(isdigit(*dot_pos))dot_pos++;
 dot_pos--;
@@ -1481,7 +1481,7 @@
 use_language= ++dot_pos;
 break;
 }else
-#line 1077 "cwebdir/comm-w2c.ch"
+#line 1090 "cwebdir/comm-w2c.ch"
  flags[(eight_bits)*dot_pos]= flag_change;
 #line 1350 "cwebdir/common.w"
 }
@@ -1491,7 +1491,7 @@
 
 else{
 s= name_pos= *argv;dot_pos= NULL;
-#line 985 "cwebdir/comm-w2c.ch"
+#line 998 "cwebdir/comm-w2c.ch"
 while(*s){
 if(*s=='.')dot_pos= s++;
 else if(*s==DIR_SEPARATOR||*s==DEVICE_SEPARATOR||*s=='/')
@@ -1506,7 +1506,7 @@
 {
 if(s-*argv> max_file_name_length-5)
 /*76:*/
-#line 1099 "cwebdir/comm-w2c.ch"
+#line 1112 "cwebdir/comm-w2c.ch"
 fatal(_("! Filename too long\n"),*argv);
 #line 1365 "cwebdir/common.w"
 
@@ -1535,12 +1535,12 @@
 #line 1310 "cwebdir/common.w"
 
 {
-#line 1017 "cwebdir/comm-w2c.ch"
+#line 1030 "cwebdir/comm-w2c.ch"
 if(strcmp(*argv,"-")!=0){
 #line 1314 "cwebdir/common.w"
 if(s-*argv> max_file_name_length-4)
 /*76:*/
-#line 1099 "cwebdir/comm-w2c.ch"
+#line 1112 "cwebdir/comm-w2c.ch"
 fatal(_("! Filename too long\n"),*argv);
 #line 1365 "cwebdir/common.w"
 
@@ -1551,7 +1551,7 @@
 if(dot_pos==NULL)
 sprintf(change_file_name,"%s.ch",*argv);
 else strcpy(change_file_name,*argv);
-#line 1024 "cwebdir/comm-w2c.ch"
+#line 1037 "cwebdir/comm-w2c.ch"
 }
 found_change= 1;
 #line 1321 "cwebdir/common.w"
@@ -1566,7 +1566,7 @@
 {
 if(s-*argv> max_file_name_length-5)
 /*76:*/
-#line 1099 "cwebdir/comm-w2c.ch"
+#line 1112 "cwebdir/comm-w2c.ch"
 fatal(_("! Filename too long\n"),*argv);
 #line 1365 "cwebdir/common.w"
 
@@ -1582,7 +1582,7 @@
 }else{
 strcpy(tex_file_name,*argv);
 strcpy(C_file_name,*argv);
-#line 1031 "cwebdir/comm-w2c.ch"
+#line 1044 "cwebdir/comm-w2c.ch"
 if(make_xrefs){
 #line 1336 "cwebdir/common.w"
 *dot_pos= 0;
@@ -1593,7 +1593,7 @@
 found_out= 1;
 }
 
-#line 1041 "cwebdir/comm-w2c.ch"
+#line 1054 "cwebdir/comm-w2c.ch"
 /*:73*/
 #line 1277 "cwebdir/common.w"
 
@@ -1600,12 +1600,12 @@
 else/*75:*/
 #line 1352 "cwebdir/common.w"
 
-#line 1092 "cwebdir/comm-w2c.ch"
+#line 1105 "cwebdir/comm-w2c.ch"
  cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill");
 
 #line 1363 "cwebdir/common.w"
 
-#line 1099 "cwebdir/comm-w2c.ch"
+#line 1112 "cwebdir/comm-w2c.ch"
 /*:75*/
 #line 1278 "cwebdir/common.w"
 ;
@@ -1614,12 +1614,12 @@
 if(!found_web)/*75:*/
 #line 1352 "cwebdir/common.w"
 
-#line 1092 "cwebdir/comm-w2c.ch"
+#line 1105 "cwebdir/comm-w2c.ch"
 cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill");
 
 #line 1363 "cwebdir/common.w"
 
-#line 1099 "cwebdir/comm-w2c.ch"
+#line 1112 "cwebdir/comm-w2c.ch"
 /*:75*/
 #line 1281 "cwebdir/common.w"
 ;
@@ -1626,9 +1626,9 @@
 #line 1283 "cwebdir/common.w"
 }
 
-#line 1004 "cwebdir/comm-w2c.ch"
+#line 1017 "cwebdir/comm-w2c.ch"
 /*:70*//*95:*/
-#line 1404 "cwebdir/comm-w2c.ch"
+#line 1417 "cwebdir/comm-w2c.ch"
 
 static void cb_usage(const_string str)
 {
@@ -1661,7 +1661,7 @@
 }
 
 /*:95*//*97:*/
-#line 1446 "cwebdir/comm-w2c.ch"
+#line 1459 "cwebdir/comm-w2c.ch"
 
 void cb_show_banner(void)
 {

Modified: trunk/Build/source/texk/web2c/cwebdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ChangeLog	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/cwebdir/ChangeLog	2020-06-07 17:59:46 UTC (rev 55465)
@@ -1,5 +1,12 @@
 2020-06-07  Andreas Scherer  <https://ascherer.github.io>
 
+	* comm-w2c.ch,
+	* ctang-w2c.ch,
+	* cweav-w2c.ch,
+	* ctwill-w2c.ch: Add date to table-of-contents page.
+
+2020-06-07  Andreas Scherer  <https://ascherer.github.io>
+
 	* ctang-w2c.ch: Handle special 'files' as secondary output.
 
 2020-06-07  Andreas Scherer  <https://ascherer.github.io>

Modified: trunk/Build/source/texk/web2c/cwebdir/comm-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/comm-w2c.ch	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/cwebdir/comm-w2c.ch	2020-06-07 17:59:46 UTC (rev 55465)
@@ -29,6 +29,19 @@
 @z
 
 @x
+\def\botofcontents{\vfill
+ at y
+\def\covernote{\vbox{
+ at z
+
+ at x
+}
+ at y
+}}
+\datecontentspage
+ at z
+
+ at x
 @s not_eq normal @q unreserve a C++ keyword @>
 @y
 @s boolean int

Modified: trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/cwebdir/ctang-w2c.ch	2020-06-07 17:59:46 UTC (rev 55465)
@@ -28,6 +28,19 @@
 @z
 
 @x
+\def\botofcontents{\vfill
+ at y
+\def\covernote{\vbox{
+ at z
+
+ at x
+}
+ at y
+}}
+\datecontentspage
+ at z
+
+ at x
 @s not_eq normal @q unreserve a C++ keyword @>
 @y
 @z

Modified: trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch	2020-06-07 17:59:46 UTC (rev 55465)
@@ -58,6 +58,19 @@
 @z
 
 @x
+\def\botofcontents{\vfill
+ at y
+\def\covernote{\vbox{
+ at z
+
+ at x
+}
+ at y
+}}
+\datecontentspage
+ at z
+
+ at x
 @s not_eq normal @q unreserve a C++ keyword @>
 @y
 @z

Modified: trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch
===================================================================
--- trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch	2020-06-07 15:37:44 UTC (rev 55464)
+++ trunk/Build/source/texk/web2c/cwebdir/cweav-w2c.ch	2020-06-07 17:59:46 UTC (rev 55465)
@@ -28,6 +28,19 @@
 @z
 
 @x
+\def\botofcontents{\vfill
+ at y
+\def\covernote{\vbox{
+ at z
+
+ at x
+}
+ at y
+}}
+\datecontentspage
+ at z
+
+ at x
 @s not_eq normal @q unreserve a C++ keyword @>
 @y
 @z



More information about the tex-live-commits mailing list.