summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/ctangleboot.cin
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/ctangleboot.cin')
-rw-r--r--Build/source/texk/web2c/ctangleboot.cin117
1 files changed, 51 insertions, 66 deletions
diff --git a/Build/source/texk/web2c/ctangleboot.cin b/Build/source/texk/web2c/ctangleboot.cin
index 45e0de89ab6..83b438ce35f 100644
--- a/Build/source/texk/web2c/ctangleboot.cin
+++ b/Build/source/texk/web2c/ctangleboot.cin
@@ -15,16 +15,15 @@
#ifndef HAVE_GETTEXT
#define HAVE_GETTEXT 0
#endif
-#line 65 "cwebdir/comm-w2c.h"
-
+#line 66 "cwebdir/comm-w2c.h"
#if HAVE_GETTEXT
#include <libintl.h>
#else
+#line 70 "cwebdir/comm-w2c.h"
#define gettext(a) a
#endif
-#line 71 "cwebdir/comm-w2c.h"
-
+#line 72 "cwebdir/comm-w2c.h"
/*:4*/
#line 67 "cwebdir/ctangle.w"
@@ -463,15 +462,15 @@ static eight_bits get_next(void);
static void scan_repl(eight_bits);
/*:84*//*91:*/
-#line 1408 "cwebdir/ctangle.w"
+#line 1413 "cwebdir/ctangle.w"
static void scan_section(void);
/*:91*//*99:*/
-#line 1485 "cwebdir/ctangle.w"
+#line 1490 "cwebdir/ctangle.w"
static void phase_one(void);
/*:99*//*101:*/
-#line 1518 "cwebdir/ctangle.w"
+#line 1523 "cwebdir/ctangle.w"
static void skip_limbo(void);
/*:101*/
@@ -1600,33 +1599,19 @@ while(true)switch(a= get_next()){
#line 1244 "cwebdir/ctangle.w"
case identifier:store_id(a);
-if(*buffer=='#'&&id_first==buffer+1&&id_loc-id_first==5
-&&strncmp("endif",id_first,5)==0)
-/*85:*/
-#line 1229 "cwebdir/ctangle.w"
-
-{
-eight_bits a;
-store_two_bytes(0150000);
-if(changing&&include_depth==change_depth){
-id_first= change_file_name;
-store_two_bytes((sixteen_bits)change_line);
-}else{
-id_first= cur_file_name;
-store_two_bytes((sixteen_bits)cur_line);
-}
-id_loc= id_first+strlen(id_first);
-store_id(a);
-}
-
-/*:85*/
-#line 1248 "cwebdir/ctangle.w"
-
+if(*buffer=='#'&&(
+(id_first==buffer+1&&id_loc-id_first==5
+&&strncmp("endif",id_first,5)==0)||
+(id_first==buffer+1&&id_loc-id_first==4
+&&strncmp("else",id_first,4)==0)||
+(id_first==buffer+1&&id_loc-id_first==4
+&&strncmp("elif",id_first,4)==0)))
+print_where= true;
break;
case section_name:if(t!=section_name)goto done;
else{
/*87:*/
-#line 1282 "cwebdir/ctangle.w"
+#line 1287 "cwebdir/ctangle.w"
{
char*try_loc= loc;
while(*try_loc==' '&&try_loc<limit)try_loc++;
@@ -1634,14 +1619,14 @@ if(*try_loc=='+'&&try_loc<limit)try_loc++;
while(*try_loc==' '&&try_loc<limit)try_loc++;
#line 294 "cwebdir/ctang-w2c.ch"
if(*try_loc=='=')err_print(_("! Missing `@ ' before a named section"));
-#line 1288 "cwebdir/ctangle.w"
+#line 1293 "cwebdir/ctangle.w"
}
/*:87*/
-#line 1252 "cwebdir/ctangle.w"
+#line 1257 "cwebdir/ctangle.w"
a= cur_section_name-name_dir;
app_repl((a/0400)+0250);
@@ -1664,13 +1649,13 @@ store_id(a);
}
/*:85*/
-#line 1256 "cwebdir/ctangle.w"
+#line 1261 "cwebdir/ctangle.w"
}
break;
#line 282 "cwebdir/ctang-w2c.ch"
case output_defs_code:if(t!=section_name)err_print(_("! Misplaced @h"));
-#line 1260 "cwebdir/ctangle.w"
+#line 1265 "cwebdir/ctangle.w"
else{
output_defs_seen= true;
@@ -1695,13 +1680,13 @@ store_id(a);
}
/*:85*/
-#line 1266 "cwebdir/ctangle.w"
+#line 1271 "cwebdir/ctangle.w"
}
break;
case constant:case string:
/*88:*/
-#line 1299 "cwebdir/ctangle.w"
+#line 1304 "cwebdir/ctangle.w"
app_repl(a);
while(id_first<id_loc){
@@ -1709,7 +1694,7 @@ if(*id_first=='@'){
if(*(id_first+1)=='@')id_first++;
#line 300 "cwebdir/ctang-w2c.ch"
else err_print(_("! Double @ should be used in string"));
-#line 1305 "cwebdir/ctangle.w"
+#line 1310 "cwebdir/ctangle.w"
}
else if(a==constant&&*id_first=='\''&&!keep_digit_separators)
@@ -1719,12 +1704,12 @@ app_repl(*id_first++);
app_repl(a);
/*:88*/
-#line 1270 "cwebdir/ctangle.w"
+#line 1275 "cwebdir/ctangle.w"
break;
case ord:
/*89:*/
-#line 1317 "cwebdir/ctangle.w"
+#line 1322 "cwebdir/ctangle.w"
{
int c= (int)((eight_bits)*id_first);
if(c=='\\'){
@@ -1763,7 +1748,7 @@ case'\'':c= '\'';break;
case'\"':c= '\"';break;
#line 306 "cwebdir/ctang-w2c.ch"
default:err_print(_("! Unrecognized escape sequence"));
-#line 1354 "cwebdir/ctangle.w"
+#line 1359 "cwebdir/ctangle.w"
}
}
@@ -1776,14 +1761,14 @@ app_repl(constant);
}
/*:89*/
-#line 1273 "cwebdir/ctangle.w"
+#line 1278 "cwebdir/ctangle.w"
break;
case definition:case format_code:case begin_C:if(t!=section_name)goto done;
else{
#line 288 "cwebdir/ctang-w2c.ch"
err_print(_("! @d, @f and @c are ignored in C text"));continue;
-#line 1278 "cwebdir/ctangle.w"
+#line 1283 "cwebdir/ctangle.w"
}
case new_section:goto done;
@@ -1804,7 +1789,7 @@ cur_text= text_ptr;(++text_ptr)->tok_start= tok_ptr;
}
/*:83*//*90:*/
-#line 1375 "cwebdir/ctangle.w"
+#line 1380 "cwebdir/ctangle.w"
static void
scan_section(void)
@@ -1819,7 +1804,7 @@ printf("*%d",(int)section_count);update_terminal;
next_control= ignore;
while(true){
/*92:*/
-#line 1416 "cwebdir/ctangle.w"
+#line 1421 "cwebdir/ctangle.w"
while(next_control<definition)
@@ -1828,17 +1813,17 @@ loc-= 2;next_control= get_next();
}
/*:92*/
-#line 1389 "cwebdir/ctangle.w"
+#line 1394 "cwebdir/ctangle.w"
if(next_control==definition){
/*93:*/
-#line 1423 "cwebdir/ctangle.w"
+#line 1428 "cwebdir/ctangle.w"
while((next_control= get_next())=='\n');
if(next_control!=identifier){
#line 312 "cwebdir/ctang-w2c.ch"
err_print(_("! Definition flushed, must start with identifier"));
-#line 1427 "cwebdir/ctangle.w"
+#line 1432 "cwebdir/ctangle.w"
continue;
}
@@ -1850,7 +1835,7 @@ scan_repl(macro);
cur_text->text_link= macro;
/*:93*/
-#line 1391 "cwebdir/ctangle.w"
+#line 1396 "cwebdir/ctangle.w"
continue;
}
@@ -1860,14 +1845,14 @@ p= name_dir;break;
if(next_control==section_name){
p= cur_section_name;
/*94:*/
-#line 1445 "cwebdir/ctangle.w"
+#line 1450 "cwebdir/ctangle.w"
while((next_control= get_next())=='+');
if(next_control!='='&&next_control!=eq_eq)
continue;
/*:94*/
-#line 1399 "cwebdir/ctangle.w"
+#line 1404 "cwebdir/ctangle.w"
break;
}
@@ -1875,20 +1860,20 @@ return;
}
no_where= print_where= false;
/*95:*/
-#line 1450 "cwebdir/ctangle.w"
+#line 1455 "cwebdir/ctangle.w"
/*96:*/
-#line 1455 "cwebdir/ctangle.w"
+#line 1460 "cwebdir/ctangle.w"
store_two_bytes((sixteen_bits)(0150000+section_count));
/*:96*/
-#line 1451 "cwebdir/ctangle.w"
+#line 1456 "cwebdir/ctangle.w"
scan_repl(section_name);
/*97:*/
-#line 1459 "cwebdir/ctangle.w"
+#line 1464 "cwebdir/ctangle.w"
if(p==name_dir||p==NULL){
last_unnamed->text_link= cur_text-text_info;last_unnamed= cur_text;
@@ -1905,16 +1890,16 @@ cur_text->text_link= section_flag;
/*:97*/
-#line 1453 "cwebdir/ctangle.w"
+#line 1458 "cwebdir/ctangle.w"
/*:95*/
-#line 1405 "cwebdir/ctangle.w"
+#line 1410 "cwebdir/ctangle.w"
}
/*:90*//*98:*/
-#line 1474 "cwebdir/ctangle.w"
+#line 1479 "cwebdir/ctangle.w"
static void
phase_one(void){
@@ -1927,7 +1912,7 @@ check_complete();
}
/*:98*//*100:*/
-#line 1490 "cwebdir/ctangle.w"
+#line 1495 "cwebdir/ctangle.w"
static void
skip_limbo(void)
@@ -1941,7 +1926,7 @@ char c= *loc++;
switch(ccode[(eight_bits)c]){
case new_section:return;
case translit_code:/*102:*/
-#line 1520 "cwebdir/ctangle.w"
+#line 1525 "cwebdir/ctangle.w"
while(xisspace(*loc)&&loc<limit)loc++;
loc+= 3;
@@ -1949,7 +1934,7 @@ if(loc> limit||!xisxdigit(*(loc-3))||!xisxdigit(*(loc-2))
||(*(loc-3)>='0'&&*(loc-3)<='7')||!xisspace(*(loc-1)))
#line 330 "cwebdir/ctang-w2c.ch"
err_print(_("! Improper hex number following @l"));
-#line 1526 "cwebdir/ctangle.w"
+#line 1531 "cwebdir/ctangle.w"
else{
unsigned int i;
@@ -1961,7 +1946,7 @@ while(loc<limit&&(xisalpha(*loc)||xisdigit(*loc)||*loc=='_'))loc++;
if(loc-beg>=translit_length)
#line 336 "cwebdir/ctang-w2c.ch"
err_print(_("! Replacement string in @l too long"));
-#line 1536 "cwebdir/ctangle.w"
+#line 1541 "cwebdir/ctangle.w"
else{
strncpy(translit[i-0200],beg,(size_t)(loc-beg));
@@ -1970,7 +1955,7 @@ translit[i-0200][loc-beg]= '\0';
}
/*:102*/
-#line 1502 "cwebdir/ctangle.w"
+#line 1507 "cwebdir/ctangle.w"
break;
case format_code:case'@':break;
case control_text:if(c=='q'||c=='Q'){
@@ -1978,13 +1963,13 @@ while((c= (char)skip_ahead())=='@');
if(*(loc-1)!='>')
#line 318 "cwebdir/ctang-w2c.ch"
err_print(_("! Double @ should be used in control text"));
-#line 1508 "cwebdir/ctangle.w"
+#line 1513 "cwebdir/ctangle.w"
break;
}
#line 324 "cwebdir/ctang-w2c.ch"
default:err_print(_("! Double @ should be used in limbo"));
-#line 1512 "cwebdir/ctangle.w"
+#line 1517 "cwebdir/ctangle.w"
}
}
@@ -1992,7 +1977,7 @@ default:err_print(_("! Double @ should be used in limbo"));
}
/*:100*//*103:*/
-#line 1546 "cwebdir/ctangle.w"
+#line 1551 "cwebdir/ctangle.w"
void
print_stats(void){
@@ -2005,7 +1990,7 @@ printf(_("%td replacement texts (out of %ld)\n"),
printf(_("%td bytes (out of %ld)\n"),
(ptrdiff_t)(byte_ptr-byte_mem),(long)max_bytes);
printf(_("%td tokens (out of %ld)\n"),
-#line 1557 "cwebdir/ctangle.w"
+#line 1562 "cwebdir/ctangle.w"
(ptrdiff_t)(tok_ptr-tok_mem),(long)max_toks);
}