diff options
-rw-r--r-- | Build/source/texk/web2c/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebboot.cin | 204 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/comm-w2c.ch | 9 |
4 files changed, 119 insertions, 102 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index 61301da3b57..3ed23f517c2 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,7 @@ +2020-06-06 Andreas Scherer <https://ascherer.github.io> + + * cwebboot.cin: Add index entries for the CWEBINPUTS envvar. + 2020-06-05 Andreas Scherer <https://ascherer.github.io> * cwebboot.cin: Fix newline blunder in case of error. diff --git a/Build/source/texk/web2c/cwebboot.cin b/Build/source/texk/web2c/cwebboot.cin index 1cbb77dc6ae..fa47046135a 100644 --- a/Build/source/texk/web2c/cwebboot.cin +++ b/Build/source/texk/web2c/cwebboot.cin @@ -2,13 +2,13 @@ #line 58 "cwebdir/common.w" /*85:*/ -#line 1209 "cwebdir/comm-w2c.ch" +#line 1216 "cwebdir/comm-w2c.ch" #include <stdbool.h> #include <stddef.h> /*:85*//*88:*/ -#line 1250 "cwebdir/comm-w2c.ch" +#line 1257 "cwebdir/comm-w2c.ch" #ifndef HAVE_GETTEXT #define HAVE_GETTEXT 0 @@ -25,7 +25,7 @@ #endif /*:88*//*90:*/ -#line 1340 "cwebdir/comm-w2c.ch" +#line 1348 "cwebdir/comm-w2c.ch" typedef bool boolean; #define HAVE_BOOLEAN @@ -237,7 +237,7 @@ char Ilk; }dummy; /*:40*//*55:*/ -#line 740 "cwebdir/comm-w2c.ch" +#line 747 "cwebdir/comm-w2c.ch" void*equiv_or_xref; #line 1064 "cwebdir/common.w" @@ -279,10 +279,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 901 "cwebdir/comm-w2c.ch" +#line 908 "cwebdir/comm-w2c.ch" char scn_file_name[max_file_name_length]; char check_file_name[max_file_name_length]; -#line 908 "cwebdir/comm-w2c.ch" +#line 915 "cwebdir/comm-w2c.ch" boolean flags[128]; const char*use_language= ""; #line 1228 "cwebdir/common.w" @@ -293,15 +293,15 @@ const char*use_language= ""; FILE*C_file; FILE*tex_file; FILE*idx_file; -#line 1098 "cwebdir/comm-w2c.ch" +#line 1105 "cwebdir/comm-w2c.ch" FILE*scn_file; FILE*check_file; -#line 1105 "cwebdir/comm-w2c.ch" +#line 1112 "cwebdir/comm-w2c.ch" FILE*active_file; char*found_filename; #line 1376 "cwebdir/common.w" -#line 1122 "cwebdir/comm-w2c.ch" +#line 1129 "cwebdir/comm-w2c.ch" /*:77*/ #line 61 "cwebdir/common.w" @@ -316,7 +316,7 @@ char change_buffer[buf_size]; char*change_limit; /*:11*//*86:*/ -#line 1224 "cwebdir/comm-w2c.ch" +#line 1231 "cwebdir/comm-w2c.ch" char cb_banner[max_banner]; string texmf_locale; @@ -331,51 +331,51 @@ char separators[]= SEPARATORS; /*33:*/ #line 650 "cwebdir/common.w" -#line 469 "cwebdir/comm-w2c.ch" +#line 476 "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 499 "cwebdir/comm-w2c.ch" +#line 506 "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 579 "cwebdir/comm-w2c.ch" +#line 586 "cwebdir/comm-w2c.ch" extern void init_node(name_pointer); #line 854 "cwebdir/common.w" /*:46*//*53:*/ #line 1017 "cwebdir/common.w" -#line 705 "cwebdir/comm-w2c.ch" +#line 712 "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 747 "cwebdir/comm-w2c.ch" +#line 754 "cwebdir/comm-w2c.ch" extern void err_print(const char*); #line 1094 "cwebdir/common.w" /*:57*//*60:*/ #line 1140 "cwebdir/common.w" -#line 774 "cwebdir/comm-w2c.ch" +#line 781 "cwebdir/comm-w2c.ch" extern int wrap_up(void); extern void print_stats(void); #line 1143 "cwebdir/common.w" -#line 785 "cwebdir/comm-w2c.ch" +#line 792 "cwebdir/comm-w2c.ch" /*:60*//*63:*/ #line 1173 "cwebdir/common.w" -#line 848 "cwebdir/comm-w2c.ch" +#line 855 "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 @@ extern void overflow(const char*); /*:63*//*69:*/ #line 1251 "cwebdir/common.w" -#line 938 "cwebdir/comm-w2c.ch" +#line 945 "cwebdir/comm-w2c.ch" static void scan_args(void); #line 1253 "cwebdir/common.w" /*:69*//*83:*/ -#line 1184 "cwebdir/comm-w2c.ch" +#line 1191 "cwebdir/comm-w2c.ch" boolean get_line(void); name_pointer id_lookup(const char*,const char*,char); @@ -401,7 +401,7 @@ void reset_input(void); void sprint_section_name(char*,name_pointer); /*:83*//*84:*/ -#line 1197 "cwebdir/comm-w2c.ch" +#line 1204 "cwebdir/comm-w2c.ch" static boolean input_ln(FILE*); static int web_strcmp(char*,int,char*,int); @@ -411,7 +411,7 @@ static void check_change(void); static void prime_the_change_buffer(void); /*:84*//*98:*/ -#line 1441 "cwebdir/comm-w2c.ch" +#line 1450 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str); static void cb_usagehelp(const_string*message,const_string bug_email); @@ -451,7 +451,7 @@ root= NULL; #line 77 "cwebdir/comm-w2c.ch" /*91:*/ -#line 1355 "cwebdir/comm-w2c.ch" +#line 1364 "cwebdir/comm-w2c.ch" kpse_set_program_name(argv[0],"cweb"); @@ -459,7 +459,7 @@ kpse_set_program_name(argv[0],"cweb"); #line 78 "cwebdir/comm-w2c.ch" /*89:*/ -#line 1306 "cwebdir/comm-w2c.ch" +#line 1313 "cwebdir/comm-w2c.ch" setlocale(LC_MESSAGES,setlocale(LC_CTYPE,"")); texmf_locale= kpse_var_expand("${TEXMFLOCALEDIR}"); @@ -480,7 +480,7 @@ textdomain("cweb"); /*68:*/ #line 1233 "cwebdir/common.w" -#line 915 "cwebdir/comm-w2c.ch" +#line 922 "cwebdir/comm-w2c.ch" temporary_output= 1; #line 1235 "cwebdir/common.w" @@ -488,7 +488,7 @@ temporary_output= 1; #line 80 "cwebdir/comm-w2c.ch" /*78:*/ -#line 1122 "cwebdir/comm-w2c.ch" +#line 1129 "cwebdir/comm-w2c.ch" scan_args(); if(program==ctangle){ @@ -759,7 +759,7 @@ if(changing&&include_depth==change_depth) { change_line++; if(!input_ln(change_file)){ -#line 407 "cwebdir/comm-w2c.ch" +#line 414 "cwebdir/comm-w2c.ch" err_print(_("! Change file ended without @z")); #line 541 "cwebdir/common.w" @@ -774,12 +774,12 @@ changed_section[section_count]= 1;change_pending= 0; } *limit= ' '; if(buffer[0]=='@'){ -#line 413 "cwebdir/comm-w2c.ch" +#line 420 "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 419 "cwebdir/comm-w2c.ch" +#line 426 "cwebdir/comm-w2c.ch" err_print(_("! Where is the matching @z?")); #line 557 "cwebdir/common.w" @@ -840,9 +840,9 @@ goto restart; } include_depth++; /*23:*/ -#line 474 "cwebdir/common.w" +#line 354 "cwebdir/comm-w2c.ch" { -#line 356 "cwebdir/comm-w2c.ch" +#line 363 "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" @@ -856,7 +856,7 @@ while(*loc!=' '&&*loc!='\t'&&*loc!='"'&&k<=cur_file_name_end)*k++= *loc++; if(k> cur_file_name_end)too_long(); *k= '\0'; -#line 363 "cwebdir/comm-w2c.ch" +#line 370 "cwebdir/comm-w2c.ch" if((found_filename= kpse_find_cweb(cur_file_name))!=NULL&& (cur_file= fopen(found_filename,"r"))!=NULL){ @@ -870,7 +870,7 @@ free(found_filename); cur_line= 0;print_where= 1; goto restart; } -#line 401 "cwebdir/comm-w2c.ch" +#line 408 "cwebdir/comm-w2c.ch" include_depth--;err_print(_("! Cannot open include file"));goto restart; #line 518 "cwebdir/common.w" } @@ -886,7 +886,7 @@ return 1; /*:21*//*26:*/ #line 569 "cwebdir/common.w" -#line 429 "cwebdir/comm-w2c.ch" +#line 436 "cwebdir/comm-w2c.ch" void check_complete(void){ if(change_limit!=change_buffer){ @@ -894,7 +894,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 439 "cwebdir/comm-w2c.ch" +#line 446 "cwebdir/comm-w2c.ch" err_print(_("! Change file entry did not match")); #line 577 "cwebdir/common.w" @@ -904,7 +904,7 @@ err_print(_("! Change file entry did not match")); /*:26*//*35:*/ #line 660 "cwebdir/common.w" -#line 481 "cwebdir/comm-w2c.ch" +#line 488 "cwebdir/comm-w2c.ch" name_pointer id_lookup( const char*first, @@ -917,7 +917,7 @@ int h; int l; name_pointer p; if(last==NULL)for(last= first;*last!='\0';last++); -#line 493 "cwebdir/comm-w2c.ch" +#line 500 "cwebdir/comm-w2c.ch" l= (int)(last-first); #line 673 "cwebdir/common.w" /*36:*/ @@ -946,13 +946,13 @@ p->link= hash[h];hash[h]= p; if(p==name_ptr)/*39:*/ #line 706 "cwebdir/common.w" { -#line 506 "cwebdir/comm-w2c.ch" +#line 513 "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 513 "cwebdir/comm-w2c.ch" +#line 520 "cwebdir/comm-w2c.ch" init_p(p,t); #line 712 "cwebdir/common.w" } @@ -966,7 +966,7 @@ return(p); /*:35*//*42:*/ #line 764 "cwebdir/common.w" -#line 521 "cwebdir/comm-w2c.ch" +#line 528 "cwebdir/comm-w2c.ch" void print_section_name( name_pointer p) @@ -977,7 +977,7 @@ name_pointer q= p+1; while(p!=name_dir){ ss= (p+1)->byte_start-1; if(*ss==' '&&ss>=s){ -#line 531 "cwebdir/comm-w2c.ch" +#line 538 "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; @@ -991,7 +991,7 @@ if(q)term_write("...",3); /*:42*//*43:*/ #line 783 "cwebdir/common.w" -#line 542 "cwebdir/comm-w2c.ch" +#line 549 "cwebdir/comm-w2c.ch" void sprint_section_name( char*dest, @@ -1007,7 +1007,7 @@ p= q->link;q= p; }else{ ss++;p= name_dir; } -#line 551 "cwebdir/comm-w2c.ch" +#line 558 "cwebdir/comm-w2c.ch" strncpy(dest,s,(size_t)(ss-s)),dest+= ss-s; #line 799 "cwebdir/common.w" s= p->byte_start; @@ -1018,7 +1018,7 @@ s= p->byte_start; /*:43*//*44:*/ #line 804 "cwebdir/common.w" -#line 559 "cwebdir/comm-w2c.ch" +#line 566 "cwebdir/comm-w2c.ch" void print_prefix_name( name_pointer p) @@ -1033,7 +1033,7 @@ if(s+l<(p+1)->byte_start)term_write("...",3); /*:44*//*45:*/ #line 825 "cwebdir/common.w" -#line 569 "cwebdir/comm-w2c.ch" +#line 576 "cwebdir/comm-w2c.ch" static int web_strcmp( char*j, int j_len, @@ -1053,7 +1053,7 @@ else return greater; /*:45*//*47:*/ #line 855 "cwebdir/common.w" -#line 591 "cwebdir/comm-w2c.ch" +#line 598 "cwebdir/comm-w2c.ch" static name_pointer add_section_name( name_pointer par, @@ -1065,9 +1065,9 @@ int ispref) { name_pointer p= name_ptr; char*s= first_chunk(p); -#line 603 "cwebdir/comm-w2c.ch" -int name_len= (int)(last-first)+ispref; #line 610 "cwebdir/comm-w2c.ch" +int name_len= (int)(last-first)+ispref; +#line 617 "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" @@ -1089,7 +1089,7 @@ return par==NULL?(root= p):c==less?(par->llink= p):(par->rlink= p); /*:47*//*48:*/ #line 884 "cwebdir/common.w" -#line 622 "cwebdir/comm-w2c.ch" +#line 629 "cwebdir/comm-w2c.ch" static void extend_section_name( name_pointer p, @@ -1100,16 +1100,16 @@ int ispref) { char*s; name_pointer q= p+1; -#line 633 "cwebdir/comm-w2c.ch" +#line 640 "cwebdir/comm-w2c.ch" int name_len= (int)(last-first)+ispref; -#line 639 "cwebdir/comm-w2c.ch" +#line 646 "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 645 "cwebdir/comm-w2c.ch" +#line 652 "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; @@ -1120,7 +1120,7 @@ if(ispref)*(byte_ptr-1)= ' '; /*:48*//*49:*/ #line 912 "cwebdir/common.w" -#line 654 "cwebdir/comm-w2c.ch" +#line 661 "cwebdir/comm-w2c.ch" name_pointer section_lookup( char*first,char*last, @@ -1133,7 +1133,7 @@ name_pointer q= NULL; name_pointer r= NULL; name_pointer par= NULL; -#line 663 "cwebdir/comm-w2c.ch" +#line 670 "cwebdir/comm-w2c.ch" int name_len= (int)(last-first)+1; #line 925 "cwebdir/common.w" /*50:*/ @@ -1147,12 +1147,12 @@ par= p; p= (c==less?p->llink:p->rlink); }else{ if(r!=NULL){ -#line 669 "cwebdir/comm-w2c.ch" +#line 676 "cwebdir/comm-w2c.ch" fputs(_("\n! Ambiguous prefix: matches <"),stdout); #line 946 "cwebdir/common.w" print_prefix_name(p); -#line 675 "cwebdir/comm-w2c.ch" +#line 682 "cwebdir/comm-w2c.ch" fputs(_(">\n and <"),stdout); #line 949 "cwebdir/common.w" print_prefix_name(r); @@ -1186,7 +1186,7 @@ switch(section_name_cmp(&first,name_len,r)){ case prefix: if(!ispref){ -#line 681 "cwebdir/comm-w2c.ch" +#line 688 "cwebdir/comm-w2c.ch" fputs(_("\n! New name is a prefix of <"),stdout); #line 975 "cwebdir/common.w" @@ -1200,7 +1200,7 @@ case extension:if(!ispref||first<=last) extend_section_name(r,first,last+1,ispref); return r; case bad_extension: -#line 687 "cwebdir/comm-w2c.ch" +#line 694 "cwebdir/comm-w2c.ch" fputs(_("\n! New name extends <"),stdout); #line 987 "cwebdir/common.w" @@ -1208,12 +1208,12 @@ print_section_name(r); err_print(">"); return r; default: -#line 693 "cwebdir/comm-w2c.ch" +#line 700 "cwebdir/comm-w2c.ch" fputs(_("\n! Section name incompatible with <"),stdout); #line 993 "cwebdir/common.w" print_prefix_name(r); -#line 699 "cwebdir/comm-w2c.ch" +#line 706 "cwebdir/comm-w2c.ch" fputs(_(">,\n which abbreviates <"),stdout); #line 996 "cwebdir/common.w" print_section_name(r); @@ -1229,7 +1229,7 @@ return r; /*:49*//*54:*/ #line 1020 "cwebdir/common.w" -#line 714 "cwebdir/comm-w2c.ch" +#line 721 "cwebdir/comm-w2c.ch" static int section_name_cmp( char**pfirst, int len, @@ -1248,7 +1248,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 723 "cwebdir/comm-w2c.ch" +#line 730 "cwebdir/comm-w2c.ch" *pfirst= first+(ptrdiff_t)(ss-s); #line 1039 "cwebdir/common.w" return extension; @@ -1257,7 +1257,7 @@ else return(q->byte_start==(q+1)->byte_start)?equal:prefix; case extension: if(!ispref)return bad_extension; first+= ss-s; -#line 729 "cwebdir/comm-w2c.ch" +#line 736 "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; @@ -1269,7 +1269,7 @@ default:return c; /*:54*//*58:*/ #line 1095 "cwebdir/common.w" -#line 755 "cwebdir/comm-w2c.ch" +#line 762 "cwebdir/comm-w2c.ch" void err_print( const char*s) @@ -1281,7 +1281,7 @@ if(web_file_open)/*59:*/ #line 1115 "cwebdir/common.w" {if(changing&&include_depth==change_depth) -#line 765 "cwebdir/comm-w2c.ch" +#line 772 "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); @@ -1308,18 +1308,18 @@ update_terminal;mark_error; /*:58*//*61:*/ #line 1150 "cwebdir/common.w" -#line 804 "cwebdir/comm-w2c.ch" +#line 811 "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 811 "cwebdir/comm-w2c.ch" +#line 818 "cwebdir/comm-w2c.ch" /*62:*/ #line 1160 "cwebdir/common.w" switch(history){ -#line 835 "cwebdir/comm-w2c.ch" +#line 842 "cwebdir/comm-w2c.ch" case spotless: if(show_happiness)puts(_("(No errors were found.)"));break; case harmless_message: @@ -1332,10 +1332,10 @@ puts(_("(That was a fatal error, my friend.)")); } /*:62*/ -#line 811 "cwebdir/comm-w2c.ch" +#line 818 "cwebdir/comm-w2c.ch" /*87:*/ -#line 1235 "cwebdir/comm-w2c.ch" +#line 1242 "cwebdir/comm-w2c.ch" if(C_file)fclose(C_file); if(tex_file)fclose(tex_file); @@ -1344,9 +1344,9 @@ if(strlen(check_file_name)) remove(check_file_name); /*:87*/ -#line 812 "cwebdir/comm-w2c.ch" - #line 819 "cwebdir/comm-w2c.ch" + +#line 826 "cwebdir/comm-w2c.ch" switch(history){ case harmless_message:return RETURN_WARN; case error_message:return RETURN_ERROR; @@ -1357,13 +1357,13 @@ default:return RETURN_OK; } /*:61*//*64:*/ -#line 857 "cwebdir/comm-w2c.ch" +#line 864 "cwebdir/comm-w2c.ch" void fatal( const char*s,const char*t) #line 1182 "cwebdir/common.w" { -#line 865 "cwebdir/comm-w2c.ch" +#line 872 "cwebdir/comm-w2c.ch" if(*s)fputs(s,stdout); #line 1184 "cwebdir/common.w" err_print(t); @@ -1371,13 +1371,13 @@ history= fatal_message;exit(wrap_up()); } /*:64*//*65:*/ -#line 873 "cwebdir/comm-w2c.ch" +#line 880 "cwebdir/comm-w2c.ch" void overflow( const char*t) #line 1193 "cwebdir/common.w" { -#line 881 "cwebdir/comm-w2c.ch" +#line 888 "cwebdir/comm-w2c.ch" printf(_("\n! Sorry, %s capacity exceeded"),t);fatal("",""); #line 1195 "cwebdir/common.w" } @@ -1386,7 +1386,7 @@ printf(_("\n! Sorry, %s capacity exceeded"),t);fatal("",""); /*:65*//*70:*/ #line 1254 "cwebdir/common.w" -#line 945 "cwebdir/comm-w2c.ch" +#line 952 "cwebdir/comm-w2c.ch" static void scan_args(void) #line 1257 "cwebdir/common.w" @@ -1398,7 +1398,7 @@ boolean found_web= 0,found_change= 0,found_out= 0; #line 1264 "cwebdir/common.w" -#line 957 "cwebdir/comm-w2c.ch" +#line 964 "cwebdir/comm-w2c.ch" #if defined DEV_NULL strncpy(change_file_name,DEV_NULL,max_file_name_length-2); @@ -1413,25 +1413,25 @@ strcpy(change_file_name,"/dev/null"); while(--argc> 0){ #line 1266 "cwebdir/common.w" if((**(++argv)=='-'||**argv=='+')&&*(*argv+1))/*74:*/ -#line 1035 "cwebdir/comm-w2c.ch" +#line 1042 "cwebdir/comm-w2c.ch" { if(strcmp("-help",*argv)==0||strcmp("--help",*argv)==0) /*94:*/ -#line 1380 "cwebdir/comm-w2c.ch" +#line 1389 "cwebdir/comm-w2c.ch" cb_usagehelp(program==ctangle?CTANGLEHELP: program==cweave?CWEAVEHELP:CTWILLHELP,NULL); /*:94*/ -#line 1039 "cwebdir/comm-w2c.ch" +#line 1046 "cwebdir/comm-w2c.ch" if(strcmp("-version",*argv)==0||strcmp("--version",*argv)==0) /*96:*/ -#line 1422 "cwebdir/comm-w2c.ch" +#line 1431 "cwebdir/comm-w2c.ch" printversionandexit(cb_banner, program==ctwill?"Donald E. Knuth":"Silvio Levy and Donald E. Knuth", @@ -1439,7 +1439,7 @@ NULL,"Contemporary development on https://github.com/ascherer/cwebbin.\n"); /*:96*/ -#line 1042 "cwebdir/comm-w2c.ch" +#line 1049 "cwebdir/comm-w2c.ch" if(strcmp("-verbose",*argv)==0||strcmp("--verbose",*argv)==0) @@ -1458,14 +1458,14 @@ if(*dot_pos=='d'){ if(sscanf(++dot_pos,"%u",&kpathsea_debug)!=1)/*75:*/ #line 1352 "cwebdir/common.w" -#line 1085 "cwebdir/comm-w2c.ch" +#line 1092 "cwebdir/comm-w2c.ch" cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 1363 "cwebdir/common.w" -#line 1092 "cwebdir/comm-w2c.ch" +#line 1099 "cwebdir/comm-w2c.ch" /*:75*/ -#line 1057 "cwebdir/comm-w2c.ch" +#line 1064 "cwebdir/comm-w2c.ch" while(isdigit(*dot_pos))dot_pos++; dot_pos--; @@ -1474,7 +1474,7 @@ if(*dot_pos=='l'){ use_language= ++dot_pos; break; }else -#line 1070 "cwebdir/comm-w2c.ch" +#line 1077 "cwebdir/comm-w2c.ch" flags[(eight_bits)*dot_pos]= flag_change; #line 1350 "cwebdir/common.w" } @@ -1484,7 +1484,7 @@ break; else{ s= name_pos= *argv;dot_pos= NULL; -#line 978 "cwebdir/comm-w2c.ch" +#line 985 "cwebdir/comm-w2c.ch" while(*s){ if(*s=='.')dot_pos= s++; else if(*s==DIR_SEPARATOR||*s==DEVICE_SEPARATOR||*s=='/') @@ -1499,7 +1499,7 @@ if(!found_web)/*71:*/ { if(s-*argv> max_file_name_length-5) /*76:*/ -#line 1092 "cwebdir/comm-w2c.ch" +#line 1099 "cwebdir/comm-w2c.ch" fatal(_("! Filename too long\n"),*argv); #line 1365 "cwebdir/common.w" @@ -1528,12 +1528,12 @@ else if(!found_change)/*72:*/ #line 1310 "cwebdir/common.w" { -#line 1010 "cwebdir/comm-w2c.ch" +#line 1017 "cwebdir/comm-w2c.ch" if(strcmp(*argv,"-")!=0){ #line 1314 "cwebdir/common.w" if(s-*argv> max_file_name_length-4) /*76:*/ -#line 1092 "cwebdir/comm-w2c.ch" +#line 1099 "cwebdir/comm-w2c.ch" fatal(_("! Filename too long\n"),*argv); #line 1365 "cwebdir/common.w" @@ -1544,7 +1544,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 1017 "cwebdir/comm-w2c.ch" +#line 1024 "cwebdir/comm-w2c.ch" } found_change= 1; #line 1321 "cwebdir/common.w" @@ -1559,7 +1559,7 @@ else if(!found_out)/*73:*/ { if(s-*argv> max_file_name_length-5) /*76:*/ -#line 1092 "cwebdir/comm-w2c.ch" +#line 1099 "cwebdir/comm-w2c.ch" fatal(_("! Filename too long\n"),*argv); #line 1365 "cwebdir/common.w" @@ -1575,7 +1575,7 @@ sprintf(C_file_name,"%s.c",*argv); }else{ strcpy(tex_file_name,*argv); strcpy(C_file_name,*argv); -#line 1024 "cwebdir/comm-w2c.ch" +#line 1031 "cwebdir/comm-w2c.ch" if(make_xrefs){ #line 1336 "cwebdir/common.w" *dot_pos= 0; @@ -1586,19 +1586,19 @@ sprintf(scn_file_name,"%s.scn",*argv); found_out= 1; } -#line 1034 "cwebdir/comm-w2c.ch" +#line 1041 "cwebdir/comm-w2c.ch" /*:73*/ #line 1277 "cwebdir/common.w" else/*75:*/ #line 1352 "cwebdir/common.w" -#line 1085 "cwebdir/comm-w2c.ch" +#line 1092 "cwebdir/comm-w2c.ch" cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 1363 "cwebdir/common.w" -#line 1092 "cwebdir/comm-w2c.ch" +#line 1099 "cwebdir/comm-w2c.ch" /*:75*/ #line 1278 "cwebdir/common.w" ; @@ -1607,21 +1607,21 @@ else/*75:*/ if(!found_web)/*75:*/ #line 1352 "cwebdir/common.w" -#line 1085 "cwebdir/comm-w2c.ch" +#line 1092 "cwebdir/comm-w2c.ch" cb_usage(program==ctangle?"ctangle":program==cweave?"cweave":"ctwill"); #line 1363 "cwebdir/common.w" -#line 1092 "cwebdir/comm-w2c.ch" +#line 1099 "cwebdir/comm-w2c.ch" /*:75*/ #line 1281 "cwebdir/common.w" ; #line 1283 "cwebdir/common.w" } -#line 997 "cwebdir/comm-w2c.ch" +#line 1004 "cwebdir/comm-w2c.ch" /*:70*//*95:*/ -#line 1388 "cwebdir/comm-w2c.ch" +#line 1397 "cwebdir/comm-w2c.ch" static void cb_usage(const_string str) { @@ -1654,7 +1654,7 @@ history= spotless;exit(wrap_up()); } /*:95*//*97:*/ -#line 1430 "cwebdir/comm-w2c.ch" +#line 1439 "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 79b89554b66..3a9005f41de 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,7 @@ +2020-06-06 Andreas Scherer <https://ascherer.github.io> + + * comm-w2c.ch: Add index entries for the CWEBINPUTS envvar. + 2020-06-05 Andreas Scherer <https://ascherer.github.io> * comm-w2c.ch: Fix newline blunder in case of error. diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.ch b/Build/source/texk/web2c/cwebdir/comm-w2c.ch index 34b92c1e6e2..f3cd1bbad9d 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.ch @@ -333,6 +333,7 @@ double quotes. The actual file lookup is done with the help of the \Kpathsea/ library; see section~\X90:File lookup with \Kpathsea/\X~for details. % FIXME The remainder of the \.{@@i} line after the file name is ignored. +@^system dependencies@> @.CWEBINPUTS@> @z @x @@ -348,6 +349,12 @@ The remainder of the \.{@@i} line after the file name is ignored. @z @x +@ @<Try to open...@>= { +@y +@ @.CWEBINPUTS@>@<Try to open...@>= { +@z + +@x char temp_file_name[max_file_name_length]; char *cur_file_name_end=cur_file_name+max_file_name_length-1; char *k=cur_file_name, *kk; @@ -1334,6 +1341,7 @@ The directories to be searched for come from three sources: \item{(c)} compile-time default directories (specified in \.{texmf.in}),\hfil\break i.e., \.{\$TEXMFDOTDIR:\$TEXMF/texmf/cweb//}.\par} +@.CWEBINPUTS@> @d kpse_find_cweb(name) kpse_find_file(name,kpse_cweb_format,true) @@ -1351,6 +1359,7 @@ typedef bool boolean; \.{CWEBINPUTS.cweb} is present in \.{texmf.cnf} (or \.{CWEBINPUTS\_cweb} in the environment) its value will be used as the search path for filenames. This allows different flavors of \.{CWEB} to have different search paths. +@.CWEBINPUTS@> @<Set up |PROGNAME| feature and initialize the search path mechanism@>= kpse_set_program_name(argv[0], "cweb"); |