diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2020-04-11 15:57:15 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2020-04-11 15:57:15 +0000 |
commit | d18e7b8da9786016b16a8024e05eb7f0925823c5 (patch) | |
tree | b5ea52b1a529e94c78584cbfca92a61b4a4a9ad1 | |
parent | 2b236210d6f17c81e3c1adfcd4a3864bfd4a9d2c (diff) |
Externalize common variables.
Four variables from 'common.h' are made 'extern' by moving them to
'common.w' (via 'comm-w2c.ch' and 'comm-w2c.h').
git-svn-id: svn://tug.org/texlive/trunk@54649 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/texk/web2c/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/ctangleboot.cin | 10 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebboot.cin | 263 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/comm-w2c.ch | 12 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/comm-w2c.h | 8 |
6 files changed, 166 insertions, 136 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index eb2ba2b2351..caf6db8c6a9 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,8 @@ +2020-04-11 Andreas Scherer <https://ascherer.github.io> + + * ctangleboot.cin, + * cwebboot.cin: Rearrange 'common variables'. + 2020-03-30 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 83f928c8e12..2f5eb33da90 100644 --- a/Build/source/texk/web2c/ctangleboot.cin +++ b/Build/source/texk/web2c/ctangleboot.cin @@ -176,10 +176,10 @@ extern int phase; /*:5*//*7:*/ #line 79 "cwebdir/comm-w2c.h" -char section_text[longest_name+1]; -char*section_text_end= section_text+longest_name; -char*id_first; -char*id_loc; +extern char section_text[]; +extern char*section_text_end; +extern char*id_first; +extern char*id_loc; /*:7*//*8:*/ #line 94 "cwebdir/comm-w2c.h" @@ -832,7 +832,7 @@ if((C_file= fopen(output_file_name,"r"))!=NULL){ #line 779 "cwebdir/ctang-w2c.ch" char x[BUFSIZ],y[BUFSIZ]; -int x_size,y_size,comparison; +int x_size,y_size,comparison= false; if((check_file= fopen(check_file_name,"r"))==NULL) fatal(_("! Cannot open output file "),check_file_name); diff --git a/Build/source/texk/web2c/cwebboot.cin b/Build/source/texk/web2c/cwebboot.cin index 602dfaf071a..069fa1c3a34 100644 --- a/Build/source/texk/web2c/cwebboot.cin +++ b/Build/source/texk/web2c/cwebboot.cin @@ -17,21 +17,21 @@ #include <stdlib.h> /*:22*//*81:*/ -#line 1120 "cwebdir/comm-w2c.ch" +#line 1132 "cwebdir/comm-w2c.ch" #include <string.h> #line 1417 "cwebdir/common.w" -#line 1127 "cwebdir/comm-w2c.ch" +#line 1139 "cwebdir/comm-w2c.ch" /*:81*//*85:*/ -#line 1166 "cwebdir/comm-w2c.ch" +#line 1178 "cwebdir/comm-w2c.ch" #include <stdbool.h> #include <stddef.h> #include <stdint.h> /*:85*//*88:*/ -#line 1208 "cwebdir/comm-w2c.ch" +#line 1220 "cwebdir/comm-w2c.ch" #ifndef HAVE_GETTEXT #define HAVE_GETTEXT 0 @@ -48,7 +48,7 @@ #endif /*:88*//*90:*/ -#line 1298 "cwebdir/comm-w2c.ch" +#line 1310 "cwebdir/comm-w2c.ch" typedef bool boolean; #define HAVE_BOOLEAN @@ -192,7 +192,16 @@ err_print(_("! Include file name too long") ) ;goto restart;} \ int program; #line 76 "cwebdir/common.w" -/*:2*//*7:*/ +/*:2*//*6:*/ +#line 90 "cwebdir/comm-w2c.ch" + +char section_text[longest_name+1]; +char*section_text_end= section_text+longest_name; +char*id_first; +char*id_loc; +#line 138 "cwebdir/common.w" + +/*:6*//*7:*/ #line 159 "cwebdir/common.w" char buffer[long_buf_size]; @@ -220,7 +229,7 @@ boolean web_file_open= 0; /*:10*//*20:*/ #line 418 "cwebdir/common.w" -#line 264 "cwebdir/comm-w2c.ch" +#line 276 "cwebdir/comm-w2c.ch" typedef uint8_t eight_bits; typedef uint16_t sixteen_bits; #line 420 "cwebdir/common.w" @@ -250,7 +259,7 @@ char Ilk; }dummy; /*:40*//*55:*/ -#line 703 "cwebdir/comm-w2c.ch" +#line 715 "cwebdir/comm-w2c.ch" void*equiv_or_xref; #line 1064 "cwebdir/common.w" @@ -292,10 +301,10 @@ char**argv; 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 864 "cwebdir/comm-w2c.ch" +#line 876 "cwebdir/comm-w2c.ch" char scn_file_name[max_file_name_length]; char check_file_name[max_file_name_length]; -#line 871 "cwebdir/comm-w2c.ch" +#line 883 "cwebdir/comm-w2c.ch" boolean flags[128]; const char*use_language= ""; #line 1228 "cwebdir/common.w" @@ -306,15 +315,15 @@ const char*use_language= ""; FILE*C_file; FILE*tex_file; FILE*idx_file; -#line 1053 "cwebdir/comm-w2c.ch" +#line 1065 "cwebdir/comm-w2c.ch" FILE*scn_file; FILE*check_file; -#line 1060 "cwebdir/comm-w2c.ch" +#line 1072 "cwebdir/comm-w2c.ch" FILE*active_file; char*found_filename; #line 1376 "cwebdir/common.w" -#line 1077 "cwebdir/comm-w2c.ch" +#line 1089 "cwebdir/comm-w2c.ch" /*:77*/ #line 61 "cwebdir/common.w" @@ -329,7 +338,7 @@ char change_buffer[buf_size]; char*change_limit; /*:11*//*86:*/ -#line 1182 "cwebdir/comm-w2c.ch" +#line 1194 "cwebdir/comm-w2c.ch" char cb_banner[max_banner]; string texmf_locale; @@ -344,51 +353,51 @@ char separators[]= SEPARATORS; /*33:*/ #line 650 "cwebdir/common.w" -#line 432 "cwebdir/comm-w2c.ch" +#line 444 "cwebdir/comm-w2c.ch" extern boolean names_match(name_pointer,const char*,size_t,eight_bits); #line 652 "cwebdir/common.w" /*:33*//*38:*/ #line 703 "cwebdir/common.w" -#line 462 "cwebdir/comm-w2c.ch" +#line 474 "cwebdir/comm-w2c.ch" extern void init_p(name_pointer,eight_bits); #line 705 "cwebdir/common.w" /*:38*//*46:*/ #line 852 "cwebdir/common.w" -#line 542 "cwebdir/comm-w2c.ch" +#line 554 "cwebdir/comm-w2c.ch" extern void init_node(name_pointer); #line 854 "cwebdir/common.w" /*:46*//*53:*/ #line 1017 "cwebdir/common.w" -#line 668 "cwebdir/comm-w2c.ch" +#line 680 "cwebdir/comm-w2c.ch" static int section_name_cmp(char**,int,name_pointer); #line 1019 "cwebdir/common.w" /*:53*//*57:*/ #line 1092 "cwebdir/common.w" -#line 710 "cwebdir/comm-w2c.ch" +#line 722 "cwebdir/comm-w2c.ch" extern void err_print(const char*); #line 1094 "cwebdir/common.w" /*:57*//*60:*/ #line 1140 "cwebdir/common.w" -#line 737 "cwebdir/comm-w2c.ch" +#line 749 "cwebdir/comm-w2c.ch" extern int wrap_up(void); extern void print_stats(void); #line 1143 "cwebdir/common.w" -#line 748 "cwebdir/comm-w2c.ch" +#line 760 "cwebdir/comm-w2c.ch" /*:60*//*63:*/ #line 1173 "cwebdir/common.w" -#line 811 "cwebdir/comm-w2c.ch" +#line 823 "cwebdir/comm-w2c.ch" extern void fatal(const char*,const char*); extern void overflow(const char*); #line 1175 "cwebdir/common.w" @@ -396,12 +405,12 @@ extern void overflow(const char*); /*:63*//*69:*/ #line 1251 "cwebdir/common.w" -#line 893 "cwebdir/comm-w2c.ch" +#line 905 "cwebdir/comm-w2c.ch" static void scan_args(void); #line 1253 "cwebdir/common.w" /*:69*//*83:*/ -#line 1142 "cwebdir/comm-w2c.ch" +#line 1154 "cwebdir/comm-w2c.ch" boolean get_line(void); name_pointer id_lookup(const char*,const char*,char); @@ -414,7 +423,7 @@ void reset_input(void); void sprint_section_name(char*,name_pointer); /*:83*//*84:*/ -#line 1155 "cwebdir/comm-w2c.ch" +#line 1167 "cwebdir/comm-w2c.ch" static boolean input_ln(FILE*); static int web_strcmp(char*,int,char*,int); @@ -424,7 +433,7 @@ static void check_change(void); static void prime_the_change_buffer(void); /*:84*//*98:*/ -#line 1399 "cwebdir/comm-w2c.ch" +#line 1411 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str); static void cb_usagehelp(const_string*message,const_string bug_email); @@ -464,7 +473,7 @@ root= NULL; #line 72 "cwebdir/comm-w2c.ch" /*91:*/ -#line 1313 "cwebdir/comm-w2c.ch" +#line 1325 "cwebdir/comm-w2c.ch" kpse_set_program_name(argv[0],"cweb"); @@ -472,7 +481,7 @@ kpse_set_program_name(argv[0],"cweb"); #line 73 "cwebdir/comm-w2c.ch" /*89:*/ -#line 1264 "cwebdir/comm-w2c.ch" +#line 1276 "cwebdir/comm-w2c.ch" setlocale(LC_MESSAGES,setlocale(LC_CTYPE,"")); texmf_locale= kpse_var_expand("${TEXMFLOCALEDIR}"); @@ -493,7 +502,7 @@ textdomain("cweb"); /*68:*/ #line 1233 "cwebdir/common.w" -#line 878 "cwebdir/comm-w2c.ch" +#line 890 "cwebdir/comm-w2c.ch" temporary_output= 1; #line 1235 "cwebdir/common.w" @@ -501,7 +510,7 @@ temporary_output= 1; #line 75 "cwebdir/comm-w2c.ch" /*78:*/ -#line 1077 "cwebdir/comm-w2c.ch" +#line 1089 "cwebdir/comm-w2c.ch" scan_args(); if(program==ctangle){ @@ -536,7 +545,7 @@ fatal(_("! Cannot open output file "),check_file_name); /*:4*//*9:*/ #line 172 "cwebdir/common.w" -#line 103 "cwebdir/comm-w2c.ch" +#line 115 "cwebdir/comm-w2c.ch" static boolean input_ln( FILE*fp) #line 175 "cwebdir/common.w" @@ -546,12 +555,12 @@ register char*k; if(feof(fp))return(0); limit= k= buffer; while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n') -#line 110 "cwebdir/comm-w2c.ch" +#line 122 "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 116 "cwebdir/comm-w2c.ch" +#line 128 "cwebdir/comm-w2c.ch" ungetc(c,fp);loc= buffer;err_print(_("! Input line too long")); #line 185 "cwebdir/common.w" @@ -564,7 +573,7 @@ return(1); /*:9*//*12:*/ #line 251 "cwebdir/common.w" -#line 142 "cwebdir/comm-w2c.ch" +#line 154 "cwebdir/comm-w2c.ch" static void prime_the_change_buffer(void) #line 254 "cwebdir/common.w" @@ -578,13 +587,13 @@ change_line++; if(!input_ln(change_file))return; if(limit<buffer+2)continue; if(buffer[0]!='@')continue; -#line 149 "cwebdir/comm-w2c.ch" +#line 161 "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 155 "cwebdir/comm-w2c.ch" +#line 167 "cwebdir/comm-w2c.ch" err_print(_("! Missing @x in change file")); #line 276 "cwebdir/common.w" @@ -600,7 +609,7 @@ err_print(_("! Missing @x in change file")); do{ change_line++; if(!input_ln(change_file)){ -#line 161 "cwebdir/comm-w2c.ch" +#line 173 "cwebdir/comm-w2c.ch" err_print(_("! Change file ended after @x")); #line 287 "cwebdir/common.w" @@ -615,7 +624,7 @@ return; #line 292 "cwebdir/common.w" { -#line 168 "cwebdir/comm-w2c.ch" +#line 180 "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" @@ -629,7 +638,7 @@ strncpy(change_buffer,buffer,(size_t)(limit-buffer+1)); /*:12*//*16:*/ #line 320 "cwebdir/common.w" -#line 176 "cwebdir/comm-w2c.ch" +#line 188 "cwebdir/comm-w2c.ch" static void check_change(void) #line 323 "cwebdir/common.w" @@ -644,7 +653,7 @@ if(!change_pending)changed_section[section_count]= 1; while(1){ changing= 1;print_where= 1;change_line++; if(!input_ln(change_file)){ -#line 183 "cwebdir/comm-w2c.ch" +#line 195 "cwebdir/comm-w2c.ch" err_print(_("! Change file ended before @y")); #line 335 "cwebdir/common.w" @@ -652,14 +661,14 @@ change_limit= change_buffer;changing= 0; return; } if(limit> buffer+1&&buffer[0]=='@'){ -#line 189 "cwebdir/comm-w2c.ch" +#line 201 "cwebdir/comm-w2c.ch" char xyz_code= xisupper(buffer[1])?tolower((eight_bits)buffer[1]):buffer[1]; #line 341 "cwebdir/common.w" /*17:*/ #line 358 "cwebdir/common.w" if(xyz_code=='x'||xyz_code=='z'){ -#line 201 "cwebdir/comm-w2c.ch" +#line 213 "cwebdir/comm-w2c.ch" loc= buffer+2;err_print(_("! Where is the matching @y?")); #line 361 "cwebdir/common.w" @@ -668,7 +677,7 @@ else if(xyz_code=='y'){ if(n> 0){ loc= buffer+2; printf("\n! Hmm... %d ",n); -#line 207 "cwebdir/comm-w2c.ch" +#line 219 "cwebdir/comm-w2c.ch" err_print(_("of the preceding lines failed to match")); #line 368 "cwebdir/common.w" @@ -685,7 +694,7 @@ return; #line 292 "cwebdir/common.w" { -#line 168 "cwebdir/comm-w2c.ch" +#line 180 "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" @@ -697,7 +706,7 @@ strncpy(change_buffer,buffer,(size_t)(limit-buffer+1)); changing= 0;cur_line++; while(!input_ln(cur_file)){ if(include_depth==0){ -#line 195 "cwebdir/comm-w2c.ch" +#line 207 "cwebdir/comm-w2c.ch" err_print(_("! CWEB file ended during a change")); #line 349 "cwebdir/common.w" @@ -712,7 +721,7 @@ if(lines_dont_match)n++; /*:16*//*18:*/ #line 378 "cwebdir/common.w" -#line 214 "cwebdir/comm-w2c.ch" +#line 226 "cwebdir/comm-w2c.ch" void reset_input(void) #line 381 "cwebdir/common.w" @@ -721,7 +730,7 @@ limit= buffer;loc= buffer+1;buffer[0]= ' '; /*19:*/ #line 393 "cwebdir/common.w" -#line 225 "cwebdir/comm-w2c.ch" +#line 237 "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); @@ -736,7 +745,7 @@ free(found_filename); web_file_open= 1; -#line 241 "cwebdir/comm-w2c.ch" +#line 253 "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); @@ -761,7 +770,7 @@ limit= buffer;loc= buffer+1;buffer[0]= ' ';input_has_ended= 0; /*:18*//*21:*/ #line 426 "cwebdir/common.w" -#line 271 "cwebdir/comm-w2c.ch" +#line 283 "cwebdir/comm-w2c.ch" boolean get_line(void) #line 428 "cwebdir/common.w" { @@ -772,7 +781,7 @@ if(changing&&include_depth==change_depth) { change_line++; if(!input_ln(change_file)){ -#line 370 "cwebdir/comm-w2c.ch" +#line 382 "cwebdir/comm-w2c.ch" err_print(_("! Change file ended without @z")); #line 541 "cwebdir/common.w" @@ -787,12 +796,12 @@ changed_section[section_count]= 1;change_pending= 0; } *limit= ' '; if(buffer[0]=='@'){ -#line 376 "cwebdir/comm-w2c.ch" +#line 388 "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 382 "cwebdir/comm-w2c.ch" +#line 394 "cwebdir/comm-w2c.ch" err_print(_("! Where is the matching @z?")); #line 557 "cwebdir/common.w" @@ -838,14 +847,14 @@ if(buffer[0]=='@'&&(buffer[1]=='i'||buffer[1]=='I')){ loc= buffer+2;*limit= '"'; while(*loc==' '||*loc=='\t')loc++; if(loc>=limit){ -#line 277 "cwebdir/comm-w2c.ch" +#line 289 "cwebdir/comm-w2c.ch" err_print(_("! Include file name not given")); #line 443 "cwebdir/common.w" goto restart; } if(include_depth>=max_include_depth-1){ -#line 283 "cwebdir/comm-w2c.ch" +#line 295 "cwebdir/comm-w2c.ch" err_print(_("! Too many nested includes")); #line 448 "cwebdir/common.w" @@ -855,7 +864,7 @@ include_depth++; /*23:*/ #line 474 "cwebdir/common.w" { -#line 319 "cwebdir/comm-w2c.ch" +#line 331 "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" @@ -869,7 +878,7 @@ while(*loc!=' '&&*loc!='\t'&&*loc!='"'&&k<=cur_file_name_end)*k++= *loc++; if(k> cur_file_name_end)too_long(); *k= '\0'; -#line 326 "cwebdir/comm-w2c.ch" +#line 338 "cwebdir/comm-w2c.ch" if((found_filename= kpse_find_cweb(cur_file_name))!=NULL&& (cur_file= fopen(found_filename,"r"))!=NULL){ @@ -883,7 +892,7 @@ free(found_filename); cur_line= 0;print_where= 1; goto restart; } -#line 364 "cwebdir/comm-w2c.ch" +#line 376 "cwebdir/comm-w2c.ch" include_depth--;err_print(_("! Cannot open include file"));goto restart; #line 518 "cwebdir/common.w" } @@ -895,11 +904,11 @@ include_depth--;err_print(_("! Cannot open include file"));goto restart; return 1; } -#line 298 "cwebdir/comm-w2c.ch" +#line 310 "cwebdir/comm-w2c.ch" /*:21*//*26:*/ #line 569 "cwebdir/common.w" -#line 392 "cwebdir/comm-w2c.ch" +#line 404 "cwebdir/comm-w2c.ch" void check_complete(void){ if(change_limit!=change_buffer){ @@ -907,7 +916,7 @@ strncpy(buffer,change_buffer,(size_t)(change_limit-change_buffer+1)); limit= buffer+(ptrdiff_t)(change_limit-change_buffer); #line 575 "cwebdir/common.w" changing= 1;change_depth= include_depth;loc= buffer; -#line 402 "cwebdir/comm-w2c.ch" +#line 414 "cwebdir/comm-w2c.ch" err_print(_("! Change file entry did not match")); #line 577 "cwebdir/common.w" @@ -917,7 +926,7 @@ err_print(_("! Change file entry did not match")); /*:26*//*35:*/ #line 660 "cwebdir/common.w" -#line 444 "cwebdir/comm-w2c.ch" +#line 456 "cwebdir/comm-w2c.ch" name_pointer id_lookup( const char*first, @@ -930,7 +939,7 @@ int h; int l; name_pointer p; if(last==NULL)for(last= first;*last!='\0';last++); -#line 456 "cwebdir/comm-w2c.ch" +#line 468 "cwebdir/comm-w2c.ch" l= (int)(last-first); #line 673 "cwebdir/common.w" /*36:*/ @@ -959,13 +968,13 @@ p->link= hash[h];hash[h]= p; if(p==name_ptr)/*39:*/ #line 706 "cwebdir/common.w" { -#line 469 "cwebdir/comm-w2c.ch" +#line 481 "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 476 "cwebdir/comm-w2c.ch" +#line 488 "cwebdir/comm-w2c.ch" init_p(p,t); #line 712 "cwebdir/common.w" } @@ -979,7 +988,7 @@ return(p); /*:35*//*42:*/ #line 764 "cwebdir/common.w" -#line 484 "cwebdir/comm-w2c.ch" +#line 496 "cwebdir/comm-w2c.ch" void print_section_name( name_pointer p) @@ -990,7 +999,7 @@ name_pointer q= p+1; while(p!=name_dir){ ss= (p+1)->byte_start-1; if(*ss==' '&&ss>=s){ -#line 494 "cwebdir/comm-w2c.ch" +#line 506 "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; @@ -1004,7 +1013,7 @@ if(q)term_write("...",3); /*:42*//*43:*/ #line 783 "cwebdir/common.w" -#line 505 "cwebdir/comm-w2c.ch" +#line 517 "cwebdir/comm-w2c.ch" void sprint_section_name( char*dest, @@ -1020,7 +1029,7 @@ p= q->link;q= p; }else{ ss++;p= name_dir; } -#line 514 "cwebdir/comm-w2c.ch" +#line 526 "cwebdir/comm-w2c.ch" strncpy(dest,s,(size_t)(ss-s)),dest+= ss-s; #line 799 "cwebdir/common.w" s= p->byte_start; @@ -1031,7 +1040,7 @@ s= p->byte_start; /*:43*//*44:*/ #line 804 "cwebdir/common.w" -#line 522 "cwebdir/comm-w2c.ch" +#line 534 "cwebdir/comm-w2c.ch" void print_prefix_name( name_pointer p) @@ -1046,7 +1055,7 @@ if(s+l<(p+1)->byte_start)term_write("...",3); /*:44*//*45:*/ #line 825 "cwebdir/common.w" -#line 532 "cwebdir/comm-w2c.ch" +#line 544 "cwebdir/comm-w2c.ch" static int web_strcmp( char*j, int j_len, @@ -1066,7 +1075,7 @@ else return greater; /*:45*//*47:*/ #line 855 "cwebdir/common.w" -#line 554 "cwebdir/comm-w2c.ch" +#line 566 "cwebdir/comm-w2c.ch" static name_pointer add_section_name( name_pointer par, @@ -1078,9 +1087,9 @@ int ispref) { name_pointer p= name_ptr; char*s= first_chunk(p); -#line 566 "cwebdir/comm-w2c.ch" +#line 578 "cwebdir/comm-w2c.ch" int name_len= (int)(last-first)+ispref; -#line 573 "cwebdir/comm-w2c.ch" +#line 585 "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" @@ -1102,7 +1111,7 @@ return par==NULL?(root= p):c==less?(par->llink= p):(par->rlink= p); /*:47*//*48:*/ #line 884 "cwebdir/common.w" -#line 585 "cwebdir/comm-w2c.ch" +#line 597 "cwebdir/comm-w2c.ch" static void extend_section_name( name_pointer p, @@ -1113,16 +1122,16 @@ int ispref) { char*s; name_pointer q= p+1; -#line 596 "cwebdir/comm-w2c.ch" +#line 608 "cwebdir/comm-w2c.ch" int name_len= (int)(last-first)+ispref; -#line 602 "cwebdir/comm-w2c.ch" +#line 614 "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; q->link= name_ptr; s= name_ptr->byte_start; name_ptr->link= name_dir; -#line 608 "cwebdir/comm-w2c.ch" +#line 620 "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; @@ -1133,7 +1142,7 @@ if(ispref)*(byte_ptr-1)= ' '; /*:48*//*49:*/ #line 912 "cwebdir/common.w" -#line 617 "cwebdir/comm-w2c.ch" +#line 629 "cwebdir/comm-w2c.ch" name_pointer section_lookup( char*first,char*last, @@ -1146,7 +1155,7 @@ name_pointer q= NULL; name_pointer r= NULL; name_pointer par= NULL; -#line 626 "cwebdir/comm-w2c.ch" +#line 638 "cwebdir/comm-w2c.ch" int name_len= (int)(last-first)+1; #line 925 "cwebdir/common.w" /*50:*/ @@ -1160,12 +1169,12 @@ par= p; p= (c==less?p->llink:p->rlink); }else{ if(r!=NULL){ -#line 632 "cwebdir/comm-w2c.ch" +#line 644 "cwebdir/comm-w2c.ch" fputs(_("\n! Ambiguous prefix: matches <"),stdout); #line 946 "cwebdir/common.w" print_prefix_name(p); -#line 638 "cwebdir/comm-w2c.ch" +#line 650 "cwebdir/comm-w2c.ch" fputs(_(">\n and <"),stdout); #line 949 "cwebdir/common.w" print_prefix_name(r); @@ -1199,7 +1208,7 @@ switch(section_name_cmp(&first,name_len,r)){ case prefix: if(!ispref){ -#line 644 "cwebdir/comm-w2c.ch" +#line 656 "cwebdir/comm-w2c.ch" fputs(_("\n! New name is a prefix of <"),stdout); #line 975 "cwebdir/common.w" @@ -1213,7 +1222,7 @@ case extension:if(!ispref||first<=last) extend_section_name(r,first,last+1,ispref); return r; case bad_extension: -#line 650 "cwebdir/comm-w2c.ch" +#line 662 "cwebdir/comm-w2c.ch" fputs(_("\n! New name extends <"),stdout); #line 987 "cwebdir/common.w" @@ -1221,12 +1230,12 @@ print_section_name(r); err_print(">"); return r; default: -#line 656 "cwebdir/comm-w2c.ch" +#line 668 "cwebdir/comm-w2c.ch" fputs(_("\n! Section name incompatible with <"),stdout); #line 993 "cwebdir/common.w" print_prefix_name(r); -#line 662 "cwebdir/comm-w2c.ch" +#line 674 "cwebdir/comm-w2c.ch" fputs(_(">,\n which abbreviates <"),stdout); #line 996 "cwebdir/common.w" print_section_name(r); @@ -1242,7 +1251,7 @@ return r; /*:49*//*54:*/ #line 1020 "cwebdir/common.w" -#line 677 "cwebdir/comm-w2c.ch" +#line 689 "cwebdir/comm-w2c.ch" static int section_name_cmp( char**pfirst, int len, @@ -1261,7 +1270,7 @@ else ispref= 0,ss++,q= name_dir; switch(c= web_strcmp(first,len,s,ss-s)){ case equal:if(q==name_dir) if(ispref){ -#line 686 "cwebdir/comm-w2c.ch" +#line 698 "cwebdir/comm-w2c.ch" *pfirst= first+(ptrdiff_t)(ss-s); #line 1039 "cwebdir/common.w" return extension; @@ -1270,7 +1279,7 @@ else return(q->byte_start==(q+1)->byte_start)?equal:prefix; case extension: if(!ispref)return bad_extension; first+= ss-s; -#line 692 "cwebdir/comm-w2c.ch" +#line 704 "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; @@ -1282,7 +1291,7 @@ default:return c; /*:54*//*58:*/ #line 1095 "cwebdir/common.w" -#line 718 "cwebdir/comm-w2c.ch" +#line 730 "cwebdir/comm-w2c.ch" void err_print( const char*s) @@ -1294,7 +1303,7 @@ if(web_file_open)/*59:*/ #line 1115 "cwebdir/common.w" {if(changing&&include_depth==change_depth) -#line 728 "cwebdir/comm-w2c.ch" +#line 740 "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); @@ -1321,18 +1330,18 @@ update_terminal;mark_error; /*:58*//*61:*/ #line 1150 "cwebdir/common.w" -#line 767 "cwebdir/comm-w2c.ch" +#line 779 "cwebdir/comm-w2c.ch" int wrap_up(void){ if(show_progress)new_line; #line 1153 "cwebdir/common.w" if(show_stats) print_stats(); -#line 774 "cwebdir/comm-w2c.ch" +#line 786 "cwebdir/comm-w2c.ch" /*62:*/ #line 1160 "cwebdir/common.w" switch(history){ -#line 798 "cwebdir/comm-w2c.ch" +#line 810 "cwebdir/comm-w2c.ch" case spotless: if(show_happiness)puts(_("(No errors were found.)"));break; case harmless_message: @@ -1345,10 +1354,10 @@ puts(_("(That was a fatal error, my friend.)")); } /*:62*/ -#line 774 "cwebdir/comm-w2c.ch" +#line 786 "cwebdir/comm-w2c.ch" /*87:*/ -#line 1193 "cwebdir/comm-w2c.ch" +#line 1205 "cwebdir/comm-w2c.ch" if(C_file)fclose(C_file); if(tex_file)fclose(tex_file); @@ -1357,9 +1366,9 @@ if(strlen(check_file_name)) remove(check_file_name); /*:87*/ -#line 775 "cwebdir/comm-w2c.ch" +#line 787 "cwebdir/comm-w2c.ch" -#line 782 "cwebdir/comm-w2c.ch" +#line 794 "cwebdir/comm-w2c.ch" switch(history){ case harmless_message:return RETURN_WARN; case error_message:return RETURN_ERROR; @@ -1370,13 +1379,13 @@ default:return RETURN_OK; } /*:61*//*64:*/ -#line 820 "cwebdir/comm-w2c.ch" +#line 832 "cwebdir/comm-w2c.ch" void fatal( const char*s,const char*t) #line 1182 "cwebdir/common.w" { -#line 828 "cwebdir/comm-w2c.ch" +#line 840 "cwebdir/comm-w2c.ch" if(*s)fputs(s,stdout); #line 1184 "cwebdir/common.w" err_print(t); @@ -1384,13 +1393,13 @@ history= fatal_message;exit(wrap_up()); } /*:64*//*65:*/ -#line 836 "cwebdir/comm-w2c.ch" +#line 848 "cwebdir/comm-w2c.ch" void overflow( const char*t) #line 1193 "cwebdir/common.w" { -#line 844 "cwebdir/comm-w2c.ch" +#line 856 "cwebdir/comm-w2c.ch" printf(_("\n! Sorry, %s capacity exceeded"),t);fatal("",""); #line 1195 "cwebdir/common.w" } @@ -1399,7 +1408,7 @@ printf(_("\n! Sorry, %s capacity exceeded"),t);fatal("",""); /*:65*//*70:*/ #line 1254 "cwebdir/common.w" -#line 900 "cwebdir/comm-w2c.ch" +#line 912 "cwebdir/comm-w2c.ch" static void scan_args(void) #line 1257 "cwebdir/common.w" @@ -1411,7 +1420,7 @@ boolean found_web= 0,found_change= 0,found_out= 0; #line 1264 "cwebdir/common.w" -#line 912 "cwebdir/comm-w2c.ch" +#line 924 "cwebdir/comm-w2c.ch" #if defined DEV_NULL strncpy(change_file_name,DEV_NULL,max_file_name_length-2); @@ -1426,25 +1435,25 @@ strcpy(change_file_name,"/dev/null"); while(--argc> 0){ #line 1266 "cwebdir/common.w" if((**(++argv)=='-'||**argv=='+')&&*(*argv+1))/*74:*/ -#line 990 "cwebdir/comm-w2c.ch" +#line 1002 "cwebdir/comm-w2c.ch" { if(strcmp("-help",*argv)==0||strcmp("--help",*argv)==0) /*94:*/ -#line 1338 "cwebdir/comm-w2c.ch" +#line 1350 "cwebdir/comm-w2c.ch" cb_usagehelp(program==ctangle?CTANGLEHELP: program==cweave?CWEAVEHELP:CTWILLHELP,NULL); /*:94*/ -#line 994 "cwebdir/comm-w2c.ch" +#line 1006 "cwebdir/comm-w2c.ch" if(strcmp("-version",*argv)==0||strcmp("--version",*argv)==0) /*96:*/ -#line 1380 "cwebdir/comm-w2c.ch" +#line 1392 "cwebdir/comm-w2c.ch" printversionandexit(cb_banner, program==ctwill?"Donald E. Knuth":"Silvio Levy and Donald E. Knuth", @@ -1452,7 +1461,7 @@ NULL,"Contemporary development on https://github.com/ascherer/cwebbin.\n"); /*:96*/ -#line 997 "cwebdir/comm-w2c.ch" +#line 1009 "cwebdir/comm-w2c.ch" if(strcmp("-verbose",*argv)==0||strcmp("--verbose",*argv)==0) @@ -1471,14 +1480,14 @@ if(*dot_pos=='d'){ if(sscanf(++dot_pos,"%u",&kpathsea_debug)!=1)/*75:*/ #line 1352 "cwebdir/common.w" -#line 1040 "cwebdir/comm-w2c.ch" +#line 1052 "cwebdir/comm-w2c.ch" cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 1363 "cwebdir/common.w" -#line 1047 "cwebdir/comm-w2c.ch" +#line 1059 "cwebdir/comm-w2c.ch" /*:75*/ -#line 1012 "cwebdir/comm-w2c.ch" +#line 1024 "cwebdir/comm-w2c.ch" while(isdigit(*dot_pos))dot_pos++; dot_pos--; @@ -1487,7 +1496,7 @@ if(*dot_pos=='l'){ use_language= ++dot_pos; break; }else -#line 1025 "cwebdir/comm-w2c.ch" +#line 1037 "cwebdir/comm-w2c.ch" flags[(eight_bits)*dot_pos]= flag_change; #line 1350 "cwebdir/common.w" } @@ -1497,7 +1506,7 @@ break; else{ s= name_pos= *argv;dot_pos= NULL; -#line 933 "cwebdir/comm-w2c.ch" +#line 945 "cwebdir/comm-w2c.ch" while(*s){ if(*s=='.')dot_pos= s++; else if(*s==DIR_SEPARATOR||*s==DEVICE_SEPARATOR||*s=='/') @@ -1512,7 +1521,7 @@ if(!found_web)/*71:*/ { if(s-*argv> max_file_name_length-5) /*76:*/ -#line 1047 "cwebdir/comm-w2c.ch" +#line 1059 "cwebdir/comm-w2c.ch" fatal(_("! Filename too long\n"),*argv); #line 1365 "cwebdir/common.w" @@ -1541,12 +1550,12 @@ else if(!found_change)/*72:*/ #line 1310 "cwebdir/common.w" { -#line 965 "cwebdir/comm-w2c.ch" +#line 977 "cwebdir/comm-w2c.ch" if(strcmp(*argv,"-")!=0){ #line 1314 "cwebdir/common.w" if(s-*argv> max_file_name_length-4) /*76:*/ -#line 1047 "cwebdir/comm-w2c.ch" +#line 1059 "cwebdir/comm-w2c.ch" fatal(_("! Filename too long\n"),*argv); #line 1365 "cwebdir/common.w" @@ -1557,7 +1566,7 @@ fatal(_("! Filename too long\n"),*argv); if(dot_pos==NULL) sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); -#line 972 "cwebdir/comm-w2c.ch" +#line 984 "cwebdir/comm-w2c.ch" } found_change= 1; #line 1321 "cwebdir/common.w" @@ -1572,7 +1581,7 @@ else if(!found_out)/*73:*/ { if(s-*argv> max_file_name_length-5) /*76:*/ -#line 1047 "cwebdir/comm-w2c.ch" +#line 1059 "cwebdir/comm-w2c.ch" fatal(_("! Filename too long\n"),*argv); #line 1365 "cwebdir/common.w" @@ -1588,7 +1597,7 @@ sprintf(C_file_name,"%s.c",*argv); }else{ strcpy(tex_file_name,*argv); strcpy(C_file_name,*argv); -#line 979 "cwebdir/comm-w2c.ch" +#line 991 "cwebdir/comm-w2c.ch" if(make_xrefs){ #line 1336 "cwebdir/common.w" *dot_pos= 0; @@ -1599,19 +1608,19 @@ sprintf(scn_file_name,"%s.scn",*argv); found_out= 1; } -#line 989 "cwebdir/comm-w2c.ch" +#line 1001 "cwebdir/comm-w2c.ch" /*:73*/ #line 1277 "cwebdir/common.w" else/*75:*/ #line 1352 "cwebdir/common.w" -#line 1040 "cwebdir/comm-w2c.ch" +#line 1052 "cwebdir/comm-w2c.ch" cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 1363 "cwebdir/common.w" -#line 1047 "cwebdir/comm-w2c.ch" +#line 1059 "cwebdir/comm-w2c.ch" /*:75*/ #line 1278 "cwebdir/common.w" ; @@ -1620,21 +1629,21 @@ else/*75:*/ if(!found_web)/*75:*/ #line 1352 "cwebdir/common.w" -#line 1040 "cwebdir/comm-w2c.ch" +#line 1052 "cwebdir/comm-w2c.ch" cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 1363 "cwebdir/common.w" -#line 1047 "cwebdir/comm-w2c.ch" +#line 1059 "cwebdir/comm-w2c.ch" /*:75*/ #line 1281 "cwebdir/common.w" ; #line 1283 "cwebdir/common.w" } -#line 952 "cwebdir/comm-w2c.ch" +#line 964 "cwebdir/comm-w2c.ch" /*:70*//*95:*/ -#line 1346 "cwebdir/comm-w2c.ch" +#line 1358 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str) { @@ -1667,7 +1676,7 @@ history= spotless;exit(wrap_up()); } /*:95*//*97:*/ -#line 1388 "cwebdir/comm-w2c.ch" +#line 1400 "cwebdir/comm-w2c.ch" void cb_show_banner(void) { diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog index 52c36e1345f..a1a2fe9de87 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,7 @@ +2020-04-11 Andreas Scherer <https://ascherer.github.io> + + * comm-w2c.ch, comm-w2c.h: Rearrange 'common variables'. + 2020-03-30 Andreas Scherer <https://ascherer.github.io> * comm-w2c.ch, comm-w2c.h, ctang-w2c.ch, ctwill-w2c.ch, cweav-w2c.ch, diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.ch b/Build/source/texk/web2c/cwebdir/comm-w2c.ch index 1b5201897de..236d8a95c8e 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.ch @@ -83,6 +83,18 @@ common_init(void) @z @x +@d minus_gt_ast 027 /* `\.{->*}'\,; corresponds to MIT's {\tentex\char'27} */ +@y +@d minus_gt_ast 027 /* `\.{->*}'\,; corresponds to MIT's {\tentex\char'27} */ + +@<Definitions...@>= +char section_text[longest_name+1]; /* name being sought for */ +char *section_text_end = section_text+longest_name; /* end of |section_text| */ +char *id_first; /* where the current identifier begins in the buffer */ +char *id_loc; /* just after the current identifier in the buffer */ +@z + +@x @d buf_size 100 /* for \.{CWEAVE} and \.{CTANGLE} */ @y @d buf_size 1000 /* for \.{CWEAVE} and \.{CTANGLE} */ diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.h b/Build/source/texk/web2c/cwebdir/comm-w2c.h index 09939bb2bc9..a5b968abfd5 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.h +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.h @@ -77,10 +77,10 @@ extern int phase; /* which phase are we in? */ @d minus_gt_ast 027 /* `\.{->*}'\,; corresponds to MIT's {\tentex\char'27} */ @<Common code...@>= -char section_text[longest_name+1]; /* name being sought for */ -char *section_text_end = section_text+longest_name; /* end of |section_text| */ -char *id_first; /* where the current identifier begins in the buffer */ -char *id_loc; /* just after the current identifier in the buffer */ +extern char section_text[]; /* name being sought for */ +extern char *section_text_end; /* end of |section_text| */ +extern char *id_first; /* where the current identifier begins in the buffer */ +extern char *id_loc; /* just after the current identifier in the buffer */ @ Code related to input routines: |