From 301b1d4268858508a0a144e685087f125aab5dc5 Mon Sep 17 00:00:00 2001 From: Andreas Scherer Date: Fri, 19 Feb 2021 12:34:28 +0000 Subject: [CWEB] Replace 'boolean' values upstream. git-svn-id: svn://tug.org/texlive/trunk@57795 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/ChangeLog | 5 + Build/source/texk/web2c/ctangleboot.cin | 91 ++++++++-------- Build/source/texk/web2c/cwebboot.cin | 83 ++++++++------- Build/source/texk/web2c/cwebdir/ChangeLog | 17 +++ Build/source/texk/web2c/cwebdir/comm-bs.ch | 4 +- Build/source/texk/web2c/cwebdir/comm-mac.ch | 25 +++-- Build/source/texk/web2c/cwebdir/comm-ql.ch | 12 +-- Build/source/texk/web2c/cwebdir/comm-w2c.ch | 2 +- Build/source/texk/web2c/cwebdir/comm-w2c.h | 1 - Build/source/texk/web2c/cwebdir/common.c | 89 ++++++++-------- Build/source/texk/web2c/cwebdir/common.h | 5 +- Build/source/texk/web2c/cwebdir/common.w | 80 +++++++------- Build/source/texk/web2c/cwebdir/ctang-bs.ch | 8 +- Build/source/texk/web2c/cwebdir/ctangle.c | 95 +++++++++-------- Build/source/texk/web2c/cwebdir/ctangle.w | 70 ++++++------- Build/source/texk/web2c/cwebdir/ctwill-w2c.ch | 100 +++++++++--------- Build/source/texk/web2c/cwebdir/cweav-bs.ch | 18 ++-- Build/source/texk/web2c/cwebdir/cweave.w | 144 +++++++++++++------------- 18 files changed, 434 insertions(+), 415 deletions(-) (limited to 'Build/source') diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index 6233ee0abe4..b474718ba3b 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,8 @@ +2021-02-19 Andreas Scherer + + * ctangleboot.cin, + * cwebboot.cin: Replace 'boolean' values upstream. + 2021-02-18 Karl Berry * doc/web2c.texi (Common options): mention -cnf-line. diff --git a/Build/source/texk/web2c/ctangleboot.cin b/Build/source/texk/web2c/ctangleboot.cin index ab4c1663511..0013e74be5f 100644 --- a/Build/source/texk/web2c/ctangleboot.cin +++ b/Build/source/texk/web2c/ctangleboot.cin @@ -58,8 +58,7 @@ #define llink link #define rlink dummy.Rlink #define root name_dir->rlink \ - -#define chunk_marker 0 \ + \ #define spotless 0 #define harmless_message 1 @@ -188,7 +187,7 @@ extern char*loc; extern char*limit; /*:6*//*7:*/ -#line 120 "cwebdir/comm-w2c.h" +#line 119 "cwebdir/comm-w2c.h" typedef struct name_info{ char*byte_start; @@ -213,12 +212,12 @@ extern hash_pointer hash_end; extern hash_pointer h; /*:7*//*9:*/ -#line 164 "cwebdir/comm-w2c.h" +#line 163 "cwebdir/comm-w2c.h" extern int history; /*:9*//*11:*/ -#line 184 "cwebdir/comm-w2c.h" +#line 183 "cwebdir/comm-w2c.h" extern int include_depth; extern FILE*file[]; @@ -239,7 +238,7 @@ extern boolean changing; extern boolean web_file_open; /*:11*//*13:*/ -#line 209 "cwebdir/comm-w2c.h" +#line 208 "cwebdir/comm-w2c.h" extern sixteen_bits section_count; extern boolean changed_section[]; @@ -247,7 +246,7 @@ extern boolean change_pending; extern boolean print_where; /*:13*//*14:*/ -#line 223 "cwebdir/comm-w2c.h" +#line 222 "cwebdir/comm-w2c.h" extern int argc; extern char**argv; @@ -255,7 +254,7 @@ extern boolean flags[]; extern const char*use_language; /*:14*//*15:*/ -#line 236 "cwebdir/comm-w2c.h" +#line 235 "cwebdir/comm-w2c.h" extern FILE*C_file; extern FILE*tex_file; @@ -342,7 +341,7 @@ char output_file_name[longest_name+1]; /*:45*//*52:*/ #line 586 "cwebdir/ctangle.w" -boolean output_defs_seen= 0; +boolean output_defs_seen= false; /*:52*//*57:*/ #line 695 "cwebdir/ctangle.w" @@ -357,13 +356,13 @@ eight_bits ccode[256]; /*:62*//*66:*/ #line 834 "cwebdir/ctangle.w" -boolean comment_continues= 0; +boolean comment_continues= false; /*:66*//*68:*/ #line 873 "cwebdir/ctangle.w" name_pointer cur_section_name; -int no_where; +boolean no_where; /*:68*//*82:*/ #line 1187 "cwebdir/ctangle.w" @@ -380,7 +379,7 @@ extern sixteen_bits section_count; #line 71 "cwebdir/ctangle.w" /*8:*/ -#line 143 "cwebdir/comm-w2c.h" +#line 142 "cwebdir/comm-w2c.h" extern boolean names_match(name_pointer,const char*,size_t,eight_bits); extern name_pointer id_lookup(const char*,const char*,char); @@ -393,7 +392,7 @@ extern void print_section_name(name_pointer); extern void sprint_section_name(char*,name_pointer); /*:8*//*10:*/ -#line 167 "cwebdir/comm-w2c.h" +#line 166 "cwebdir/comm-w2c.h" extern int wrap_up(void); extern void err_print(const char*); @@ -401,14 +400,14 @@ extern void fatal(const char*,const char*); extern void overflow(const char*); /*:10*//*12:*/ -#line 203 "cwebdir/comm-w2c.h" +#line 202 "cwebdir/comm-w2c.h" extern boolean get_line(void); extern void check_complete(void); extern void reset_input(void); /*:12*//*16:*/ -#line 245 "cwebdir/comm-w2c.h" +#line 244 "cwebdir/comm-w2c.h" extern void common_init(void); extern void print_stats(void); @@ -423,7 +422,7 @@ static void store_two_bytes(sixteen_bits); #line 310 "cwebdir/ctangle.w" static void push_level(name_pointer); -static void pop_level(int); +static void pop_level(boolean); /*:34*//*38:*/ #line 369 "cwebdir/ctangle.w" @@ -569,7 +568,7 @@ const char*first, size_t l, eight_bits t) {(void)t; -if(length(p)!=l)return 0; +if(length(p)!=l)return false; return!strncmp(first,p->byte_start,l); } @@ -623,7 +622,7 @@ cur_section= 0; static void pop_level( -int flag) +boolean flag) { if(flag&&cur_repl->text_linktext_link+text_info; @@ -644,7 +643,7 @@ sixteen_bits a; restart:if(stack_ptr==stack)return; if(cur_byte==cur_end){ cur_val= -((int)cur_section); -pop_level(1); +pop_level(true); if(cur_val==0)goto restart; out_char(section_number);return; } @@ -703,7 +702,7 @@ cur_line++; static void phase_two(void){ -web_file_open= 0; +web_file_open= false; cur_line= 1; /*33:*/ #line 299 "cwebdir/ctangle.w" @@ -1012,7 +1011,7 @@ cur_byte= cur_text->tok_start; cur_end= (cur_text+1)->tok_start; C_printf("%s","#define "); out_state= normal; -protect= 1; +protect= true; while(cur_byte limit&&(get_line()==0))return(new_section); +while(true){ +if(loc> limit&&(get_line()==false))return(new_section); *(limit+1)= '@'; while(*loc!='@')loc++; if(loc<=limit){ @@ -1166,23 +1165,23 @@ static boolean skip_comment( boolean is_long_comment) { char c; -while(1){ +while(true){ if(loc> limit){ if(is_long_comment){ -if(get_line())return(comment_continues= 1); +if(get_line())return(comment_continues= true); else{ #line 165 "cwebdir/ctang-w2c.ch" err_print(_("! Input ended in mid-comment")); #line 848 "cwebdir/ctangle.w" -return(comment_continues= 0); +return(comment_continues= false); } } -else return(comment_continues= 0); +else return(comment_continues= false); } c= *(loc++); if(is_long_comment&&c=='*'&&*loc=='/'){ -loc++;return(comment_continues= 0); +loc++;return(comment_continues= false); } if(c=='@'){ if(ccode[(eight_bits)*loc]==new_section){ @@ -1190,7 +1189,7 @@ if(ccode[(eight_bits)*loc]==new_section){ err_print(_("! Section name ended in mid-comment"));loc--; #line 861 "cwebdir/ctangle.w" -return(comment_continues= 0); +return(comment_continues= false); } else loc++; } @@ -1205,12 +1204,12 @@ get_next(void) { static int preprocessing= 0; eight_bits c; -while(1){ +while(true){ if(loc> limit){ if(preprocessing&&*(limit-1)!='\\')preprocessing= 0; -if(get_line()==0)return(new_section); +if(get_line()==false)return(new_section); else if(print_where&&!no_where){ -print_where= 0; +print_where= false; /*85:*/ #line 1220 "cwebdir/ctangle.w" @@ -1281,7 +1280,7 @@ if(delim=='L'||delim=='u'||delim=='U'){ if(delim=='u'&&*loc=='8'){*++id_loc= *loc++;} delim= *loc++;*++id_loc= delim; } -while(1){ +while(true){ if(loc>=limit){ if(*(limit-1)!='\\'){ #line 177 "cwebdir/ctang-w2c.ch" @@ -1289,7 +1288,7 @@ err_print(_("! String didn't end"));loc= limit;break; #line 1009 "cwebdir/ctangle.w" } -if(get_line()==0){ +if(get_line()==false){ #line 183 "cwebdir/ctang-w2c.ch" err_print(_("! Input ended in middle of string"));loc= buffer;break; #line 1013 "cwebdir/ctangle.w" @@ -1365,8 +1364,8 @@ char*k; #line 1110 "cwebdir/ctangle.w" k= section_text; -while(1){ -if(loc> limit&&get_line()==0){ +while(true){ +if(loc> limit&&get_line()==false){ #line 219 "cwebdir/ctang-w2c.ch" err_print(_("! Input ended in section name")); #line 1115 "cwebdir/ctangle.w" @@ -1566,7 +1565,7 @@ app_repl(a_l%0400);} /*:85*/ #line 1200 "cwebdir/ctangle.w" } -while(1)switch(a= get_next()){ +while(true)switch(a= get_next()){ /*86:*/ #line 1233 "cwebdir/ctangle.w" @@ -1620,7 +1619,7 @@ case output_defs_code:if(t!=section_name)err_print(_("! Misplaced @h")); #line 1246 "cwebdir/ctangle.w" else{ -output_defs_seen= 1; +output_defs_seen= true; a= output_defs_flag; app_repl((a/0400)+0200); app_repl(a%0400); @@ -1754,12 +1753,12 @@ scan_section(void) name_pointer p; text_pointer q; sixteen_bits a; -section_count++;no_where= 1; +section_count++;no_where= true; if(*(loc-1)=='*'&&show_progress){ printf("*%d",section_count);update_terminal; } next_control= 0; -while(1){ +while(true){ /*93:*/ #line 1397 "cwebdir/ctangle.w" @@ -1791,7 +1790,7 @@ if(*loc!='('){ app_repl(string);app_repl(' ');app_repl(string); } scan_repl(macro); -cur_text->text_link= 0; +cur_text->text_link= macro; } /*:94*/ @@ -1818,7 +1817,7 @@ break; } return; } -no_where= print_where= 0; +no_where= print_where= false; /*96:*/ #line 1434 "cwebdir/ctangle.w" @@ -1879,8 +1878,8 @@ static void skip_limbo(void) { char c; -while(1){ -if(loc> limit&&get_line()==0)return; +while(true){ +if(loc> limit&&get_line()==false)return; *(limit+1)= '@'; while(*loc!='@')loc++; if(loc++<=limit){ diff --git a/Build/source/texk/web2c/cwebboot.cin b/Build/source/texk/web2c/cwebboot.cin index 0b8baa2bd79..14f5d558fd0 100644 --- a/Build/source/texk/web2c/cwebboot.cin +++ b/Build/source/texk/web2c/cwebboot.cin @@ -82,8 +82,7 @@ typedef bool boolean; #define llink link #define rlink dummy.Rlink #define root name_dir->rlink \ - -#define chunk_marker 0 \ + \ #define spotless 0 #define harmless_message 1 @@ -203,7 +202,7 @@ extern char*loc; extern char*limit; /*:5*//*6:*/ -#line 120 "cwebdir/comm-w2c.h" +#line 119 "cwebdir/comm-w2c.h" typedef struct name_info{ char*byte_start; @@ -228,12 +227,12 @@ extern hash_pointer hash_end; extern hash_pointer h; /*:6*//*8:*/ -#line 164 "cwebdir/comm-w2c.h" +#line 163 "cwebdir/comm-w2c.h" extern int history; /*:8*//*10:*/ -#line 184 "cwebdir/comm-w2c.h" +#line 183 "cwebdir/comm-w2c.h" extern int include_depth; extern FILE*file[]; @@ -254,7 +253,7 @@ extern boolean changing; extern boolean web_file_open; /*:10*//*12:*/ -#line 209 "cwebdir/comm-w2c.h" +#line 208 "cwebdir/comm-w2c.h" extern sixteen_bits section_count; extern boolean changed_section[]; @@ -262,7 +261,7 @@ extern boolean change_pending; extern boolean print_where; /*:12*//*13:*/ -#line 223 "cwebdir/comm-w2c.h" +#line 222 "cwebdir/comm-w2c.h" extern int argc; extern char**argv; @@ -270,7 +269,7 @@ extern boolean flags[]; extern const char*use_language; /*:13*//*14:*/ -#line 236 "cwebdir/comm-w2c.h" +#line 235 "cwebdir/comm-w2c.h" extern FILE*C_file; extern FILE*tex_file; @@ -324,7 +323,7 @@ int change_line; int change_depth; boolean input_has_ended; boolean changing; -boolean web_file_open= 0; +boolean web_file_open= false; /*:25*//*26:*/ #line 220 "cwebdir/common.w" @@ -339,7 +338,7 @@ sixteen_bits section_count; boolean changed_section[max_sections]; boolean change_pending; -boolean print_where= 0; +boolean print_where= false; /*:37*//*43:*/ #line 598 "cwebdir/common.w" @@ -416,7 +415,7 @@ char separators[]= SEPARATORS; #line 70 "cwebdir/common.w" /*7:*/ -#line 143 "cwebdir/comm-w2c.h" +#line 142 "cwebdir/comm-w2c.h" extern boolean names_match(name_pointer,const char*,size_t,eight_bits); extern name_pointer id_lookup(const char*,const char*,char); @@ -429,7 +428,7 @@ extern void print_section_name(name_pointer); extern void sprint_section_name(char*,name_pointer); /*:7*//*9:*/ -#line 167 "cwebdir/comm-w2c.h" +#line 166 "cwebdir/comm-w2c.h" extern int wrap_up(void); extern void err_print(const char*); @@ -437,14 +436,14 @@ extern void fatal(const char*,const char*); extern void overflow(const char*); /*:9*//*11:*/ -#line 203 "cwebdir/comm-w2c.h" +#line 202 "cwebdir/comm-w2c.h" extern boolean get_line(void); extern void check_complete(void); extern void reset_input(void); /*:11*//*15:*/ -#line 245 "cwebdir/comm-w2c.h" +#line 244 "cwebdir/comm-w2c.h" extern void common_init(void); extern void print_stats(void); @@ -604,7 +603,7 @@ FILE*fp) { register int c= EOF; register char*k; -if(feof(fp))return(0); +if(feof(fp))return(false); limit= k= buffer; while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n') #line 92 "cwebdir/comm-w2c.ch" @@ -617,9 +616,9 @@ ungetc(c,fp);loc= buffer;err_print(_("! Input line too long")); #line 175 "cwebdir/common.w" } -if(c==EOF&&limit==buffer)return(0); +if(c==EOF&&limit==buffer)return(false); -return(1); +return(true); } /*:24*//*28:*/ @@ -632,7 +631,7 @@ change_limit= change_buffer; /*29:*/ #line 248 "cwebdir/common.w" -while(1){ +while(true){ change_line++; if(!input_ln(change_file))return; if(limit buffer+1&&buffer[0]=='@'){ @@ -743,14 +742,14 @@ strncpy(change_buffer,buffer,(size_t)(limit-buffer+1)); /*:31*/ #line 330 "cwebdir/common.w" -changing= 0;cur_line++; +changing= false;cur_line++; while(!input_ln(cur_file)){ if(include_depth==0){ #line 127 "cwebdir/comm-w2c.ch" err_print(_("! CWEB file ended during a change")); #line 335 "cwebdir/common.w" -input_has_ended= 1;return; +input_has_ended= true;return; } include_depth--;cur_line++; } @@ -782,7 +781,7 @@ free(found_filename); #line 385 "cwebdir/common.w" -web_file_open= 1; +web_file_open= true; #line 165 "cwebdir/comm-w2c.ch" if((found_filename= kpse_find_cweb(change_file_name))==NULL|| (change_file= fopen(found_filename,"r"))==NULL){ @@ -802,7 +801,7 @@ free(found_filename); include_depth= 0;cur_line= 0;change_line= 0; change_depth= include_depth; changing= 1;prime_the_change_buffer();changing= !changing; -limit= buffer;loc= buffer+1;buffer[0]= ' ';input_has_ended= 0; +limit= buffer;loc= buffer+1;buffer[0]= ' ';input_has_ended= false; } /*:35*//*38:*/ @@ -825,9 +824,9 @@ buffer[0]= '@';buffer[1]= 'z';limit= buffer+2; } if(limit> buffer){ if(change_pending){ -if_section_start_make_pending(0); +if_section_start_make_pending(false); if(change_pending){ -changed_section[section_count]= 1;change_pending= 0; +changed_section[section_count]= true;change_pending= false; } } *limit= ' '; @@ -841,7 +840,7 @@ err_print(_("! Where is the matching @z?")); } else if(buffer[1]=='z'){ -prime_the_change_buffer();changing= !changing;print_where= 1; +prime_the_change_buffer();changing= !changing;print_where= true; } } } @@ -856,8 +855,8 @@ if(!changing||include_depth> change_depth){ { cur_line++; while(!input_ln(cur_file)){ -print_where= 1; -if(include_depth==0){input_has_ended= 1;break;} +print_where= true; +if(include_depth==0){input_has_ended= true;break;} else{ fclose(cur_file);include_depth--; if(changing&&include_depth==change_depth)break; @@ -875,7 +874,7 @@ if(change_limit> change_buffer)check_change(); if(changing&&include_depth==change_depth)goto restart; } -if(input_has_ended)return 0; +if(input_has_ended)return false; loc= buffer;*limit= ' '; if(buffer[0]=='@'&&(buffer[1]=='i'||buffer[1]=='I')){ loc= buffer+2;*limit= '"'; @@ -923,7 +922,7 @@ strcpy(cur_file_name,found_filename+ free(found_filename); }else fatal(_("! Filename too long\n"),found_filename); #line 469 "cwebdir/common.w" -cur_line= 0;print_where= 1; +cur_line= 0;print_where= true; goto restart; } #line 268 "cwebdir/comm-w2c.ch" @@ -935,7 +934,7 @@ include_depth--;err_print(_("! Cannot open include file"));goto restart; #line 434 "cwebdir/common.w" } -return 1; +return true; } #line 201 "cwebdir/comm-w2c.ch" @@ -947,7 +946,7 @@ check_complete(void){ if(change_limit!=change_buffer){ strncpy(buffer,change_buffer,(size_t)(change_limit-change_buffer+1)); limit= buffer+(ptrdiff_t)(change_limit-change_buffer); -changing= 1;change_depth= include_depth;loc= buffer; +changing= true;change_depth= include_depth;loc= buffer; #line 286 "cwebdir/comm-w2c.ch" err_print(_("! Change file entry did not match")); #line 556 "cwebdir/common.w" @@ -1265,7 +1264,7 @@ name_pointer q= r+1; char*ss,*s= first_chunk(r); int c; int ispref; -while(1){ +while(true){ ss= (r+1)->byte_start-1; if(*ss==' '&&ss>=r->byte_start)ispref= 1,q= q->link; else ispref= 0,ss++,q= name_dir; @@ -1404,7 +1403,7 @@ scan_args(void) char*dot_pos; char*name_pos; register char*s; -boolean found_web= 0,found_change= 0,found_out= 0; +boolean found_web= false,found_change= false,found_out= false; #line 462 "cwebdir/comm-w2c.ch" @@ -1526,7 +1525,7 @@ sprintf(tex_file_name,"%s.tex",name_pos); sprintf(idx_file_name,"%s.idx",name_pos); sprintf(scn_file_name,"%s.scn",name_pos); sprintf(C_file_name,"%s.c",name_pos); -found_web= 1; +found_web= true; } /*:77*/ @@ -1551,7 +1550,7 @@ if(dot_pos==NULL) sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); } -found_change= 1; +found_change= true; } /*:78*/ @@ -1585,7 +1584,7 @@ sprintf(idx_file_name,"%s.idx",*argv); sprintf(scn_file_name,"%s.scn",*argv); } } -found_out= 1; +found_out= true; } /*:79*/ diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog index 3e4723f1c8d..59d28030328 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,20 @@ +2021-02-19 Andreas Scherer + + * comm-bs.ch, + * comm-mac.ch, + * com-ql.ch, + * comm-w2c.ch, + * comm-w2c.h, + * common.c, + * common.h, + * common.w, + * ctang-bs.ch, + * ctangle.c, + * ctangle.w, + * ctwill-w2c.ch, + * cweav-bs.ch, + * cweave.w: Replace 'boolean' values upstream. + 2021-02-18 Andreas Scherer * cweave.w: Purge unused macro definition. diff --git a/Build/source/texk/web2c/cwebdir/comm-bs.ch b/Build/source/texk/web2c/cwebdir/comm-bs.ch index 1e65f4334c6..b01b86799d7 100644 --- a/Build/source/texk/web2c/cwebdir/comm-bs.ch +++ b/Build/source/texk/web2c/cwebdir/comm-bs.ch @@ -16,7 +16,7 @@ by using "huge" pointers. @x Section 6. -@d chunk_marker 0 + for section names */ @= typedef struct name_info { @@ -34,7 +34,7 @@ typedef name_pointer *hash_pointer; extern char byte_mem[]; /* characters of names */ extern char *byte_mem_end; /* end of |byte_mem| */ @y -@d chunk_marker 0 + for section names */ @f huge extern diff --git a/Build/source/texk/web2c/cwebdir/comm-mac.ch b/Build/source/texk/web2c/cwebdir/comm-mac.ch index e7f36a74d9d..e3c601c47bf 100644 --- a/Build/source/texk/web2c/cwebdir/comm-mac.ch +++ b/Build/source/texk/web2c/cwebdir/comm-mac.ch @@ -18,12 +18,12 @@ support |feof|, |getc|, and |ungetc| you may have to change things here. static boolean input_ln(FILE *);@/ @ @c -static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns 0 */ +static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns |false| */ FILE *fp@t\2\2@>) /* what file to read from */ { register int c=EOF; /* character read; initialized so some compilers won't complain */ register char *k; /* where next character goes */ - if (feof(fp)) return(0); /* we have hit end-of-file */ + if (feof(fp)) return(false); /* we have hit end-of-file */ limit = k = buffer; /* beginning of buffer */ while (k<=buffer_end && (c=getc(fp)) != EOF && c!='\n') if ((*(k++) = c) != ' ') limit = k; @@ -32,9 +32,9 @@ FILE *fp@t\2\2@>) /* what file to read from */ ungetc(c,fp); loc=buffer; err_print("! Input line too long"); @.Input line too long@> } - if (c==EOF && limit==buffer) return(0); /* there was nothing after + if (c==EOF && limit==buffer) return(false); /* there was nothing after the last newline */ - return(1); + return(true); } @y @ In the unlikely event that your standard I/O library does not @@ -45,27 +45,30 @@ line endings, so that \.{CWEB} will works with ASCII files stored in \UNIX/, {\mc DOS} or {\mc MAC} format. @^system dependencies@> -@c -static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns 0 */ +@= +static boolean input_ln(FILE *);@/ + +@ @c +static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns |false| */ FILE *fp@t\2\2@>) /* what file to read from */ { register int c=EOF; /* character read; initialized so some compilers won't complain */ register char *k; /* where next character goes */ - if (feof(fp)) return(0); /* we have hit end-of-file */ + if (feof(fp)) return(false); /* we have hit end-of-file */ limit = k = buffer; /* beginning of buffer */ - while (1) { + while (true) { c = getc(fp); - if (c==EOF) return (limit!=buffer); /* 0, if there was nothing after + if (c==EOF) return (limit!=buffer); /* |false|, if there was nothing after the last newline */ else if (c=='\n' || c=='\r') { /* we have hit end-of-line */ int d = getc(fp); if (c+d!='\n'+'\r') /* no combination |"\n\r"| or |"\r\n"| */ ungetc(d,fp); - return (1); + return (true); } else if (k>buffer_end) { ungetc(c,fp); loc=buffer; err_print("! Input line too long"); - return (1); + return (true); @.Input line too long@> } else diff --git a/Build/source/texk/web2c/cwebdir/comm-ql.ch b/Build/source/texk/web2c/cwebdir/comm-ql.ch index 07d394fae7f..e8525783895 100644 --- a/Build/source/texk/web2c/cwebdir/comm-ql.ch +++ b/Build/source/texk/web2c/cwebdir/comm-ql.ch @@ -155,7 +155,7 @@ the routine as if it would work. sprintf(idx_file_name,"%s.idx",name_pos); sprintf(scn_file_name,"%s.scn",name_pos); sprintf(C_file_name,"%s.c",name_pos); - found_web=1; + found_web=true; } @y @= @@ -173,7 +173,7 @@ the routine as if it would work. sprintf(idx_file_name,"%s_idx",name_pos); sprintf(scn_file_name,"%s_scn",name_pos); sprintf(C_file_name,"%s_c",name_pos); - found_web=1; + found_web=true; } @z @@ -188,7 +188,7 @@ the routine as if it would work. sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); } - found_change=1; + found_change=true; } @y @ @= @@ -199,7 +199,7 @@ the routine as if it would work. if (dot_pos==NULL) sprintf(change_file_name,"%s_ch",*argv); else strcpy(change_file_name,*argv); - found_change=1; + found_change=true; } } @z @@ -224,7 +224,7 @@ the routine as if it would work. sprintf(scn_file_name,"%s.scn",*argv); } } - found_out=1; + found_out=true; } @y @ @= @@ -245,7 +245,7 @@ the routine as if it would work. sprintf(scn_file_name,"%s_scn",*argv); } } - found_out=1; + found_out=true; } @z diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.ch b/Build/source/texk/web2c/cwebdir/comm-w2c.ch index 55da12b3c1c..db72bdd14b8 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.ch @@ -259,7 +259,7 @@ The remainder of the \.{@@i} line after the file name is ignored. strcpy(cur_file_name,temp_file_name); cur_file_name[l]='/'; /* \UNIX/ pathname separator */ if ((cur_file=fopen(cur_file_name,"r"))!=NULL) { - cur_line=0; print_where=1; + cur_line=0; print_where=true; goto restart; /* success */ } } diff --git a/Build/source/texk/web2c/cwebdir/comm-w2c.h b/Build/source/texk/web2c/cwebdir/comm-w2c.h index 3ca30544fa9..7c21ba1bc21 100644 --- a/Build/source/texk/web2c/cwebdir/comm-w2c.h +++ b/Build/source/texk/web2c/cwebdir/comm-w2c.h @@ -115,7 +115,6 @@ extern char *limit; /* points to the last character in the buffer */ @d rlink dummy.Rlink /* right link in binary search tree for section names */ @d root name_dir->rlink /* the root of the binary search tree for section names */ -@d chunk_marker 0 @= typedef struct name_info { diff --git a/Build/source/texk/web2c/cwebdir/common.c b/Build/source/texk/web2c/cwebdir/common.c index 5441a193883..37c467ae3b5 100644 --- a/Build/source/texk/web2c/cwebdir/common.c +++ b/Build/source/texk/web2c/cwebdir/common.c @@ -15,8 +15,8 @@ /*:3*/ #line 67 "common.w" -#define ctangle 0 -#define cweave 1 \ +#define ctangle false +#define cweave true \ #define and_and 04 #define lt_lt 020 @@ -46,8 +46,7 @@ #define llink link #define rlink dummy.Rlink #define root name_dir->rlink \ - -#define chunk_marker 0 \ + \ #define spotless 0 #define harmless_message 1 @@ -150,7 +149,7 @@ extern char*loc; extern char*limit; /*:5*//*6:*/ -#line 103 "common.h" +#line 102 "common.h" typedef struct name_info{ char*byte_start; @@ -175,12 +174,12 @@ extern hash_pointer hash_end; extern hash_pointer h; /*:6*//*8:*/ -#line 147 "common.h" +#line 146 "common.h" extern int history; /*:8*//*10:*/ -#line 167 "common.h" +#line 166 "common.h" extern int include_depth; extern FILE*file[]; @@ -200,7 +199,7 @@ extern boolean changing; extern boolean web_file_open; /*:10*//*12:*/ -#line 191 "common.h" +#line 190 "common.h" extern sixteen_bits section_count; extern boolean changed_section[]; @@ -208,14 +207,14 @@ extern boolean change_pending; extern boolean print_where; /*:12*//*13:*/ -#line 204 "common.h" +#line 203 "common.h" extern int argc; extern char**argv; extern boolean flags[]; /*:13*//*14:*/ -#line 216 "common.h" +#line 215 "common.h" extern FILE*C_file; extern FILE*tex_file; @@ -266,7 +265,7 @@ int change_line; int change_depth; boolean input_has_ended; boolean changing; -boolean web_file_open= 0; +boolean web_file_open= false; /*:25*//*26:*/ #line 220 "common.w" @@ -281,7 +280,7 @@ sixteen_bits section_count; boolean changed_section[max_sections]; boolean change_pending; -boolean print_where= 0; +boolean print_where= false; /*:37*//*43:*/ #line 598 "common.w" @@ -333,7 +332,7 @@ FILE*active_file; #line 70 "common.w" /*7:*/ -#line 126 "common.h" +#line 125 "common.h" extern boolean names_match(name_pointer,const char*,size_t,eight_bits); extern name_pointer id_lookup(const char*,const char*,char); @@ -346,7 +345,7 @@ extern void print_section_name(name_pointer); extern void sprint_section_name(char*,name_pointer); /*:7*//*9:*/ -#line 150 "common.h" +#line 149 "common.h" extern int wrap_up(void); extern void err_print(const char*); @@ -354,14 +353,14 @@ extern void fatal(const char*,const char*); extern void overflow(const char*); /*:9*//*11:*/ -#line 185 "common.h" +#line 184 "common.h" extern boolean get_line(void); extern void check_complete(void); extern void reset_input(void); /*:11*//*15:*/ -#line 224 "common.h" +#line 223 "common.h" extern void common_init(void); extern void print_stats(void); @@ -460,7 +459,7 @@ FILE*fp) { register int c= EOF; register char*k; -if(feof(fp))return(0); +if(feof(fp))return(false); limit= k= buffer; while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n') if((*(k++)= c)!=' ')limit= k; @@ -469,9 +468,9 @@ if((c= getc(fp))!=EOF&&c!='\n'){ ungetc(c,fp);loc= buffer;err_print("! Input line too long"); } -if(c==EOF&&limit==buffer)return(0); +if(c==EOF&&limit==buffer)return(false); -return(1); +return(true); } /*:24*//*28:*/ @@ -484,7 +483,7 @@ change_limit= change_buffer; /*29:*/ #line 248 "common.w" -while(1){ +while(true){ change_line++; if(!input_ln(change_file))return; if(limit buffer+1&&buffer[0]=='@'){ @@ -585,12 +584,12 @@ strncpy(change_buffer,buffer,(size_t)(limit-buffer+1)); /*:31*/ #line 330 "common.w" -changing= 0;cur_line++; +changing= false;cur_line++; while(!input_ln(cur_file)){ if(include_depth==0){ err_print("! CWEB file ended during a change"); -input_has_ended= 1;return; +input_has_ended= true;return; } include_depth--;cur_line++; } @@ -615,7 +614,7 @@ fatal("! Cannot open input file ",web_file_name); } -web_file_open= 1; +web_file_open= true; if((change_file= fopen(change_file_name,"r"))==NULL) fatal("! Cannot open change file ",change_file_name); @@ -625,7 +624,7 @@ fatal("! Cannot open change file ",change_file_name); include_depth= 0;cur_line= 0;change_line= 0; change_depth= include_depth; changing= 1;prime_the_change_buffer();changing= !changing; -limit= buffer;loc= buffer+1;buffer[0]= ' ';input_has_ended= 0; +limit= buffer;loc= buffer+1;buffer[0]= ' ';input_has_ended= false; } /*:35*//*38:*/ @@ -646,9 +645,9 @@ buffer[0]= '@';buffer[1]= 'z';limit= buffer+2; } if(limit> buffer){ if(change_pending){ -if_section_start_make_pending(0); +if_section_start_make_pending(false); if(change_pending){ -changed_section[section_count]= 1;change_pending= 0; +changed_section[section_count]= true;change_pending= false; } } *limit= ' '; @@ -660,7 +659,7 @@ err_print("! Where is the matching @z?"); } else if(buffer[1]=='z'){ -prime_the_change_buffer();changing= !changing;print_where= 1; +prime_the_change_buffer();changing= !changing;print_where= true; } } } @@ -675,8 +674,8 @@ if(!changing||include_depth> change_depth){ { cur_line++; while(!input_ln(cur_file)){ -print_where= 1; -if(include_depth==0){input_has_ended= 1;break;} +print_where= true; +if(include_depth==0){input_has_ended= true;break;} else{ fclose(cur_file);include_depth--; if(changing&&include_depth==change_depth)break; @@ -694,7 +693,7 @@ if(change_limit> change_buffer)check_change(); if(changing&&include_depth==change_depth)goto restart; } -if(input_has_ended)return 0; +if(input_has_ended)return false; loc= buffer;*limit= ' '; if(buffer[0]=='@'&&(buffer[1]=='i'||buffer[1]=='I')){ loc= buffer+2;*limit= '"'; @@ -728,7 +727,7 @@ if(k> cur_file_name_end)too_long(); *k= '\0'; if((cur_file= fopen(cur_file_name,"r"))!=NULL){ -cur_line= 0;print_where= 1; +cur_line= 0;print_where= true; goto restart; } kk= getenv("CWEBINPUTS"); @@ -751,7 +750,7 @@ for(;k>=cur_file_name;k--)*(k+l+1)= *k; strcpy(cur_file_name,temp_file_name); cur_file_name[l]= '/'; if((cur_file= fopen(cur_file_name,"r"))!=NULL){ -cur_line= 0;print_where= 1; +cur_line= 0;print_where= true; goto restart; } } @@ -762,7 +761,7 @@ include_depth--;err_print("! Cannot open include file");goto restart; #line 434 "common.w" } -return 1; +return true; } /*:38*//*42:*/ @@ -773,7 +772,7 @@ check_complete(void){ if(change_limit!=change_buffer){ strncpy(buffer,change_buffer,(size_t)(change_limit-change_buffer+1)); limit= buffer+(ptrdiff_t)(change_limit-change_buffer); -changing= 1;change_depth= include_depth;loc= buffer; +changing= true;change_depth= include_depth;loc= buffer; err_print("! Change file entry did not match"); } @@ -1069,7 +1068,7 @@ name_pointer q= r+1; char*ss,*s= first_chunk(r); int c; int ispref; -while(1){ +while(true){ ss= (r+1)->byte_start-1; if(*ss==' '&&ss>=r->byte_start)ispref= 1,q= q->link; else ispref= 0,ss++,q= name_dir; @@ -1181,7 +1180,7 @@ scan_args(void) char*dot_pos; char*name_pos; register char*s; -boolean found_web= 0,found_change= 0,found_out= 0; +boolean found_web= false,found_change= false,found_out= false; strcpy(change_file_name,"/dev/null"); @@ -1228,7 +1227,7 @@ sprintf(tex_file_name,"%s.tex",name_pos); sprintf(idx_file_name,"%s.idx",name_pos); sprintf(scn_file_name,"%s.scn",name_pos); sprintf(C_file_name,"%s.c",name_pos); -found_web= 1; +found_web= true; } /*:77*/ @@ -1252,7 +1251,7 @@ if(dot_pos==NULL) sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); } -found_change= 1; +found_change= true; } /*:78*/ @@ -1285,7 +1284,7 @@ sprintf(idx_file_name,"%s.idx",*argv); sprintf(scn_file_name,"%s.scn",*argv); } } -found_out= 1; +found_out= true; } /*:79*/ diff --git a/Build/source/texk/web2c/cwebdir/common.h b/Build/source/texk/web2c/cwebdir/common.h index 650f164a7ff..3e0d07d77db 100644 --- a/Build/source/texk/web2c/cwebdir/common.h +++ b/Build/source/texk/web2c/cwebdir/common.h @@ -31,8 +31,8 @@ First comes general stuff: @s uint8_t int @s uint16_t int -@d ctangle 0 -@d cweave 1 +@d ctangle false +@d cweave true @= typedef bool boolean; @@ -98,7 +98,6 @@ extern char *limit; /* points to the last character in the buffer */ @d rlink dummy.Rlink /* right link in binary search tree for section names */ @d root name_dir->rlink /* the root of the binary search tree for section names */ -@d chunk_marker 0 @= typedef struct name_info { diff --git a/Build/source/texk/web2c/cwebdir/common.w b/Build/source/texk/web2c/cwebdir/common.w index 66236aca6bf..e23a3d857b9 100644 --- a/Build/source/texk/web2c/cwebdir/common.w +++ b/Build/source/texk/web2c/cwebdir/common.w @@ -134,8 +134,8 @@ char *id_loc; /* just after the current identifier in the buffer */ @** Input routines. The lowest level of input to the \.{CWEB} programs is performed by |input_ln|, which must be told which file to read from. -The return value of |input_ln| is 1 if the read is successful and 0 if -not (generally this means the file has ended). The conventions +The return value of |input_ln| is |true| if the read is successful and +|false| if not (generally this means the file has ended). The conventions of \TEX/ are followed; i.e., the characters of the next line of the file are copied into the |buffer| array, and the global variable |limit| is set to the first unoccupied position. @@ -160,12 +160,12 @@ support |feof|, |getc|, and |ungetc| you may have to change things here. static boolean input_ln(FILE *);@/ @ @c -static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns 0 */ +static boolean input_ln(@t\1\1@> /* copies a line into |buffer| or returns |false| */ FILE *fp@t\2\2@>) /* what file to read from */ { register int c=EOF; /* character read; initialized so some compilers won't complain */ register char *k; /* where next character goes */ - if (feof(fp)) return(0); /* we have hit end-of-file */ + if (feof(fp)) return(false); /* we have hit end-of-file */ limit = k = buffer; /* beginning of buffer */ while (k<=buffer_end && (c=getc(fp)) != EOF && c!='\n') if ((*(k++) = c) != ' ') limit = k; @@ -174,9 +174,9 @@ FILE *fp@t\2\2@>) /* what file to read from */ ungetc(c,fp); loc=buffer; err_print("! Input line too long"); @.Input line too long@> } - if (c==EOF && limit==buffer) return(0); /* there was nothing after + if (c==EOF && limit==buffer) return(false); /* there was nothing after the last newline */ - return(1); + return(true); } @ Now comes the problem of deciding which file to read from next. @@ -204,9 +204,9 @@ int change_line; /* number of current line in change file */ int change_depth; /* where \.{@@y} originated during a change */ boolean input_has_ended; /* if there is no more input */ boolean changing; /* if the current line is from |change_file| */ -boolean web_file_open=0; /* if the web file is being read */ +boolean web_file_open=false; /* if the web file is being read */ -@ When |changing==0|, the next line of |change_file| is kept in +@ When |changing==false|, the next line of |change_file| is kept in |change_buffer|, for purposes of comparison with the next line of |cur_file|. After the change file has been completely input, we set |change_limit=change_buffer|, @@ -226,7 +226,7 @@ sets |change_buffer| in preparation for the next matching operation. Since blank lines in the change file are not used for matching, we have |(change_limit==change_buffer && !changing)| if and only if the change file is exhausted. This procedure is called only when -|changing| is 1; hence error messages will be reported correctly. +|changing| is |true|; hence error messages will be reported correctly. @= static void prime_the_change_buffer(void);@/ @@ -246,7 +246,7 @@ allow lines that begin with \.{@@}, as long as they don't begin with \.{@@y}, \.{@@z}, or \.{@@i} (which would probably mean that the change file is fouled up). @= -while(1) { +while(true) { change_line++; if (!input_ln(change_file)) return; if (limit - change_limit=change_buffer; changing=0; + change_limit=change_buffer; changing=false; return; } if (limit>buffer+1 && buffer[0]=='@@') { @@ -328,12 +328,12 @@ check_change(void) /* switches to |change_file| if the buffers match */ report any discrepancies and |return|@>@; } @@; - changing=0; cur_line++; + changing=false; cur_line++; while (!input_ln(cur_file)) { /* pop the stack or quit */ if (include_depth==0) { err_print("! CWEB file ended during a change"); @.CWEB file ended...@> - input_has_ended=1; return; + input_has_ended=true; return; } include_depth--; cur_line++; } @@ -370,7 +370,7 @@ reset_input(void) include_depth=0; cur_line=0; change_line=0; change_depth=include_depth; changing=1; prime_the_change_buffer(); changing=!changing; - limit=buffer; loc=buffer+1; buffer[0]=' '; input_has_ended=0; + limit=buffer; loc=buffer+1; buffer[0]=' '; input_has_ended=false; } @ The following code opens the input files. @@ -384,7 +384,7 @@ if ((web_file=fopen(web_file_name,"r"))==NULL) { } @.Cannot open input file@> @.Cannot open change file@> -web_file_open=1; +web_file_open=true; if ((change_file=fopen(change_file_name,"r"))==NULL) fatal("! Cannot open change file ", change_file_name); @@ -403,7 +403,7 @@ sixteen_bits section_count; /* the current section number */ boolean changed_section[max_sections]; /* is the section changed? */ boolean change_pending; /* if the current change is not yet recorded in |changed_section[section_count]| */ -boolean print_where=0; /* should \.{CTANGLE} print line and file info? */ +boolean print_where=false; /* should \.{CTANGLE} print line and file info? */ @ @c boolean get_line(void) /* inputs the next line */ @@ -415,7 +415,7 @@ boolean get_line(void) /* inputs the next line */ @@; if (changing && include_depth==change_depth) goto restart; } - if (input_has_ended) return 0; + if (input_has_ended) return false; loc=buffer; *limit=' '; if (buffer[0]=='@@' && (buffer[1]=='i' || buffer[1]=='I')) { loc=buffer+2; *limit='"'; @@ -433,7 +433,7 @@ boolean get_line(void) /* inputs the next line */ include_depth++; /* push input stack */ @@; } - return 1; + return true; } @ When an \.{@@i} line is found in the |cur_file|, we must temporarily @@ -466,7 +466,7 @@ The remainder of the \.{@@i} line after the file name is ignored. @.Include file name ...@> *k='\0'; if ((cur_file=fopen(cur_file_name,"r"))!=NULL) { - cur_line=0; print_where=1; + cur_line=0; print_where=true; goto restart; /* success */ } kk=getenv("CWEBINPUTS"); @@ -489,7 +489,7 @@ The remainder of the \.{@@i} line after the file name is ignored. strcpy(cur_file_name,temp_file_name); cur_file_name[l]='/'; /* \UNIX/ pathname separator */ if ((cur_file=fopen(cur_file_name,"r"))!=NULL) { - cur_line=0; print_where=1; + cur_line=0; print_where=true; goto restart; /* success */ } } @@ -499,8 +499,8 @@ The remainder of the \.{@@i} line after the file name is ignored. @ @= { cur_line++; while (!input_ln(cur_file)) { /* pop the stack or quit */ - print_where=1; - if (include_depth==0) {input_has_ended=1; break;} + print_where=true; + if (include_depth==0) {input_has_ended=true; break;} else { fclose(cur_file); include_depth--; if (changing && include_depth==change_depth) break; @@ -522,9 +522,9 @@ The remainder of the \.{@@i} line after the file name is ignored. } if (limit>buffer) { /* check if the change has ended */ if (change_pending) { - if_section_start_make_pending(0); + if_section_start_make_pending(false); if (change_pending) { - changed_section[section_count]=1; change_pending=0; + changed_section[section_count]=true; change_pending=false; } } *limit=' '; @@ -536,7 +536,7 @@ The remainder of the \.{@@i} line after the file name is ignored. @.Where is the match...@> } else if (buffer[1]=='z') { - prime_the_change_buffer(); changing=!changing; print_where=1; + prime_the_change_buffer(); changing=!changing; print_where=true; } } } @@ -548,10 +548,10 @@ had a line that didn't match any relevant line in |web_file|. @c void check_complete(void) { - if (change_limit!=change_buffer) { /* |changing| is 0 */ + if (change_limit!=change_buffer) { /* |changing| is |false| */ strncpy(buffer,change_buffer,(size_t)(change_limit-change_buffer+1)); limit=buffer+(ptrdiff_t)(change_limit-change_buffer); - changing=1; change_depth=include_depth; loc=buffer; + changing=true; change_depth=include_depth; loc=buffer; err_print("! Change file entry did not match"); @.Change file entry did not match@> } @@ -983,7 +983,7 @@ name_pointer r@t\2\2@>) /* section name being compared */ char *ss, *s=first_chunk(r); int c; /* comparison */ int ispref; /* is chunk |r| a prefix? */ - while (1) { + while (true) { ss=(r+1)->byte_start-1; if (*ss==' ' && ss>=r->byte_start) ispref=1,q=q->link; else ispref=0,ss++,q=name_dir; @@ -1144,8 +1144,8 @@ char idx_file_name[max_file_name_length]; /* name of |idx_file| */ char scn_file_name[max_file_name_length]; /* name of |scn_file| */ boolean flags[128]; /* an option for each 7-bit code */ -@ The |flags| will be initially zero. Some of them are set to~1 before -scanning the arguments; if additional flags are 1 by default they +@ The |flags| will be initially |false|. Some of them are set to~|true| before +scanning the arguments; if additional flags are |true| by default they should be set before calling |common_init|. @= @@ -1177,7 +1177,7 @@ scan_args(void) char *dot_pos; /* position of |'.'| in the argument */ char *name_pos; /* file name beginning, sans directory */ register char *s; /* register for scanning strings */ - boolean found_web=0,found_change=0,found_out=0; + boolean found_web=false,found_change=false,found_out=false; /* have these names been seen? */ strcpy(change_file_name,"/dev/null"); @@ -1222,7 +1222,7 @@ after the dot. We must check that there is enough room in sprintf(idx_file_name,"%s.idx",name_pos); sprintf(scn_file_name,"%s.scn",name_pos); sprintf(C_file_name,"%s.c",name_pos); - found_web=1; + found_web=true; } @ @= @@ -1234,7 +1234,7 @@ after the dot. We must check that there is enough room in sprintf(change_file_name,"%s.ch",*argv); else strcpy(change_file_name,*argv); } - found_change=1; + found_change=true; } @ @= @@ -1255,7 +1255,7 @@ after the dot. We must check that there is enough room in sprintf(scn_file_name,"%s.scn",*argv); } } - found_out=1; + found_out=true; } @ @d flag_change (**argv!='-') diff --git a/Build/source/texk/web2c/cwebdir/ctang-bs.ch b/Build/source/texk/web2c/cwebdir/ctang-bs.ch index 02d1f4dbf4f..bbe1bcc8cc8 100644 --- a/Build/source/texk/web2c/cwebdir/ctang-bs.ch +++ b/Build/source/texk/web2c/cwebdir/ctang-bs.ch @@ -27,7 +27,7 @@ is modified. @x Section 9. -@d chunk_marker 0 + for section names */ @= typedef struct name_info { @@ -44,15 +44,15 @@ typedef name_info *name_pointer; /* pointer into array of \&{name\_info}s */ typedef name_pointer *hash_pointer; extern char byte_mem[]; /* characters of names */ extern char *byte_mem_end; /* end of |byte_mem| */ +extern char *byte_ptr; /* first unused position in |byte_mem| */ extern name_info name_dir[]; /* information about names */ extern name_pointer name_dir_end; /* end of |name_dir| */ extern name_pointer name_ptr; /* first unused position in |name_dir| */ -extern char *byte_ptr; /* first unused position in |byte_mem| */ extern name_pointer hash[]; /* heads of hash lists */ extern hash_pointer hash_end; /* end of |hash| */ extern hash_pointer h; /* index into hash-head array */ @y -@d chunk_marker 0 + for section names */ @f huge extern @@ -98,7 +98,7 @@ handle \TEX/, so they should be sufficient for most applications of @d max_texts 10239 /* number of replacement texts, must be less than 10240 */ @d longest_name 10000 /* file and section names and section texts shouldn't be longer than this */ @d stack_size 500 /* number of simultaneous levels of macro expansion */ -@d buf_size 1000 /* for \.{CWEAVE} */ +@d buf_size 1000 /* maximum length of input line, plus one */ @y @ The following parameters were sufficient in the original \.{WEB} to handle \TEX/, so they should be sufficient for most applications of diff --git a/Build/source/texk/web2c/cwebdir/ctangle.c b/Build/source/texk/web2c/cwebdir/ctangle.c index f77ce669f57..de0a05a39c6 100644 --- a/Build/source/texk/web2c/cwebdir/ctangle.c +++ b/Build/source/texk/web2c/cwebdir/ctangle.c @@ -17,8 +17,8 @@ #define banner "This is CTANGLE (Version 4.0)" \ -#define ctangle 0 -#define cweave 1 \ +#define ctangle false +#define cweave true \ #define and_and 04 #define lt_lt 020 @@ -48,8 +48,7 @@ #define llink link #define rlink dummy.Rlink #define root name_dir->rlink \ - -#define chunk_marker 0 \ + \ #define spotless 0 #define harmless_message 1 @@ -172,7 +171,7 @@ extern char*loc; extern char*limit; /*:6*//*7:*/ -#line 103 "common.h" +#line 102 "common.h" typedef struct name_info{ char*byte_start; @@ -197,12 +196,12 @@ extern hash_pointer hash_end; extern hash_pointer h; /*:7*//*9:*/ -#line 147 "common.h" +#line 146 "common.h" extern int history; /*:9*//*11:*/ -#line 167 "common.h" +#line 166 "common.h" extern int include_depth; extern FILE*file[]; @@ -222,7 +221,7 @@ extern boolean changing; extern boolean web_file_open; /*:11*//*13:*/ -#line 191 "common.h" +#line 190 "common.h" extern sixteen_bits section_count; extern boolean changed_section[]; @@ -230,14 +229,14 @@ extern boolean change_pending; extern boolean print_where; /*:13*//*14:*/ -#line 204 "common.h" +#line 203 "common.h" extern int argc; extern char**argv; extern boolean flags[]; /*:14*//*15:*/ -#line 216 "common.h" +#line 215 "common.h" extern FILE*C_file; extern FILE*tex_file; @@ -318,7 +317,7 @@ char output_file_name[longest_name+1]; /*:45*//*52:*/ #line 586 "ctangle.w" -boolean output_defs_seen= 0; +boolean output_defs_seen= false; /*:52*//*57:*/ #line 695 "ctangle.w" @@ -333,13 +332,13 @@ eight_bits ccode[256]; /*:62*//*66:*/ #line 834 "ctangle.w" -boolean comment_continues= 0; +boolean comment_continues= false; /*:66*//*68:*/ #line 873 "ctangle.w" name_pointer cur_section_name; -int no_where; +boolean no_where; /*:68*//*82:*/ #line 1187 "ctangle.w" @@ -356,7 +355,7 @@ extern sixteen_bits section_count; #line 71 "ctangle.w" /*8:*/ -#line 126 "common.h" +#line 125 "common.h" extern boolean names_match(name_pointer,const char*,size_t,eight_bits); extern name_pointer id_lookup(const char*,const char*,char); @@ -369,7 +368,7 @@ extern void print_section_name(name_pointer); extern void sprint_section_name(char*,name_pointer); /*:8*//*10:*/ -#line 150 "common.h" +#line 149 "common.h" extern int wrap_up(void); extern void err_print(const char*); @@ -377,14 +376,14 @@ extern void fatal(const char*,const char*); extern void overflow(const char*); /*:10*//*12:*/ -#line 185 "common.h" +#line 184 "common.h" extern boolean get_line(void); extern void check_complete(void); extern void reset_input(void); /*:12*//*16:*/ -#line 224 "common.h" +#line 223 "common.h" extern void common_init(void); extern void print_stats(void); @@ -398,7 +397,7 @@ static void store_two_bytes(sixteen_bits); #line 310 "ctangle.w" static void push_level(name_pointer); -static void pop_level(int); +static void pop_level(boolean); /*:34*//*38:*/ #line 369 "ctangle.w" @@ -537,7 +536,7 @@ const char*first, size_t l, eight_bits t) {(void)t; -if(length(p)!=l)return 0; +if(length(p)!=l)return false; return!strncmp(first,p->byte_start,l); } @@ -587,7 +586,7 @@ cur_section= 0; static void pop_level( -int flag) +boolean flag) { if(flag&&cur_repl->text_linktext_link+text_info; @@ -608,7 +607,7 @@ sixteen_bits a; restart:if(stack_ptr==stack)return; if(cur_byte==cur_end){ cur_val= -((int)cur_section); -pop_level(1); +pop_level(true); if(cur_val==0)goto restart; out_char(section_number);return; } @@ -665,7 +664,7 @@ cur_line++; static void phase_two(void){ -web_file_open= 0; +web_file_open= false; cur_line= 1; /*33:*/ #line 299 "ctangle.w" @@ -750,7 +749,7 @@ cur_byte= cur_text->tok_start; cur_end= (cur_text+1)->tok_start; C_printf("%s","#define "); out_state= normal; -protect= 1; +protect= true; while(cur_byte limit&&(get_line()==0))return(new_section); +while(true){ +if(loc> limit&&(get_line()==false))return(new_section); *(limit+1)= '@'; while(*loc!='@')loc++; if(loc<=limit){ @@ -902,27 +901,27 @@ static boolean skip_comment( boolean is_long_comment) { char c; -while(1){ +while(true){ if(loc> limit){ if(is_long_comment){ -if(get_line())return(comment_continues= 1); +if(get_line())return(comment_continues= true); else{ err_print("! Input ended in mid-comment"); -return(comment_continues= 0); +return(comment_continues= false); } } -else return(comment_continues= 0); +else return(comment_continues= false); } c= *(loc++); if(is_long_comment&&c=='*'&&*loc=='/'){ -loc++;return(comment_continues= 0); +loc++;return(comment_continues= false); } if(c=='@'){ if(ccode[(eight_bits)*loc]==new_section){ err_print("! Section name ended in mid-comment");loc--; -return(comment_continues= 0); +return(comment_continues= false); } else loc++; } @@ -937,12 +936,12 @@ get_next(void) { static int preprocessing= 0; eight_bits c; -while(1){ +while(true){ if(loc> limit){ if(preprocessing&&*(limit-1)!='\\')preprocessing= 0; -if(get_line()==0)return(new_section); +if(get_line()==false)return(new_section); else if(print_where&&!no_where){ -print_where= 0; +print_where= false; /*85:*/ #line 1220 "ctangle.w" @@ -1013,13 +1012,13 @@ if(delim=='L'||delim=='u'||delim=='U'){ if(delim=='u'&&*loc=='8'){*++id_loc= *loc++;} delim= *loc++;*++id_loc= delim; } -while(1){ +while(true){ if(loc>=limit){ if(*(limit-1)!='\\'){ err_print("! String didn't end");loc= limit;break; } -if(get_line()==0){ +if(get_line()==false){ err_print("! Input ended in middle of string");loc= buffer;break; } @@ -1087,8 +1086,8 @@ char*k; #line 1110 "ctangle.w" k= section_text; -while(1){ -if(loc> limit&&get_line()==0){ +while(true){ +if(loc> limit&&get_line()==false){ err_print("! Input ended in section name"); loc= buffer+1;break; @@ -1272,7 +1271,7 @@ app_repl(a_l%0400);} /*:85*/ #line 1200 "ctangle.w" } -while(1)switch(a= get_next()){ +while(true)switch(a= get_next()){ /*86:*/ #line 1233 "ctangle.w" @@ -1322,7 +1321,7 @@ break; case output_defs_code:if(t!=section_name)err_print("! Misplaced @h"); else{ -output_defs_seen= 1; +output_defs_seen= true; a= output_defs_flag; app_repl((a/0400)+0200); app_repl(a%0400); @@ -1448,12 +1447,12 @@ scan_section(void) name_pointer p; text_pointer q; sixteen_bits a; -section_count++;no_where= 1; +section_count++;no_where= true; if(*(loc-1)=='*'&&show_progress){ printf("*%d",section_count);update_terminal; } next_control= 0; -while(1){ +while(true){ /*93:*/ #line 1397 "ctangle.w" @@ -1483,7 +1482,7 @@ if(*loc!='('){ app_repl(string);app_repl(' ');app_repl(string); } scan_repl(macro); -cur_text->text_link= 0; +cur_text->text_link= macro; } /*:94*/ @@ -1510,7 +1509,7 @@ break; } return; } -no_where= print_where= 0; +no_where= print_where= false; /*96:*/ #line 1434 "ctangle.w" @@ -1571,8 +1570,8 @@ static void skip_limbo(void) { char c; -while(1){ -if(loc> limit&&get_line()==0)return; +while(true){ +if(loc> limit&&get_line()==false)return; *(limit+1)= '@'; while(*loc!='@')loc++; if(loc++<=limit){ diff --git a/Build/source/texk/web2c/cwebdir/ctangle.w b/Build/source/texk/web2c/cwebdir/ctangle.w index 5978fc8bf34..64477a5c935 100644 --- a/Build/source/texk/web2c/cwebdir/ctangle.w +++ b/Build/source/texk/web2c/cwebdir/ctangle.w @@ -157,7 +157,7 @@ const char *first, /* position of first character of string */ size_t l, /* length of identifier */ eight_bits t@t\2\2@>) /* not used by \.{TANGLE} */ {@+(void)t; - if (length(p)!=l) return 0; + if (length(p)!=l) return false; return !strncmp(first,p->byte_start,l); } @@ -309,7 +309,7 @@ We assume that the \CEE/ compiler can copy structures. @= static void push_level(name_pointer);@/ -static void pop_level(int);@/ +static void pop_level(boolean);@/ @ @c static void @@ -333,7 +333,7 @@ text or returns the state to the most recently stacked level. @c static void pop_level(@t\1\1@> /* do this when |cur_byte| reaches |cur_end| */ -int flag@t\2\2@>) /* |flag==0| means we are in |output_defs| */ +boolean flag@t\2\2@>) /* |flag==false| means we are in |output_defs| */ { if (flag && cur_repl->text_linktext_link+text_info; /* stay on the same level */ @@ -377,7 +377,7 @@ get_output(void) /* sends next token to |out_char| */ restart: if (stack_ptr==stack) return; if (cur_byte==cur_end) { cur_val=-((int)cur_section); /* cast needed because of sign extension */ - pop_level(1); + pop_level(true); if (cur_val==0) goto restart; out_char(section_number); return; } @@ -442,7 +442,7 @@ strings, verbatim constructions and numerical constants. \yskip\hang |normal| means none of the above. -\yskip\noindent Furthermore, if the variable |protect| is positive, newlines +\yskip\noindent Furthermore, if the variable |protect| is |true|, newlines are preceded by a `\.\\'. @d normal 0 /* non-unusual state */ @@ -520,7 +520,7 @@ static void phase_two(void);@/ @ @c static void phase_two (void) { - web_file_open=0; + web_file_open=false; cur_line=1; @@; @@; @@ -584,7 +584,7 @@ that refer to macros, preceded by the \.{\#define} preprocessor command. output_defs(); @ @= -boolean output_defs_seen=0; +boolean output_defs_seen=false; @ @= static void output_defs(void);@/ @@ -602,7 +602,7 @@ output_defs(void) cur_end=(cur_text+1)->tok_start; C_printf("%s","#define "); out_state=normal; - protect=1; /* newlines should be preceded by |'\\'| */ + protect=true; /* newlines should be preceded by |'\\'| */ while (cur_bytelimit && (get_line()==0)) return(new_section); + while (true) { + if (loc>limit && (get_line()==false)) return(new_section); *(limit+1)='@@'; while (*loc!='@@') loc++; if (loc<=limit) { @@ -832,34 +832,34 @@ If |skip_comment| comes to the end of the section, it prints an error message. No comment, long or short, is allowed to contain `\.{@@\ }' or `\.{@@*}'. @= -boolean comment_continues=0; /* are we scanning a comment? */ +boolean comment_continues=false; /* are we scanning a comment? */ @ @c static boolean skip_comment(@t\1\1@> /* skips over comments */ boolean is_long_comment@t\2\2@>) { char c; /* current character */ - while (1) { + while (true) { if (loc>limit) { if (is_long_comment) { - if(get_line()) return(comment_continues=1); + if(get_line()) return(comment_continues=true); else{ err_print("! Input ended in mid-comment"); @.Input ended in mid-comment@> - return(comment_continues=0); + return(comment_continues=false); } } - else return(comment_continues=0); + else return(comment_continues=false); } c=*(loc++); if (is_long_comment && c=='*' && *loc=='/') { - loc++; return(comment_continues=0); + loc++; return(comment_continues=false); } if (c=='@@') { if (ccode[(eight_bits)*loc]==new_section) { err_print("! Section name ended in mid-comment"); loc--; @.Section name ended in mid-comment@> - return(comment_continues=0); + return(comment_continues=false); } else loc++; } @@ -872,7 +872,7 @@ boolean is_long_comment@t\2\2@>) @= name_pointer cur_section_name; /* name of section just scanned */ -int no_where; /* suppress |print_where|? */ +boolean no_where; /* suppress |print_where|? */ @ As one might expect, |get_next| consists mostly of a big switch that branches to the various special cases that can arise. @@ -891,12 +891,12 @@ get_next(void) /* produces the next input token */ { static int preprocessing=0; eight_bits c; /* the current character */ - while (1) { + while (true) { if (loc>limit) { if (preprocessing && *(limit-1)!='\\') preprocessing=0; - if (get_line()==0) return(new_section); + if (get_line()==false) return(new_section); else if (print_where && !no_where) { - print_where=0; + print_where=false; @@; } else return ('\n'); @@ -1002,13 +1002,13 @@ convention, but do not allow the string to be longer than |longest_name|. if (delim=='u' && *loc=='8') { *++id_loc=*loc++; } delim=*loc++; *++id_loc=delim; } - while (1) { + while (true) { if (loc>=limit) { if(*(limit-1)!='\\') { err_print("! String didn't end"); loc=limit; break; @.String didn't end@> } - if(get_line()==0) { + if(get_line()==false) { err_print("! Input ended in middle of string"); loc=buffer; break; @.Input ended in middle of string@> } @@ -1109,8 +1109,8 @@ character of the name.) @ @= k=section_text; -while (1) { - if (loc>limit && get_line()==0) { +while (true) { + if (loc>limit && get_line()==false) { err_print("! Input ended in section name"); @.Input ended in section name@> loc=buffer+1; break; @@ -1198,7 +1198,7 @@ eight_bits t@t\2\2@>) { sixteen_bits a; /* the current token */ if (t==section_name) {@@;} - while (1) switch (a=get_next()) { + while (true) switch (a=get_next()) { @ else { - output_defs_seen=1; + output_defs_seen=true; a=output_defs_flag; app_repl((a / 0400)+0200); app_repl(a % 0400); @@ -1362,12 +1362,12 @@ scan_section(void) name_pointer p; /* section name for the current section */ text_pointer q; /* text for the current section */ sixteen_bits a; /* token for left-hand side of definition */ - section_count++; @+ no_where=1; + section_count++; @+ no_where=true; if (*(loc-1)=='*' && show_progress) { /* starred section */ printf("*%d",section_count); update_terminal; } next_control=0; - while (1) { + while (true) { @@; if (next_control == definition) { /* \.{@@d} */ @@ -1384,7 +1384,7 @@ scan_section(void) } return; /* \.{@@\ } or \.{@@*} */ } - no_where=print_where=0; + no_where=print_where=false; @@; } @@ -1415,7 +1415,7 @@ while (next_controltext_link=0; /* |text_link==0| characterizes a macro */ + cur_text->text_link=macro; } @ If the section name is not followed by \.{=} or \.{+=}, no \CEE/ @@ -1481,8 +1481,8 @@ static void skip_limbo(void) { char c; - while (1) { - if (loc>limit && get_line()==0) return; + while (true) { + if (loc>limit && get_line()==false) return; *(limit+1)='@@'; while (*loc!='@@') loc++; if (loc++<=limit) { diff --git a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch index 4a20bd73f49..0849495bd85 100644 --- a/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/ctwill-w2c.ch @@ -331,7 +331,7 @@ boolean ms_mode; /* are we outputting to |ministring_buf|? */ @ @= max_temp_meaning_ptr=temp_meaning_stack; title_code_ptr=title_code; -ms_mode=0; +ms_mode=false; @ Here's a routine that converts a program title from the buffer into an internal number for the |prog_no| field of a meaning. @@ -383,7 +383,7 @@ new_meaning( name_pointer p) { struct perm_meaning *q=p-name_dir+cur_meaning; - ms_mode=0; + ms_mode=false; if (q->stamp!=section_count) { if (*(ministring_ptr-1)==' ') ministring_ptr--; if (ministring_ptr>=&ministring_buf[max_tex_chars]) @@ -513,9 +513,9 @@ part of all meanings. @z @x - if (loc>limit && get_line()==0) return; + if (loc>limit && get_line()==false) return; @y - if (loc>limit && get_line()==0) return; + if (loc>limit && get_line()==false) return; if (loc==buffer && strncmp(buffer,"\\def\\title{",11)==0) { loc=buffer+10; title_lookup(); /* this program's title will be code zero */ @@ -569,8 +569,8 @@ skip_TeX(void) case underline: xref_switch=def_flag; continue; @y case underline: xref_switch=def_flag; continue; - case temp_meaning: temp_switch=1-temp_switch; continue; - case right_start: right_start_switch=1; continue; + case temp_meaning: temp_switch=true-temp_switch; continue; + case right_start: right_start_switch=true; continue; @z @x @@ -692,7 +692,7 @@ skip_restricted(void) @z @x - skip_limbo(); change_exists=0; + skip_limbo(); change_exists=false; @y skip_limbo(); @; @@ -712,12 +712,12 @@ skip_restricted(void) @x changed_section[section_count]=changing; - /* it will become 1 if any line changes */ + /* it will become |true| if any line changes */ @y @z @x - if (changed_section[section_count]) change_exists=1; + if (changed_section[section_count]) change_exists=true; @y @z @@ -831,7 +831,7 @@ the section is changed, we output `\.{\\*}' just after the number. @x default: err_print("! Double @@ should be used in limbo"); @y - case right_start: right_start_switch=1; break; + case right_start: right_start_switch=true; break; default: err_print(_("! Double @@ should be used in limbo")); @z @@ -964,7 +964,7 @@ static token_pointer tok_loc; /* where the first identifier appears */ @ \.{CTWILL} needs the following procedure, which appends tokens of a translated text until coming to |tok_loc|, then suppresses text that may appear between parentheses or brackets. The calling routine should set -|ident_seen=0| first. (This is admittedly tricky.) +|ident_seen=false| first. (This is admittedly tricky.) @c boolean ident_seen; static boolean app_supp( @@ -982,15 +982,15 @@ static boolean app_supp( } for (j=*p;j<*(p+1);j++) { if (*j=inner_tok_flag) confusion(_("inner")); else if (app_supp(*j-tok_flag+tok_start)) goto catch14;; } - return 0; -catch14: if (*(*(p+1)-1)=='9') return 1; /* production 14 was used */ - else return 0; + return false; +catch14: if (*(*(p+1)-1)=='9') return true; /* production 14 was used */ + else return false; } @ The trickiest part of \.{CTWILL} is the procedure |make_ministring(l)|, @@ -1016,10 +1016,10 @@ make_ministring( /* now we're ready for the mathness that follows (I think) */ /* (without the mod 4 times 5, comments posed a problem) */ /* (namely in cases like |int a(b,c)| followed by comment) */ - ident_seen=0;@+app_supp((pp+l)->trans); + ident_seen=false;@+app_supp((pp+l)->trans); null_scrap.mathness=10; big_app1(&null_scrap); /* now |cur_mathness==no_math| */ - ms_mode=1; ministring_ptr=ministring_buf; + ms_mode=true; ministring_ptr=ministring_buf; if (l==2) *ministring_ptr++='='; make_output(); /* translate the current text into a ministring */ tok_ptr=*(--text_ptr); /* delete that text */ @@ -1041,8 +1041,8 @@ if (l==0) { app(int_loc+res_flag); app(' '); cur_mathness=no_math; } else { q=(pp+l-1)->trans; ast_count=0; - non_ast_seen=0; - while (1) { + non_ast_seen=false; + while (true) { if (*(q+1)==*q+1) { r=q;@+break; /* e.g. \&{struct}; we're doing production 45 or 46 */ } @@ -1051,7 +1051,7 @@ else { if ((t=*(*(q+1)-2))>=tok_flag && **(t-tok_flag+tok_start)=='*') { /* production 34 */ if (!non_ast_seen) ast_count++; /* count immediately preceding |*|'s */ - } else non_ast_seen=1; + } else non_ast_seen=true; if (*(*q+1)==' ' && *(q+1)==*q+2) break; /* production 27 */ if (*(*q+1)=='{' && *(*q+2)=='}' && *(*q+3)=='$' && *(*q+4)==' '@| && *(q+1)==*q+5) break; /* production 27 in disguise */ @@ -1397,11 +1397,11 @@ reset_input(); if (show_progress) fputs(_("\nWriting the output file..."),stdout @z @x -section_count=0; format_visible=1; copy_limbo(); +section_count=0; format_visible=true; copy_limbo(); @y -temp_switch=0; temp_meaning_ptr=temp_meaning_stack; +temp_switch=false; temp_meaning_ptr=temp_meaning_stack; @; -section_count=0; format_visible=1; right_start_switch=0; copy_limbo(); +section_count=0; format_visible=true; right_start_switch=false; copy_limbo(); @z @x @@ -1439,19 +1439,19 @@ if ((aux_file=fopen(aux_file_name,"wb"))==NULL) @z @x -boolean group_found=0; /* has a starred section occurred? */ +boolean group_found=false; /* has a starred section occurred? */ @ @= { section_count++; @y -boolean group_found=0; /* has a starred section occurred? */ +boolean group_found=false; /* has a starred section occurred? */ boolean right_start_switch; /* has `\.{@@r}' occurred recently? */ boolean temp_switch; /* has `\.{@@\%}' occurred recently? */ @ @d usage_sentinel (struct perm_meaning *)1 @= { section_count++; - temp_switch=0; temp_meaning_ptr=temp_meaning_stack; + temp_switch=false; temp_meaning_ptr=temp_meaning_stack; top_usage=usage_sentinel; @z @@ -1460,7 +1460,7 @@ if (*(loc-1)!='*') out_str("\\M"); @y if (*(loc-1)!='*') { if (right_start_switch) { - out_str("\\shortpage\n"); right_start_switch=0; + out_str("\\shortpage\n"); right_start_switch=false; @.\\shortpage@> } out_str("\\M"); @@ -1472,7 +1472,7 @@ if (*(loc-1)!='*') { @y @.\\N@> if (right_start_switch) { - out_str("N"); right_start_switch=0; + out_str("N"); right_start_switch=false; @.\\NN@> } @z @@ -1481,15 +1481,15 @@ if (*(loc-1)!='*') { out_str("{");out_section(section_count); out_str("}"); @y out_str("{");out_section(section_count); out_str("}"); -flush_buffer(out_ptr,0,0); +flush_buffer(out_ptr,false,false); @z @x case '@@': out('@@'); break; @y case '@@': out('@@'); break; - case temp_meaning: temp_switch=1-temp_switch; break; - case right_start: right_start_switch=1; break; + case temp_meaning: temp_switch=true-temp_switch; break; + case right_start: right_start_switch=true; break; @z @x @@ -1512,14 +1512,14 @@ flush_buffer(out_ptr,0,0); @z @x - outer_parse(); finish_C(format_visible); format_visible=1; - doing_format=0; + outer_parse(); finish_C(format_visible); format_visible=true; + doing_format=false; } @y outer_parse(); if (is_macro) @; - finish_C(format_visible); format_visible=1; - doing_format=0; + finish_C(format_visible); format_visible=true; + doing_format=false; } @ @= @@ -1532,7 +1532,7 @@ name_pointer id_being_defined; /* the definee */ @= { @y @= { - is_macro=1; + is_macro=true; @z @x @@ -1544,12 +1544,12 @@ name_pointer id_being_defined; /* the definee */ @x @.Improper macro definition@> else { - app('$'); app_cur_id(0); + app('$'); app_cur_id(false); @y @.Improper macro definition@> else { id_being_defined=id_lookup(id_first,id_loc,normal); - app('$'); app_cur_id(0); + app('$'); app_cur_id(false); def_diff=*loc-'('; @z @@ -1561,11 +1561,11 @@ name_pointer id_being_defined; /* the definee */ @x @ @= { - doing_format=1; + doing_format=true; @y @ @= { - ms_mode=1; ministring_ptr=ministring_buf; + ms_mode=true; ministring_ptr=ministring_buf; *ministring_ptr++='='; if (def_diff) { /* parameterless */ scrap_pointer s=scrap_ptr; @@ -1581,8 +1581,8 @@ name_pointer id_being_defined; /* the definee */ } @ @= { - doing_format=1; - is_macro=0; + doing_format=true; + is_macro=false; @z @x @@ -1606,14 +1606,14 @@ name_pointer id_being_defined; /* the definee */ @x out_str("\\fi"); finish_line(); @.\\fi@> -flush_buffer(out_buf,0,0); /* insert a blank line, it looks nice */ +flush_buffer(out_buf,false,false); /* insert a blank line, it looks nice */ @y finish_line(); out_str("\\mini"); finish_line(); @.\\mini@> @; out_str("}\\FI"); finish_line(); @.\\FI@> -flush_buffer(out_buf,0,0); /* insert a blank line, it looks nice */ +flush_buffer(out_buf,false,false); /* insert a blank line, it looks nice */ @ The following code is performed for each identifier parsed during a section. Variable |top_usage| is always nonzero; it has the sentinel @@ -1696,7 +1696,7 @@ lowcase: out_str("\\\\"); default: out_str("\\&"); @.\\\&@> } -out_name(cur_name,1); +out_name(cur_name,true); name_done: @z @@ -1813,7 +1813,7 @@ rest of the job. @z @x - case roman: not_an_identifier: out_name(cur_name,0); goto name_done; + case roman: not_an_identifier: out_name(cur_name,false); goto name_done; case custom: {char *j; out_str("$\\"); for (j=cur_name->byte_start;j<(cur_name+1)->byte_start;j++) out(*j=='_'? 'x': *j=='$'? 'X': *j); @@ -1821,15 +1821,15 @@ rest of the job. goto name_done; } @y -not_an_identifier: out_name(cur_name,0); goto name_done; +not_an_identifier: out_name(cur_name,false); goto name_done; case custom: out_str("\\$"); break; @.\\\$@> @z @x -out_name(cur_name,1); +out_name(cur_name,true); @y -if (proofing) out_name(cur_name,1); +if (proofing) out_name(cur_name,true); else { out('{'); {char *j; diff --git a/Build/source/texk/web2c/cwebdir/cweav-bs.ch b/Build/source/texk/web2c/cwebdir/cweav-bs.ch index f34372fd035..f6fa97175f6 100644 --- a/Build/source/texk/web2c/cwebdir/cweav-bs.ch +++ b/Build/source/texk/web2c/cwebdir/cweav-bs.ch @@ -30,7 +30,7 @@ is modified. @x Section 7. -@d chunk_marker 0 + for section names */ @= typedef struct name_info { @@ -47,15 +47,15 @@ typedef name_info *name_pointer; /* pointer into array of \&{name\_info}s */ typedef name_pointer *hash_pointer; extern char byte_mem[]; /* characters of names */ extern char *byte_mem_end; /* end of |byte_mem| */ +extern char *byte_ptr; /* first unused position in |byte_mem| */ extern name_info name_dir[]; /* information about names */ extern name_pointer name_dir_end; /* end of |name_dir| */ extern name_pointer name_ptr; /* first unused position in |name_dir| */ -extern char *byte_ptr; /* first unused position in |byte_mem| */ extern name_pointer hash[]; /* heads of hash lists */ extern hash_pointer hash_end; /* end of |hash| */ extern hash_pointer h; /* index into hash-head array */ @y -@d chunk_marker 0 + for section names */ @f huge extern @@ -131,19 +131,19 @@ xmem->num=0; /* sentinel value */ @x Section 30. (to please Borland's C++, version 4.02) token tok_mem[max_toks]; /* tokens */ token_pointer tok_mem_end = tok_mem+max_toks-1; /* end of |tok_mem| */ -token_pointer tok_start[max_texts]; /* directory into |tok_mem| */ token_pointer tok_ptr; /* first unused position in |tok_mem| */ -text_pointer text_ptr; /* first unused position in |tok_start| */ -text_pointer tok_start_end = tok_start+max_texts-1; /* end of |tok_start| */ token_pointer max_tok_ptr; /* largest value of |tok_ptr| */ +token_pointer tok_start[max_texts]; /* directory into |tok_mem| */ +text_pointer tok_start_end = tok_start+max_texts-1; /* end of |tok_start| */ +text_pointer text_ptr; /* first unused position in |tok_start| */ @y token tok_mem[max_toks]; /* tokens */ token_pointer tok_mem_end; /* end of |tok_mem| */ -token_pointer tok_start[max_texts]; /* directory into |tok_mem| */ token_pointer tok_ptr; /* first unused position in |tok_mem| */ -text_pointer text_ptr; /* first unused position in |tok_start| */ -text_pointer tok_start_end; /* end of |tok_start| */ token_pointer max_tok_ptr; /* largest value of |tok_ptr| */ +token_pointer tok_start[max_texts]; /* directory into |tok_mem| */ +text_pointer tok_start_end; /* end of |tok_start| */ +text_pointer text_ptr; /* first unused position in |tok_start| */ @z @x Section 31. (goes with the previous change) diff --git a/Build/source/texk/web2c/cwebdir/cweave.w b/Build/source/texk/web2c/cwebdir/cweave.w index 522e42be61d..ab30d6c69b0 100644 --- a/Build/source/texk/web2c/cwebdir/cweave.w +++ b/Build/source/texk/web2c/cwebdir/cweave.w @@ -355,8 +355,8 @@ const char *first, /* position of first character of string */ size_t l, /* length of identifier */ eight_bits t@t\2\2@>) /* desired |ilk| */ { - if (length(p)!=l) return 0; - if (p->ilk!=t && !(t==normal && abnormal(p))) return 0; + if (length(p)!=l) return false; + if (p->ilk!=t && !(t==normal && abnormal(p))) return false; return !strncmp(first,p->byte_start,l); } @@ -594,8 +594,8 @@ static eight_bits skip_TeX(void);@/ @ @c static void skip_limbo(void) { - while(1) { - if (loc>limit && get_line()==0) return; + while(true) { + if (loc>limit && get_line()==false) return; *(limit+1)='@@'; while (*loc!='@@') loc++; /* look for '@@', then skip two chars */ if (loc++ <=limit) { int c=ccode[(eight_bits)*loc++]; @@ -617,8 +617,8 @@ assumed to exist at the very end of the file. static eight_bits skip_TeX(void) /* skip past pure \TEX/ code */ { - while (1) { - if (loc>limit && get_line()==0) return(new_section); + while (true) { + if (loc>limit && get_line()==false) return(new_section); *(limit+1)='@@'; while (*loc!='@@' && *loc!='|') loc++; if (*loc++ =='|') return('|'); @@ -688,15 +688,15 @@ static eight_bits get_next(void) /* produces the next input token */ { eight_bits c; /* the current character */ - while (1) { + while (true) { @@; - if (loc>limit && get_line()==0) return(new_section); + if (loc>limit && get_line()==false) return(new_section); c=*(loc++); if (xisdigit(c) || c=='.') @@; else if (c=='\'' || c=='"'@| || ((c=='L' || c=='u' || c=='U')&&(*loc=='\'' || *loc=='"'))@| || ((c=='u' && *loc=='8')&&(*(loc+1)=='\'' || *(loc+1)=='"'))@| - || (c=='<' && sharp_include_line==1)) + || (c=='<' && sharp_include_line==true)) @@; else if (xisalpha(c) || isxalpha(c) || ishigh(c)) @@; @@ -722,10 +722,10 @@ for |ord|, since |get_next| changes |ord| into a string. @d right_preproc 0217 /* ends a preprocessor command */ @= -boolean preprocessing=0; /* are we scanning a preprocessor command? */ +boolean preprocessing=false; /* are we scanning a preprocessor command? */ @ @= { - preprocessing=1; + preprocessing=true; @@; return (left_preproc); } @@ -735,11 +735,11 @@ a file name in lines that start with \.{\#include}. We must treat this file name as a string. @= -boolean sharp_include_line=0; /* are we scanning a |#include| line? */ +boolean sharp_include_line=false; /* are we scanning a |#include| line? */ @ @= while (loc<=buffer_end-7 && xisspace(*loc)) loc++; -if (loc<=buffer_end-6 && strncmp(loc,"include",7)==0) sharp_include_line=1; +if (loc<=buffer_end-6 && strncmp(loc,"include",7)==0) sharp_include_line=true; @ When we get to the end of a preprocessor line, we lower the flag and send a code |right_preproc|, unless @@ -747,9 +747,9 @@ the last character was a \.\\. @= while (loc==limit-1 && preprocessing && *loc=='\\') - if (get_line()==0) return(new_section); /* still in preprocessor mode */ + if (get_line()==false) return(new_section); /* still in preprocessor mode */ if (loc>=limit && preprocessing) { - preprocessing=sharp_include_line=0; + preprocessing=sharp_include_line=false; return(right_preproc); } @@ -845,13 +845,13 @@ convention, but do not allow the string to be longer than |longest_name|. delim=*loc++; *++id_loc=delim; } if (delim=='<') delim='>'; /* for file names in |#include| lines */ - while (1) { + while (true) { if (loc>=limit) { if(*(limit-1)!='\\') { err_print("! String didn't end"); loc=limit; break; @.String didn't end@> } - if(get_line()==0) { + if(get_line()==false) { err_print("! Input ended in middle of string"); loc=buffer; break; @.Input ended in middle of string@> } @@ -919,8 +919,8 @@ character of the name.) @ @= k=section_text; -while (1) { - if (loc>limit && get_line()==0) { +while (true) { + if (loc>limit && get_line()==false) { err_print("! Input ended in section name"); @.Input ended in section name@> loc=buffer+1; break; @@ -1020,7 +1020,7 @@ static void phase_one(void);@/ static void phase_one(void) { phase=1; reset_input(); section_count=0; - skip_limbo(); change_exists=0; + skip_limbo(); change_exists=false; while (!input_has_ended) @@; changed_section[section_count]=change_exists; @@ -1033,7 +1033,7 @@ phase_one(void) { { if (++section_count==max_sections) overflow("section number"); changed_section[section_count]=changing; - /* it will become 1 if any line changes */ + /* it will become |true| if any line changes */ if (*(loc-1)=='*' && show_progress) { printf("*%d",section_count); update_terminal; /* print a progress report */ @@ -1041,7 +1041,7 @@ phase_one(void) { @@; @@; @@; - if (changed_section[section_count]) change_exists=1; + if (changed_section[section_count]) change_exists=true; } @ The |C_xref| subroutine stores references to identifiers in @@ -1119,7 +1119,7 @@ enclosed in \.{@@\^}$\,\ldots\,$\.{@@>} or \.{@@.}$\,\ldots\,$\.{@@>} or \.{@@:}$\,\ldots\,$\.{@@>}. @= -while (1) { +while (true) { switch (next_control=skip_TeX()) { case translit_code: err_print("! Use @@l in limbo only"); continue; @.Use @@l in limbo...@> @@ -1264,8 +1264,8 @@ name_pointer p) /* print anomalies in subtree |p| */ if (p) { section_check(p->llink); cur_xref=(xref_pointer)p->xref; - if (cur_xref->num==file_flag) {an_output=1; cur_xref=cur_xref->xlink;} - else an_output=0; + if (cur_xref->num==file_flag) {an_output=true; cur_xref=cur_xref->xlink;} + else an_output=false; if (cur_xref->num '); mark_harmless; @@ -1297,9 +1297,9 @@ int out_line; /* number of next line to be output */ @ The |flush_buffer| routine empties the buffer up to a given breakpoint, and moves any remaining characters to the beginning of the next line. -If the |per_cent| parameter is 1, a |'%'| is appended to the line +If the |per_cent| parameter is |true|, a |'%'| is appended to the line that is being output; in this case the breakpoint |b| should be strictly -less than |out_buf_end|. If the |per_cent| parameter is |0|, +less than |out_buf_end|. If the |per_cent| parameter is |false|, trailing blanks are suppressed. The characters emptied from the buffer form a new line of output; if the |carryover| parameter is true, a |"%"| in that line will be @@ -1350,11 +1350,11 @@ static void finish_line(void) /* do this at the end of a line */ { char *k; /* pointer into |buffer| */ - if (out_ptr>out_buf) flush_buffer(out_ptr,0,0); + if (out_ptr>out_buf) flush_buffer(out_ptr,false,false); else { for (k=buffer; k<=limit; k++) if (!(xisspace(*k))) return; - flush_buffer(out_buf,0,0); + flush_buffer(out_buf,false,false); } } @@ -1405,13 +1405,13 @@ static void break_out(void) /* finds a way to break the output line */ { char *k=out_ptr; /* pointer into |out_buf| */ - while (1) { + while (true) { if (k==out_buf) @@; if (*k==' ') { - flush_buffer(k,0,1); return; + flush_buffer(k,false,true); return; } if (*(k--)=='\\' && *k!='\\') { /* we've decreased |k| */ - flush_buffer(k,1,1); return; + flush_buffer(k,true,true); return; } } } @@ -1427,7 +1427,7 @@ line by putting a |'%'| just before the last character. @.Line had to be broken@> term_write(out_buf+1, out_ptr-out_buf-1); new_line; mark_harmless; - flush_buffer(out_ptr-1,1,1); return; + flush_buffer(out_ptr-1,true,true); return; } @ Here is a macro that outputs a section number in decimal notation. @@ -1491,8 +1491,8 @@ static void copy_limbo(void) { char c; - while (1) { - if (loc>limit && (finish_line(), get_line()==0)) return; + while (true) { + if (loc>limit && (finish_line(), get_line()==false)) return; *(limit+1)='@@'; while (*loc!='@@') out(*(loc++)); if (loc++<=limit) { @@ -1526,8 +1526,8 @@ static eight_bits copy_TeX(void) { char c; /* current character being copied */ - while (1) { - if (loc>limit && (finish_line(), get_line()==0)) return(new_section); + while (true) { + if (loc>limit && (finish_line(), get_line()==false)) return(new_section); *(limit+1)='@@'; while ((c=*(loc++))!='|' && c!='@@') { out(c); @@ -1556,10 +1556,10 @@ boolean is_long_comment, /* is this a traditional \CEE/ comment? */ int bal@t\2\2@>) /* brace balance */ { char c; /* current character being copied */ - while (1) { + while (true) { if (loc>limit) { if (is_long_comment) { - if (get_line()==0) { + if (get_line()==false) { err_print("! Input ended in mid-comment"); @.Input ended in mid-comment@> loc=buffer+1; goto done; @@ -1615,7 +1615,7 @@ enough right braces to keep \TEX/ happy. @= if (phase==2) while (bal-- >0) app_tok('}'); -return(0); +return(false); @** Parsing. The most intricate part of \.{CWEAVE} is its mechanism for converting @@ -2106,7 +2106,7 @@ typedef scrap *scrap_pointer; @= scrap scrap_info[max_scraps]; /* memory array for scraps */ -scrap_pointer scrap_info_end=scrap_info+max_scraps -1; /* end of |scrap_info| */ +scrap_pointer scrap_info_end=scrap_info+max_scraps-1; /* end of |scrap_info| */ scrap_pointer scrap_base; /* beginning of the current scrap sequence */ scrap_pointer scrap_ptr; /* ending of the current scrap sequence */ scrap_pointer max_scr_ptr; /* largest value assumed by |scrap_ptr| */ @@ -3082,7 +3082,7 @@ than to squeeze the last bit of space from the memory arrays. @d safe_scrap_incr 10 @= -while (1) { +while (true) { @@; if (tok_ptr+safe_tok_incr>tok_mem_end) { if (tok_ptr>max_tok_ptr) max_tok_ptr=tok_ptr; @@ -3249,7 +3249,7 @@ switch (next_control) { app_scrap(exp,yes_math);@+break; case string: case constant: case verbatim: @@;@+break; - case identifier: app_cur_id(1);@+break; + case identifier: app_cur_id(true);@+break; case TeX_string: @@;@+break; case '/': case '.': @@ -3447,7 +3447,7 @@ while (id_first'}'); @ The function |app_cur_id| appends the current identifier to the -token list; it also builds a new scrap if |scrapping==1|. +token list; it also builds a new scrap if |scrapping==true|. @= static void app_cur_id(boolean);@/ @@ -3746,7 +3746,7 @@ make_output(void) /* outputs the equivalents of tokens */ boolean save_mode; /* value of |cur_mode| before a sequence of breaks */ app(end_translation); /* append a sentinel */ freeze_text; push_level(text_ptr-1); - while (1) { + while (true) { a=get_output(); reswitch: switch(a) { case end_translation: return; @@ -3756,7 +3756,7 @@ make_output(void) /* outputs the equivalents of tokens */ @.\\MRL@> case noop: case inserted: break; case cancel: case big_cancel: c=0; b=a; - while (1) { + while (true) { a=get_output(); if (a==inserted) continue; if ((abig_force) break; @@ -3809,7 +3809,7 @@ if (is_tiny(cur_name)) { out('\\'); out((cur_name->byte_start)[0]); } -else out_name(cur_name,1); +else out_name(cur_name,true); @ The current mode does not affect the behavior of \.{CWEAVE}'s output routine except when we are outputting control tokens. @@ -3825,7 +3825,7 @@ if (a if (a==opt) { b=get_output(); /* |opt| is followed by a digit */ - if (b!='0' || force_lines==0) out(b)@; + if (b!='0' || force_lines==false) out(b)@; else out_str("{-1}"); /* |force_lines| encourages more \.{@@\v} breaks */ } } else if (a==opt) b=get_output(); /* ignore digit following |opt| */ @@ -3840,7 +3840,7 @@ is suppressed (i.e., a line break that follows `\.{\\Y\\B}'). @= { b=a; save_mode=cur_mode; c=0; - while (1) { + while (true) { a=get_output(); if (a==inserted) continue; if (a==cancel || a==big_cancel) { @@ -3885,8 +3885,8 @@ input buffer and the translation process uses the end of the active out_str("\\X"); @.\\X@> cur_xref=(xref_pointer)cur_name->xref; - if (cur_xref->num==file_flag) {an_output=1; cur_xref=cur_xref->xlink;} - else an_output=0; + if (cur_xref->num==file_flag) {an_output=true; cur_xref=cur_xref->xlink;} + else an_output=false; if (cur_xref->num>=def_flag) { out_section(cur_xref->num-def_flag); if (phase==3) { @@ -3957,7 +3957,7 @@ equals the delimiter that began the string being copied. @= j=limit+1; *j='|'; delim=0; -while (1) { +while (true) { if (k>=k_limit) { fputs("\n! C text in section name didn't end: <",stdout); @.C text...didn't end@> @@ -3998,8 +3998,8 @@ static void phase_two(void) { reset_input(); if (show_progress) fputs("\nWriting the output file...",stdout); @.Writing the output file...@> -section_count=0; format_visible=1; copy_limbo(); -finish_line(); flush_buffer(out_buf,0,0); /* insert a blank line, it looks nice */ +section_count=0; format_visible=true; copy_limbo(); +finish_line(); flush_buffer(out_buf,false,false); /* insert a blank line, it looks nice */ while (!input_has_ended) @@; } @@ -4014,7 +4014,7 @@ and `|emit_space_if_needed|' are able to handle the situation: @d save_position save_line=out_line; save_place=out_ptr @d emit_space_if_needed if (save_line!=out_line || save_place!=out_ptr) out_str("\\Y"); - space_checked=1 + space_checked=true; @.\\Y@> @= @@ -4023,8 +4023,8 @@ char *save_place; /* former value of |out_ptr| */ int sec_depth; /* the integer, if any, following \.{@@*} */ boolean space_checked; /* have we done |emit_space_if_needed|? */ boolean format_visible; /* should the next format declaration be output? */ -boolean doing_format=0; /* are we outputting a format declaration? */ -boolean group_found=0; /* has a starred section occurred? */ +boolean doing_format=false; /* are we outputting a format declaration? */ +boolean group_found=false; /* has a starred section occurred? */ @ @= { section_count++; @@ -4058,7 +4058,7 @@ else { sec_depth = sec_depth*10 + (*loc) -'0'; } while (*loc == ' ') loc++; /* remove spaces before group title */ - group_found=1; + group_found=true; out_str("\\N"); @.\\N@> {@+ char s[32];@+sprintf(s,"{%d}",sec_depth+1);@+out_str(s);@+} @@ -4094,13 +4094,13 @@ index entries are not copied and \CEE/ text within \pb\ is translated. the token memory is in its initial empty state. @= -space_checked=0; +space_checked=false; while (next_control<=definition) { /* |format_code| or |definition| */ init_stack; if (next_control==definition) @@; else @@; - outer_parse(); finish_C(format_visible); format_visible=1; - doing_format=0; + outer_parse(); finish_C(format_visible); format_visible=true; + doing_format=false; } @ The |finish_C| procedure outputs the translation of the current @@ -4162,11 +4162,11 @@ it starts after we scan the matching `\.)'. err_print("! Improper macro definition"); @.Improper macro definition@> else { - app('$'); app_cur_id(0); + app('$'); app_cur_id(false); if (*loc=='(') reswitch: switch (next_control=get_next()) { case '(': case ',': app(next_control); goto reswitch; - case identifier: app_cur_id(0); goto reswitch; + case identifier: app_cur_id(false); goto reswitch; case ')': app(next_control); next_control=get_next(); break; default: err_print("! Improper macro definition"); break; } @@ -4177,8 +4177,8 @@ it starts after we scan the matching `\.)'. } @ @= { - doing_format=1; - if(*(loc-1)=='s' || *(loc-1)=='S') format_visible=0; + doing_format=true; + if(*(loc-1)=='s' || *(loc-1)=='S') format_visible=false; if(!space_checked){emit_space_if_needed;save_position;} app_str("\\F"); /* this will produce `\&{format }' */ @.\\F@> @@ -4219,7 +4219,7 @@ if (next_control<=section_name) { outer_parse(); @@; } - finish_C(1); + finish_C(true); } @ The title of the section and an $\E$ or $\mathrel+\E$ are made @@ -4267,8 +4267,8 @@ after the section ends. @= if (this_section>name_dir) { cur_xref=(xref_pointer)this_section->xref; - if (cur_xref->num==file_flag){an_output=1;cur_xref=cur_xref->xlink;} - else an_output=0; + if (cur_xref->num==file_flag){an_output=true;cur_xref=cur_xref->xlink;} + else an_output=false; if (cur_xref->num>def_flag) cur_xref=cur_xref->xlink; /* bypass current section number */ footnote(def_flag); footnote(cite_flag); footnote(0); @@ -4311,7 +4311,7 @@ to the first cross-reference, and the last link is a zero. @= q=cur_xref; if (q->xlink->num>flag) out('s'); /* plural */ -while (1) { +while (true) { out_section(cur_xref->num-flag); cur_xref=cur_xref->xlink; /* point to the next cross-reference to output */ if (cur_xref->num<=flag) break; @@ -4325,7 +4325,7 @@ while (1) { @ @= out_str("\\fi"); finish_line(); @.\\fi@> -flush_buffer(out_buf,0,0); /* insert a blank line, it looks nice */ +flush_buffer(out_buf,false,false); /* insert a blank line, it looks nice */ @** Phase three processing. We are nearly finished! \.{CWEAVE}'s only remaining task is to write out the @@ -4605,7 +4605,7 @@ lowcase: out_str("\\\\"); @.\\9@> case typewriter: out_str("\\."); @.\\.@> - case roman: not_an_identifier: out_name(cur_name,0); goto name_done; + case roman: not_an_identifier: out_name(cur_name,false); goto name_done; case custom: {char *j; out_str("$\\"); for (j=cur_name->byte_start;j<(cur_name+1)->byte_start;j++) out(*j=='_'? 'x': *j=='$'? 'X': *j); @@ -4615,7 +4615,7 @@ lowcase: out_str("\\\\"); default: out_str("\\&"); @.\\\&@> } -out_name(cur_name,1); +out_name(cur_name,true); name_done:@; @ Section numbers that are to be underlined are enclosed in -- cgit v1.2.3