From 6ad9715480515bdfcbb1d39f2621d1e8b0de4339 Mon Sep 17 00:00:00 2001 From: Graham Nelson Date: Thu, 16 Jun 2022 23:43:15 +0100 Subject: [PATCH] Refactored HTML generation functions to use CSS classes rather than explicit colours --- README.md | 2 +- Tangled/inweb.c | 2780 ++++++++++++++-------------- build.txt | 4 +- docs/foundation-module/4-sm.html | 2 +- docs/foundation-module/5-htm.html | 52 +- docs/goldbach/goldbach.pdf | Bin 251998 -> 251998 bytes foundation-module/Chapter 5/HTML.w | 52 +- 7 files changed, 1453 insertions(+), 1439 deletions(-) diff --git a/README.md b/README.md index 06b4987..5951ebf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Inweb 7.1.0 -v7.1.0-beta+1B10 'Escape to Danger' (13 June 2022) +v7.1.0-beta+1B11 'Escape to Danger' (16 June 2022) ## About Inweb diff --git a/Tangled/inweb.c b/Tangled/inweb.c index 54db75c..d9420f1 100644 --- a/Tangled/inweb.c +++ b/Tangled/inweb.c @@ -1493,7 +1493,7 @@ typedef struct HTML_tag { int from_line; CLASS_DEFINITION } HTML_tag; -#line 721 "inweb/foundation-module/Chapter 5/HTML.w" +#line 723 "inweb/foundation-module/Chapter 5/HTML.w" typedef struct colour_translation { wchar_t *chip_name; wchar_t *html_colour; @@ -3807,62 +3807,62 @@ void HTML__begin_plain_html_table(OUTPUT_STREAM) ; #line 524 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__begin_wide_html_table(OUTPUT_STREAM) ; #line 531 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__begin_html_table(OUTPUT_STREAM, char *colour, int full_width, int border, int cellspacing, int cellpadding, int height, int width) ; -#line 548 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__begin_html_table_bg(OUTPUT_STREAM, char *colour, int full_width, int border, int cellspacing, int cellpadding, int height, int width, char *bg) ; -#line 561 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__begin_html_table(OUTPUT_STREAM, text_stream *classname, int full_width, int border, int cellspacing, int cellpadding, int height, int width) ; +#line 543 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__begin_html_table_bg(OUTPUT_STREAM, text_stream *classname, int full_width, int border, int cellspacing, int cellpadding, int height, int width, text_stream *bg) ; +#line 556 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__first_html_column(OUTPUT_STREAM, int width) ; -#line 566 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__first_html_column_nowrap(OUTPUT_STREAM, int width, char *colour) ; -#line 574 "inweb/foundation-module/Chapter 5/HTML.w" +#line 561 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__first_html_column_nowrap(OUTPUT_STREAM, int width, text_stream *classname) ; +#line 572 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__first_html_column_spaced(OUTPUT_STREAM, int width) ; -#line 582 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__first_html_column_coloured(OUTPUT_STREAM, int width, char *colour, int cs) ; -#line 591 "inweb/foundation-module/Chapter 5/HTML.w" +#line 580 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__first_html_column_coloured(OUTPUT_STREAM, int width, text_stream *classname, int cs) ; +#line 593 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column(OUTPUT_STREAM, int width) ; -#line 597 "inweb/foundation-module/Chapter 5/HTML.w" +#line 599 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_centred(OUTPUT_STREAM, int width) ; -#line 603 "inweb/foundation-module/Chapter 5/HTML.w" +#line 605 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_spanning(OUTPUT_STREAM, int width, int sp) ; -#line 609 "inweb/foundation-module/Chapter 5/HTML.w" +#line 611 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_nowrap(OUTPUT_STREAM, int width) ; -#line 615 "inweb/foundation-module/Chapter 5/HTML.w" +#line 617 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_spaced(OUTPUT_STREAM, int width) ; -#line 621 "inweb/foundation-module/Chapter 5/HTML.w" +#line 623 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_nw(OUTPUT_STREAM, int width) ; -#line 627 "inweb/foundation-module/Chapter 5/HTML.w" +#line 629 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_w(OUTPUT_STREAM, int width) ; -#line 633 "inweb/foundation-module/Chapter 5/HTML.w" +#line 635 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__next_html_column_right_justified(OUTPUT_STREAM, int width) ; -#line 638 "inweb/foundation-module/Chapter 5/HTML.w" +#line 640 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__end_html_row(OUTPUT_STREAM) ; -#line 642 "inweb/foundation-module/Chapter 5/HTML.w" +#line 644 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__end_html_table(OUTPUT_STREAM) ; -#line 653 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__open_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) ; -#line 673 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__close_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) ; -#line 691 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__box_corner(OUTPUT_STREAM, char *html_colour, char *corner) ; -#line 701 "inweb/foundation-module/Chapter 5/HTML.w" +#line 655 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__open_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) ; +#line 675 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__close_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) ; +#line 693 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__box_corner(OUTPUT_STREAM, text_stream *classname, text_stream *corner) ; +#line 703 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__comment(OUTPUT_STREAM, text_stream *text) ; -#line 705 "inweb/foundation-module/Chapter 5/HTML.w" +#line 707 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__heading(OUTPUT_STREAM, char *tag, text_stream *text) ; -#line 712 "inweb/foundation-module/Chapter 5/HTML.w" +#line 714 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__hr(OUTPUT_STREAM, char *class) ; -#line 877 "inweb/foundation-module/Chapter 5/HTML.w" +#line 879 "inweb/foundation-module/Chapter 5/HTML.w" wchar_t * HTML__translate_colour_name(wchar_t *original) ; -#line 885 "inweb/foundation-module/Chapter 5/HTML.w" +#line 887 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__begin_colour(OUTPUT_STREAM, text_stream *col) ; -#line 888 "inweb/foundation-module/Chapter 5/HTML.w" +#line 890 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__end_colour(OUTPUT_STREAM) ; -#line 895 "inweb/foundation-module/Chapter 5/HTML.w" +#line 897 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__begin_span(OUTPUT_STREAM, text_stream *class_name) ; -#line 902 "inweb/foundation-module/Chapter 5/HTML.w" +#line 904 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__end_span(OUTPUT_STREAM) ; -#line 910 "inweb/foundation-module/Chapter 5/HTML.w" +#line 912 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__write_xml_safe_text(OUTPUT_STREAM, text_stream *txt) ; -#line 941 "inweb/foundation-module/Chapter 5/HTML.w" +#line 943 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__put(OUTPUT_STREAM, int charcode) ; #line 106 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" ebook * Epub__new(text_stream *title, char *prefix) ; @@ -5565,6 +5565,10 @@ text_stream *TL_IS_720 = NULL; text_stream *TL_IS_721 = NULL; text_stream *TL_IS_722 = NULL; text_stream *TL_IS_723 = NULL; +text_stream *TL_IS_724 = NULL; +text_stream *TL_IS_725 = NULL; +text_stream *TL_IS_726 = NULL; +text_stream *TL_IS_727 = NULL; void register_tangled_text_literals(void); #line 57 "inweb/foundation-module/Chapter 2/Streams.w" #define WRITE(args...) Writers__printf(OUT, args) @@ -8985,11 +8989,11 @@ int CommandLine__read_pair_p(text_stream *opt, text_stream *opt_val, int N, ; innocuous = TRUE; break; case VERSION_CLSW: { PRINT("inweb"); - char *svn = "7.1.0-beta+1B09"; + char *svn = "7.1.0-beta+1B10"; if (svn[0]) PRINT(" version %s", svn); char *vname = "Escape to Danger"; if (vname[0]) PRINT(" '%s'", vname); - char *d = "3 June 2022"; + char *d = "13 June 2022"; if (d[0]) PRINT(" (%s)", d); PRINT("\n"); innocuous = TRUE; break; @@ -14419,30 +14423,25 @@ void HTML__begin_wide_html_table(OUTPUT_STREAM) { } #line 531 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__begin_html_table(OUTPUT_STREAM, char *colour, int full_width, +void HTML__begin_html_table(OUTPUT_STREAM, text_stream *classname, int full_width, int border, int cellspacing, int cellpadding, int height, int width) { TEMPORARY_TEXT(tab) WRITE_TO(tab, "border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\"", border, cellspacing, cellpadding); - if (colour) { - if (*colour == '*') - WRITE_TO(tab, " style=\"background-image:url('inform:/%s');\"", colour+1); - else - WRITE_TO(tab, " bgcolor=\"%s\"", colour); - } + if (Str__len(classname) > 0) WRITE_TO(tab, " class=\"%S\"", classname); if (full_width) WRITE_TO(tab, " width=100%%"); if (width > 0) WRITE_TO(tab, " width=\"%d\"", width); if (height > 0) WRITE_TO(tab, " height=\"%d\"", height); HTML_OPEN_WITH("table", "%S", tab); DISCARD_TEXT(tab) } -void HTML__begin_html_table_bg(OUTPUT_STREAM, char *colour, int full_width, - int border, int cellspacing, int cellpadding, int height, int width, char *bg) { +void HTML__begin_html_table_bg(OUTPUT_STREAM, text_stream *classname, int full_width, + int border, int cellspacing, int cellpadding, int height, int width, text_stream *bg) { TEMPORARY_TEXT(tab) WRITE_TO(tab, "border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\"", border, cellspacing, cellpadding); - if (bg) WRITE_TO(tab, " background=\"inform:/map_icons/%s\"", bg); - if (colour) WRITE_TO(tab, " bgcolor=\"%s\"", colour); + if (Str__len(bg) > 0) WRITE_TO(tab, " background=\"inform:/%S\"", bg); + if (Str__len(classname) > 0) WRITE_TO(tab, " class=\"%S\"", classname); if (full_width) WRITE_TO(tab, " width=100%%"); if (width > 0) WRITE_TO(tab, " width=\"%d\"", width); if (height > 0) WRITE_TO(tab, " height=\"%d\"", height); @@ -14454,8 +14453,11 @@ void HTML__first_html_column(OUTPUT_STREAM, int width) { if (width > 0) HTML_OPEN_WITH("td", "align=\"left\" valign=\"top\" width=\"%d\"", width) else HTML_OPEN_WITH("td", "align=\"left\" valign=\"top\""); } -void HTML__first_html_column_nowrap(OUTPUT_STREAM, int width, char *colour) { - if (colour) HTML_OPEN_WITH("tr", "bgcolor=\"%s\"", colour) else HTML_OPEN("tr"); +void HTML__first_html_column_nowrap(OUTPUT_STREAM, int width, text_stream *classname) { + if (Str__len(classname) > 0) + HTML_OPEN_WITH("tr", "class=\"%S\"", classname) + else + HTML_OPEN("tr"); TEMPORARY_TEXT(col) WRITE_TO(col, "style=\"white-space:nowrap;\" align=\"left\" valign=\"top\" height=\"20\""); if (width > 0) WRITE_TO(col, " width=\"%d\"", width); @@ -14470,8 +14472,12 @@ void HTML__first_html_column_spaced(OUTPUT_STREAM, int width) { HTML_OPEN_WITH("td", "%S", col); DISCARD_TEXT(col) } -void HTML__first_html_column_coloured(OUTPUT_STREAM, int width, char *colour, int cs) { - if (colour) HTML_OPEN_WITH("tr", "bgcolor=\"%s\"", colour) else HTML_OPEN("tr"); +void HTML__first_html_column_coloured(OUTPUT_STREAM, int width, text_stream *classname, + int cs) { + if (Str__len(classname) > 0) + HTML_OPEN_WITH("tr", "class=\"%S\"", classname) + else + HTML_OPEN("tr"); TEMPORARY_TEXT(col) WRITE_TO(col, "nowrap=\"nowrap\" align=\"left\" valign=\"top\""); if (width > 0) WRITE_TO(col, " width=\"%d\"", width); @@ -14534,19 +14540,19 @@ void HTML__end_html_table(OUTPUT_STREAM) { HTML_CLOSE("table"); } -#line 653 "inweb/foundation-module/Chapter 5/HTML.w" -void HTML__open_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) { +#line 655 "inweb/foundation-module/Chapter 5/HTML.w" +void HTML__open_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) { HTML_OPEN_WITH("table", "width=\"100%%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" " - "style=\"background-color: #%s\"", html_colour); + "class=\"%S\"", classname); HTML_OPEN("tr"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_TOP) HTML__box_corner(OUT, html_colour, "tl"); + if (rounding & ROUND_BOX_TOP) HTML__box_corner(OUT, classname, TL_IS_54); HTML_CLOSE("td"); HTML_OPEN("td"); HTML_CLOSE("td"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_TOP) HTML__box_corner(OUT, html_colour, "tr"); + if (rounding & ROUND_BOX_TOP) HTML__box_corner(OUT, classname, TL_IS_55); HTML_CLOSE("td"); HTML_CLOSE("tr"); HTML_OPEN("tr"); @@ -14555,32 +14561,32 @@ void HTML__open_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) { HTML_OPEN("td"); } -void HTML__close_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) { +void HTML__close_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) { HTML_CLOSE("td"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); HTML_CLOSE("td"); HTML_CLOSE("tr"); HTML_OPEN("tr"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_BOTTOM) HTML__box_corner(OUT, html_colour, "bl"); + if (rounding & ROUND_BOX_BOTTOM) HTML__box_corner(OUT, classname, TL_IS_56); HTML_CLOSE("td"); HTML_OPEN("td"); HTML_CLOSE("td"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_BOTTOM) HTML__box_corner(OUT, html_colour, "br"); + if (rounding & ROUND_BOX_BOTTOM) HTML__box_corner(OUT, classname, TL_IS_57); HTML_CLOSE("td"); HTML_CLOSE("tr"); HTML__end_html_table(OUT); } -void HTML__box_corner(OUTPUT_STREAM, char *html_colour, char *corner) { +void HTML__box_corner(OUTPUT_STREAM, text_stream *classname, text_stream *corner) { HTML_TAG_WITH("img", - "src=\"inform:/bg_images/%s_corner_%s.gif\" " + "src=\"inform:/bg_images/%S_corner_%S.gif\" " "width=\"%d\" height=\"%d\" border=\"0\" alt=\"...\"", - corner, html_colour, CORNER_SIZE, CORNER_SIZE); + corner, classname, CORNER_SIZE, CORNER_SIZE); } -#line 701 "inweb/foundation-module/Chapter 5/HTML.w" +#line 703 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__comment(OUTPUT_STREAM, text_stream *text) { WRITE("\n", text); } @@ -14597,7 +14603,7 @@ void HTML__hr(OUTPUT_STREAM, char *class) { else HTML_TAG("hr"); } -#line 725 "inweb/foundation-module/Chapter 5/HTML.w" +#line 727 "inweb/foundation-module/Chapter 5/HTML.w" colour_translation table_of_translations[] = { { L"Alice Blue", L"F0F8FF" }, @@ -14746,7 +14752,7 @@ colour_translation table_of_translations[] = { { L"", L"" } }; -#line 877 "inweb/foundation-module/Chapter 5/HTML.w" +#line 879 "inweb/foundation-module/Chapter 5/HTML.w" wchar_t *HTML__translate_colour_name(wchar_t *original) { for (int j=0; Wide__cmp(table_of_translations[j].chip_name, L""); j++) if (Wide__cmp(table_of_translations[j].chip_name, original) == 0) @@ -14754,7 +14760,7 @@ wchar_t *HTML__translate_colour_name(wchar_t *original) { return NULL; } -#line 885 "inweb/foundation-module/Chapter 5/HTML.w" +#line 887 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__begin_colour(OUTPUT_STREAM, text_stream *col) { HTML_OPEN_WITH("span", "style='color:#%S'", col); } @@ -14762,7 +14768,7 @@ void HTML__end_colour(OUTPUT_STREAM) { HTML_CLOSE("span"); } -#line 895 "inweb/foundation-module/Chapter 5/HTML.w" +#line 897 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__begin_span(OUTPUT_STREAM, text_stream *class_name) { if (Str__len(class_name) > 0) { HTML_OPEN_WITH("span", "class=\"%S\"", class_name); @@ -14774,7 +14780,7 @@ void HTML__end_span(OUTPUT_STREAM) { HTML_CLOSE("span"); } -#line 910 "inweb/foundation-module/Chapter 5/HTML.w" +#line 912 "inweb/foundation-module/Chapter 5/HTML.w" void HTML__write_xml_safe_text(OUTPUT_STREAM, text_stream *txt) { LOOP_THROUGH_TEXT(pos, txt) { wchar_t c = Str__get(pos); @@ -14787,20 +14793,20 @@ void HTML__write_xml_safe_text(OUTPUT_STREAM, text_stream *txt) { } } -#line 938 "inweb/foundation-module/Chapter 5/HTML.w" +#line 940 "inweb/foundation-module/Chapter 5/HTML.w" text_stream *source_ref_fields[3] = { NULL, NULL, NULL }; /* paraphrase, filename, line */ int source_ref_field = -1; /* which field we are buffering */ void HTML__put(OUTPUT_STREAM, int charcode) { { -#line 965 "inweb/foundation-module/Chapter 5/HTML.w" +#line 967 "inweb/foundation-module/Chapter 5/HTML.w" if ((source_ref_field >= 0) && (charcode != SOURCE_REF_CHAR)) { PUT_TO(source_ref_fields[source_ref_field], charcode); return; } } -#line 942 "inweb/foundation-module/Chapter 5/HTML.w" +#line 944 "inweb/foundation-module/Chapter 5/HTML.w" ; switch(charcode) { case '"': WRITE("""); break; @@ -14811,14 +14817,14 @@ void HTML__put(OUTPUT_STREAM, int charcode) { #ifdef PROBLEMS_MODULE case FORCE_NEW_PARA_CHAR: HTML_CLOSE("p"); HTML_OPEN_WITH("p", "class=\"in2\""); - HTML__icon_with_tooltip(OUT, TL_IS_54, NULL, NULL); + HTML__icon_with_tooltip(OUT, TL_IS_58, NULL, NULL); WRITE(" "); break; #endif #ifdef WORDS_MODULE case SOURCE_REF_CHAR: { -#line 970 "inweb/foundation-module/Chapter 5/HTML.w" +#line 972 "inweb/foundation-module/Chapter 5/HTML.w" source_ref_field++; if (source_ref_field == 3) { source_ref_field = -1; @@ -14835,7 +14841,7 @@ void HTML__put(OUTPUT_STREAM, int charcode) { } } -#line 957 "inweb/foundation-module/Chapter 5/HTML.w" +#line 959 "inweb/foundation-module/Chapter 5/HTML.w" ; break; #endif @@ -14978,14 +14984,14 @@ pathname *Epub__begin_construction(ebook *B, pathname *P, filename *cover_image) B->eventual_epub = Filenames__in(P, TEMP); DISCARD_TEXT(TEMP) - pathname *Holder = Pathnames__down(P, TL_IS_55); + pathname *Holder = Pathnames__down(P, TL_IS_59); if (Pathnames__create_in_file_system(Holder) == FALSE) return NULL; B->holder = Holder; { #line 245 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" - filename *Mimetype = Filenames__in(Holder, TL_IS_57); + filename *Mimetype = Filenames__in(Holder, TL_IS_61); text_stream EM_struct; text_stream *OUT = &EM_struct; if (STREAM_OPEN_TO_FILE(OUT, Mimetype, ISO_ENC) == FALSE) Errors__fatal_with_file("unable to open mimetype file for output: %f", @@ -14999,9 +15005,9 @@ pathname *Epub__begin_construction(ebook *B, pathname *P, filename *cover_image) { #line 254 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" - pathname *META_INF = Pathnames__down(Holder, TL_IS_58); + pathname *META_INF = Pathnames__down(Holder, TL_IS_62); if (Pathnames__create_in_file_system(META_INF) == FALSE) return NULL; - filename *container = Filenames__in(META_INF, TL_IS_59); + filename *container = Filenames__in(META_INF, TL_IS_63); text_stream C_struct; text_stream *OUT = &C_struct; if (STREAM_OPEN_TO_FILE(OUT, container, ISO_ENC) == FALSE) Errors__fatal_with_file("unable to open container file for output: %f", @@ -15021,18 +15027,18 @@ pathname *Epub__begin_construction(ebook *B, pathname *P, filename *cover_image) } #line 236 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" ; - pathname *OEBPS = Pathnames__down(Holder, TL_IS_56); + pathname *OEBPS = Pathnames__down(Holder, TL_IS_60); if (Pathnames__create_in_file_system(OEBPS) == FALSE) return NULL; if (cover_image) { #line 280 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" - filename *cover = Filenames__in(OEBPS, TL_IS_60); + filename *cover = Filenames__in(OEBPS, TL_IS_64); text_stream C_struct; text_stream *OUT = &C_struct; if (STREAM_OPEN_TO_FILE(OUT, cover, ISO_ENC) == FALSE) Errors__fatal_with_file("unable to open cover file for output: %f", cover); - Epub__note_page(B, cover, TL_IS_61, TL_IS_62); + Epub__note_page(B, cover, TL_IS_65, TL_IS_66); HTML__declare_as_HTML(OUT, TRUE); HTML__begin_head(OUT, NULL); @@ -15089,7 +15095,7 @@ void Epub__end_construction(ebook *B) { { #line 335 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" - filename *content = Filenames__in(B->OEBPS_path, TL_IS_63); + filename *content = Filenames__in(B->OEBPS_path, TL_IS_67); text_stream C_struct; text_stream *OUT = &C_struct; if (STREAM_OPEN_TO_FILE(OUT, content, UTF8_ENC) == FALSE) Errors__fatal_with_file("unable to open content file for output: %f", @@ -15214,7 +15220,7 @@ void Epub__end_construction(ebook *B) { { #line 434 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" - filename *toc = Filenames__in(B->OEBPS_path, TL_IS_64); + filename *toc = Filenames__in(B->OEBPS_path, TL_IS_68); text_stream C_struct; text_stream *OUT = &C_struct; if (STREAM_OPEN_TO_FILE(OUT, toc, UTF8_ENC) == FALSE) Errors__fatal_with_file("unable to open ncx file for output: %f", @@ -15482,7 +15488,7 @@ void Epub__end_construction(ebook *B) { { #line 551 "inweb/foundation-module/Chapter 5/Epub Ebooks.w" - pathname *up = Pathnames__from_text(TL_IS_65); + pathname *up = Pathnames__from_text(TL_IS_69); filename *ePub_relative = Filenames__in(up, Filenames__get_leafname(B->eventual_epub)); @@ -16940,7 +16946,7 @@ semver_range *VersionNumberRanges__compatibility_range(semantic_version_number V semantic_version_number W = VersionNumbers__null(); W.version_numbers[0] = V.version_numbers[0] + 1; W.prerelease_segments = NEW_LINKED_LIST(text_stream); - ADD_TO_LINKED_LIST(TL_IS_66, text_stream, W.prerelease_segments); + ADD_TO_LINKED_LIST(TL_IS_70, text_stream, W.prerelease_segments); R->upper.end_value = W; } return R; @@ -17104,7 +17110,7 @@ web_md *WebMetadata__get(pathname *P, filename *alt_F, int syntax_version, { #line 141 "inweb/foundation-module/Chapter 8/Web Structure.w" int sequential = FALSE; /* are we numbering sections sequentially? */ - if (Str__eq(Bibliographic__get_datum(Wm, TL_IS_67), TL_IS_68)) + if (Str__eq(Bibliographic__get_datum(Wm, TL_IS_71), TL_IS_72)) sequential = TRUE; chapter_md *Cm; section_md *Sm; @@ -17271,9 +17277,9 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, { #line 346 "inweb/foundation-module/Chapter 8/Web Structure.w" - if (Str__eq(line, TL_IS_69)) + if (Str__eq(line, TL_IS_73)) RS->Wm->default_syntax = V1_SYNTAX; - else if (Str__eq(line, TL_IS_70)) + else if (Str__eq(line, TL_IS_74)) RS->Wm->default_syntax = V2_SYNTAX; } @@ -17287,9 +17293,9 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, { #line 357 "inweb/foundation-module/Chapter 8/Web Structure.w" RS->halted = TRUE; - text_stream *new_chapter_range = TL_IS_71; + text_stream *new_chapter_range = TL_IS_75; text_stream *language_name = NULL; - line = TL_IS_72; + line = TL_IS_76; { #line 560 "inweb/foundation-module/Chapter 8/Web Structure.w" @@ -17319,7 +17325,7 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, } #line 361 "inweb/foundation-module/Chapter 8/Web Structure.w" ; - line = TL_IS_73; + line = TL_IS_77; filename_of_single_file_web = tfp->text_file_filename; { @@ -17374,7 +17380,7 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, { #line 635 "inweb/foundation-module/Chapter 8/Web Structure.w" text_stream *p = language_name; - if (Str__len(p) == 0) p = Bibliographic__get_datum(RS->Wm, TL_IS_77); + if (Str__len(p) == 0) p = Bibliographic__get_datum(RS->Wm, TL_IS_81); Sm->sect_independent_language = Str__duplicate(p); } @@ -17517,7 +17523,7 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, #line 552 "inweb/foundation-module/Chapter 8/Web Structure.w" match_results mr = Regexp__create_mr(); if (Regexp__match(&mr, language_name, L" *")) - language_name = Bibliographic__get_datum(RS->Wm, TL_IS_76); + language_name = Bibliographic__get_datum(RS->Wm, TL_IS_80); else if (Regexp__match(&mr, language_name, L" *(%c*?) *")) language_name = mr.exp[0]; Regexp__dispose_of(&mr); @@ -17552,13 +17558,13 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, } else if (Regexp__match(&mr, line, L"Header: (%c+)")) { pathname *P = RS->path_to; if (P == NULL) P = RS->Wm->path_to_web; - P = Pathnames__down(P, TL_IS_74); + P = Pathnames__down(P, TL_IS_78); filename *HF = Filenames__in(P, mr.exp[0]); ADD_TO_LINKED_LIST(HF, filename, RS->Wm->header_filenames); this_is_a_chapter = FALSE; } else if (Regexp__match(&mr, line, L"Import: (%c+)")) { if (RS->halt_at_at) - Errors__in_text_file_S(TL_IS_75, tfp); + Errors__in_text_file_S(TL_IS_79, tfp); else if (RS->import_from) { module *imported = WebModules__find(RS->Wm, RS->import_from, mr.exp[0], RS->path_to_inweb); @@ -17693,7 +17699,7 @@ void WebMetadata__read_contents_line(text_stream *line, text_file_position *tfp, { #line 635 "inweb/foundation-module/Chapter 8/Web Structure.w" text_stream *p = language_name; - if (Str__len(p) == 0) p = Bibliographic__get_datum(RS->Wm, TL_IS_77); + if (Str__len(p) == 0) p = Bibliographic__get_datum(RS->Wm, TL_IS_81); Sm->sect_independent_language = Str__duplicate(p); } @@ -17748,7 +17754,7 @@ int WebMetadata__directory_looks_like_a_web(pathname *P) { } filename *WebMetadata__contents_filename(pathname *P) { - return Filenames__in(P, TL_IS_78); + return Filenames__in(P, TL_IS_82); } #line 673 "inweb/foundation-module/Chapter 8/Web Structure.w" @@ -17787,38 +17793,38 @@ int Bibliographic__datum_on_or_off(web_md *Wm, text_stream *key) { void Bibliographic__initialise_data(web_md *Wm) { web_bibliographic_datum *bd; - bd = Bibliographic__set_datum(Wm, TL_IS_79, NULL); bd->declaration_mandatory = TRUE; - bd = Bibliographic__set_datum(Wm, TL_IS_80, NULL); bd->declaration_mandatory = TRUE; - bd = Bibliographic__set_datum(Wm, TL_IS_81, TL_IS_82); - bd = Bibliographic__set_datum(Wm, TL_IS_83, TL_IS_84); + bd = Bibliographic__set_datum(Wm, TL_IS_83, NULL); bd->declaration_mandatory = TRUE; + bd = Bibliographic__set_datum(Wm, TL_IS_84, NULL); bd->declaration_mandatory = TRUE; + bd = Bibliographic__set_datum(Wm, TL_IS_85, TL_IS_86); + bd = Bibliographic__set_datum(Wm, TL_IS_87, TL_IS_88); - bd = Bibliographic__set_datum(Wm, TL_IS_85, NULL); - bd->alias = Bibliographic__set_datum(Wm, TL_IS_86, NULL); /* alias US to UK spelling */ + bd = Bibliographic__set_datum(Wm, TL_IS_89, NULL); + bd->alias = Bibliographic__set_datum(Wm, TL_IS_90, NULL); /* alias US to UK spelling */ - Bibliographic__set_datum(Wm, TL_IS_87, NULL); - Bibliographic__set_datum(Wm, TL_IS_88, NULL); - Bibliographic__set_datum(Wm, TL_IS_89, NULL); - Bibliographic__set_datum(Wm, TL_IS_90, NULL); Bibliographic__set_datum(Wm, TL_IS_91, NULL); Bibliographic__set_datum(Wm, TL_IS_92, NULL); - Bibliographic__set_datum(Wm, TL_IS_93, TL_IS_94); + Bibliographic__set_datum(Wm, TL_IS_93, NULL); + Bibliographic__set_datum(Wm, TL_IS_94, NULL); Bibliographic__set_datum(Wm, TL_IS_95, NULL); Bibliographic__set_datum(Wm, TL_IS_96, NULL); - Bibliographic__set_datum(Wm, TL_IS_97, NULL); + Bibliographic__set_datum(Wm, TL_IS_97, TL_IS_98); + Bibliographic__set_datum(Wm, TL_IS_99, NULL); + Bibliographic__set_datum(Wm, TL_IS_100, NULL); + Bibliographic__set_datum(Wm, TL_IS_101, NULL); - bd = Bibliographic__set_datum(Wm, TL_IS_98, TL_IS_99); bd->on_or_off = TRUE; - bd = Bibliographic__set_datum(Wm, TL_IS_100, TL_IS_101); bd->on_or_off = TRUE; bd = Bibliographic__set_datum(Wm, TL_IS_102, TL_IS_103); bd->on_or_off = TRUE; bd = Bibliographic__set_datum(Wm, TL_IS_104, TL_IS_105); bd->on_or_off = TRUE; - bd = Bibliographic__set_datum(Wm, TL_IS_106, TL_IS_107); - bd = Bibliographic__set_datum(Wm, TL_IS_108, TL_IS_109); + bd = Bibliographic__set_datum(Wm, TL_IS_106, TL_IS_107); bd->on_or_off = TRUE; + bd = Bibliographic__set_datum(Wm, TL_IS_108, TL_IS_109); bd->on_or_off = TRUE; bd = Bibliographic__set_datum(Wm, TL_IS_110, TL_IS_111); bd = Bibliographic__set_datum(Wm, TL_IS_112, TL_IS_113); bd = Bibliographic__set_datum(Wm, TL_IS_114, TL_IS_115); bd = Bibliographic__set_datum(Wm, TL_IS_116, TL_IS_117); bd = Bibliographic__set_datum(Wm, TL_IS_118, TL_IS_119); - bd = Bibliographic__set_datum(Wm, TL_IS_120, NULL); - bd = Bibliographic__set_datum(Wm, TL_IS_121, TL_IS_122); + bd = Bibliographic__set_datum(Wm, TL_IS_120, TL_IS_121); + bd = Bibliographic__set_datum(Wm, TL_IS_122, TL_IS_123); + bd = Bibliographic__set_datum(Wm, TL_IS_124, NULL); + bd = Bibliographic__set_datum(Wm, TL_IS_125, TL_IS_126); } #line 86 "inweb/foundation-module/Chapter 8/Bibliographic Data for Webs.w" @@ -17880,7 +17886,7 @@ web_bibliographic_datum *Bibliographic__set_datum(web_md *Wm, text_stream *key, Str__copy(recapped, val); LOOP_THROUGH_TEXT(P, recapped) Str__put(P, Characters__toupper(Str__get(P))); - Bibliographic__set_datum(Wm, TL_IS_123, recapped); + Bibliographic__set_datum(Wm, TL_IS_127, recapped); DISCARD_TEXT(recapped) } @@ -17898,7 +17904,7 @@ module *WebModules__new(text_stream *name, pathname *at, int m) { M->module_name = Str__duplicate(name); M->dependencies = NEW_LINKED_LIST(module); M->origin_marker = m; - M->module_tag = TL_IS_124; + M->module_tag = TL_IS_128; M->chapters_md = NEW_LINKED_LIST(chapter_md); M->sections_md = NEW_LINKED_LIST(section_md); return M; @@ -17906,7 +17912,7 @@ module *WebModules__new(text_stream *name, pathname *at, int m) { #line 52 "inweb/foundation-module/Chapter 8/Web Modules.w" module *WebModules__create_main_module(web_md *WS) { - return WebModules__new(TL_IS_125, WS->path_to_web, READING_WEB_MOM); + return WebModules__new(TL_IS_129, WS->path_to_web, READING_WEB_MOM); } #line 63 "inweb/foundation-module/Chapter 8/Web Modules.w" @@ -18175,9 +18181,9 @@ int WebModules__named_reference(module **return_M, section_md **return_Sm, #line 10 "inweb/foundation-module/Chapter 8/Build Files.w" filename *BuildFiles__build_file_for_web(web_md *WS) { - filename *F = Filenames__in(WS->path_to_web, TL_IS_126); + filename *F = Filenames__in(WS->path_to_web, TL_IS_130); if (TextFiles__exists(F)) return F; - F = Filenames__in(NULL, TL_IS_127); + F = Filenames__in(NULL, TL_IS_131); if (TextFiles__exists(F)) return F; return NULL; } @@ -18231,25 +18237,25 @@ void BuildFiles__set_bibliographic_data_for(web_md *WS) { if (F) { build_file_data bfd = BuildFiles__read(F); if (Str__len(bfd.prerelease_text) > 0) - Bibliographic__set_datum(WS, TL_IS_128, bfd.prerelease_text); + Bibliographic__set_datum(WS, TL_IS_132, bfd.prerelease_text); if (Str__len(bfd.build_code) > 0) - Bibliographic__set_datum(WS, TL_IS_129, bfd.build_code); + Bibliographic__set_datum(WS, TL_IS_133, bfd.build_code); if (Str__len(bfd.build_date) > 0) - Bibliographic__set_datum(WS, TL_IS_130, bfd.build_date); + Bibliographic__set_datum(WS, TL_IS_134, bfd.build_date); } } #line 99 "inweb/foundation-module/Chapter 8/Build Files.w" void BuildFiles__deduce_semver(web_md *WS) { TEMPORARY_TEXT(combined) - text_stream *s = Bibliographic__get_datum(WS, TL_IS_131); + text_stream *s = Bibliographic__get_datum(WS, TL_IS_135); if (Str__len(s) > 0) WRITE_TO(combined, "%S", s); else { - text_stream *v = Bibliographic__get_datum(WS, TL_IS_132); + text_stream *v = Bibliographic__get_datum(WS, TL_IS_136); if (Str__len(v) > 0) WRITE_TO(combined, "%S", v); - text_stream *p = Bibliographic__get_datum(WS, TL_IS_133); + text_stream *p = Bibliographic__get_datum(WS, TL_IS_137); if (Str__len(p) > 0) WRITE_TO(combined, "-%S", p); - text_stream *b = Bibliographic__get_datum(WS, TL_IS_134); + text_stream *b = Bibliographic__get_datum(WS, TL_IS_138); if (Str__len(b) > 0) WRITE_TO(combined, "+%S", b); } if (Str__len(combined) > 0) { @@ -18259,7 +18265,7 @@ void BuildFiles__deduce_semver(web_md *WS) { "Combined version '%S' does not comply with the semver standard", combined); } else { - Bibliographic__set_datum(WS, TL_IS_135, combined); + Bibliographic__set_datum(WS, TL_IS_139, combined); } } DISCARD_TEXT(combined) @@ -18400,7 +18406,7 @@ void SimpleTangler__tangle_L3(OUTPUT_STREAM, text_stream *text, if (F) { Input_File = Filenames__fopen(F, "r"); } else if (Str__len(leafname) > 0) { - pathname *P = Pathnames__down(docket->web_path, TL_IS_136); + pathname *P = Pathnames__down(docket->web_path, TL_IS_140); Input_File = Filenames__fopen(Filenames__in(P, leafname), "r"); } if (Input_File == NULL) @@ -18806,13 +18812,13 @@ int main(int argc, char **argv) { inweb_instructions args = Configuration__read(argc, argv); verbose_mode = args.verbose_switch; fundamental_mode = args.inweb_mode; - path_to_inweb = Pathnames__installation_path("INWEB_PATH", TL_IS_137); + path_to_inweb = Pathnames__installation_path("INWEB_PATH", TL_IS_141); if (verbose_mode) { PRINT("Installation path is %p\n", path_to_inweb); Locales__write_locales(STDOUT); } - path_to_inweb_patterns = Pathnames__down(path_to_inweb, TL_IS_138); - path_to_inweb_materials = Pathnames__down(path_to_inweb, TL_IS_139); + path_to_inweb_patterns = Pathnames__down(path_to_inweb, TL_IS_142); + path_to_inweb_materials = Pathnames__down(path_to_inweb, TL_IS_143); Main__follow_instructions(&args); @@ -18842,11 +18848,11 @@ void Main__follow_instructions(inweb_instructions *ins) { { #line 115 "inweb/Chapter 1/Program Control.w" if ((ins->makefile_setting) && (ins->prototype_setting == NULL)) - ins->prototype_setting = Filenames__from_text(TL_IS_140); + ins->prototype_setting = Filenames__from_text(TL_IS_144); if ((ins->gitignore_setting) && (ins->prototype_setting == NULL)) - ins->prototype_setting = Filenames__from_text(TL_IS_141); + ins->prototype_setting = Filenames__from_text(TL_IS_145); if ((ins->writeme_setting) && (ins->prototype_setting == NULL)) - ins->prototype_setting = Filenames__from_text(TL_IS_142); + ins->prototype_setting = Filenames__from_text(TL_IS_146); if (ins->makefile_setting) Makefiles__write(W, ins->prototype_setting, ins->makefile_setting, WebModules__make_search_path(ins->import_setting), ins->platform_setting); @@ -18926,10 +18932,10 @@ void Main__follow_instructions(inweb_instructions *ins) { { #line 221 "inweb/Chapter 1/Program Control.w" tn = NULL; - if (Bibliographic__data_exists(W->md, TL_IS_143)) - Str__copy(tangle_leaf, Bibliographic__get_datum(W->md, TL_IS_144)); + if (Bibliographic__data_exists(W->md, TL_IS_147)) + Str__copy(tangle_leaf, Bibliographic__get_datum(W->md, TL_IS_148)); else - Str__copy(tangle_leaf, Bibliographic__get_datum(W->md, TL_IS_145)); + Str__copy(tangle_leaf, Bibliographic__get_datum(W->md, TL_IS_149)); Str__concatenate(tangle_leaf, W->main_language->file_extension); } @@ -19086,7 +19092,7 @@ inweb_instructions Configuration__read(int argc, char **argv) { L" sections: ditto with sections\n"); CommandLine__begin_group(LANGUAGES_CLSG, - TL_IS_147); + TL_IS_151); CommandLine__declare_switch(LANGUAGE_CLSW, L"read-language", 2, L"read language definition from file X"); CommandLine__declare_switch(LANGUAGES_CLSW, L"read-languages", 2, @@ -19100,7 +19106,7 @@ inweb_instructions Configuration__read(int argc, char **argv) { CommandLine__end_group(); CommandLine__begin_group(ANALYSIS_CLSG, - TL_IS_148); + TL_IS_152); CommandLine__declare_switch(CATALOGUE_CLSW, L"catalogue", 1, L"list the sections in the web"); CommandLine__declare_switch(CATALOGUE_CLSW, L"catalog", 1, @@ -19128,7 +19134,7 @@ inweb_instructions Configuration__read(int argc, char **argv) { CommandLine__end_group(); CommandLine__begin_group(WEAVING_CLSG, - TL_IS_149); + TL_IS_153); CommandLine__declare_switch(WEAVE_CLSW, L"weave", 1, L"weave the web into human-readable form"); CommandLine__declare_switch(WEAVE_INTO_CLSW, L"weave-into", 2, @@ -19148,7 +19154,7 @@ inweb_instructions Configuration__read(int argc, char **argv) { CommandLine__end_group(); CommandLine__begin_group(TANGLING_CLSG, - TL_IS_150); + TL_IS_154); CommandLine__declare_switch(TANGLE_CLSW, L"tangle", 1, L"tangle the web into machine-compilable form"); CommandLine__declare_switch(TANGLE_TO_CLSW, L"tangle-to", 2, @@ -19160,7 +19166,7 @@ inweb_instructions Configuration__read(int argc, char **argv) { CommandLine__end_group(); CommandLine__begin_group(COLONIAL_CLSG, - TL_IS_151); + TL_IS_155); CommandLine__declare_switch(COLONY_CLSW, L"colony", 2, L"use the file X as a list of webs in this colony"); CommandLine__declare_switch(MEMBER_CLSW, L"member", 2, @@ -19185,7 +19191,7 @@ inweb_instructions Configuration__read(int argc, char **argv) { args.inweb_mode = NO_MODE; } if (Str__len(args.chosen_range) == 0) { - Str__copy(args.chosen_range, TL_IS_146); + Str__copy(args.chosen_range, TL_IS_150); } return args; } @@ -19347,7 +19353,7 @@ void Configuration__member_and_colony(inweb_instructions *args) { void Configuration__bareword(int id, text_stream *opt, void *state) { inweb_instructions *args = (inweb_instructions *) state; if ((args->chosen_web == NULL) && (args->chosen_file == NULL)) { - if (Str__suffix_eq(opt, TL_IS_152, 6)) + if (Str__suffix_eq(opt, TL_IS_156, 6)) args->chosen_file = Filenames__from_text(opt); else args->chosen_web = Pathnames__from_text(opt); @@ -19366,7 +19372,7 @@ void Configuration__set_range(inweb_instructions *args, text_stream *opt) { } else { if (++args->targets > 1) Errors__fatal("at most one target may be given"); if (Str__eq_wide_string(opt, L"all")) { - Str__copy(args->chosen_range, TL_IS_153); + Str__copy(args->chosen_range, TL_IS_157); } else if (((isalnum(Str__get_first_char(opt))) && (Str__len(opt) == 1)) || (Regexp__match(&mr, opt, L"%i+/%i+"))) { Str__copy(args->chosen_range, opt); @@ -19464,7 +19470,7 @@ weave_order *Swarm__weave_subset(web *W, text_stream *range, int open_afterwards match_results mr = Regexp__create_mr(); if (Str__eq_wide_string(range, L"0")) { if (W->md->single_file) { - wv->booklet_title = Str__duplicate(Bibliographic__get_datum(W->md, TL_IS_154)); + wv->booklet_title = Str__duplicate(Bibliographic__get_datum(W->md, TL_IS_158)); Filenames__write_unextended_leafname(leafname, W->md->single_file); } else { wv->booklet_title = Str__new_from_wide_string(L"Complete Program"); @@ -19500,7 +19506,7 @@ weave_order *Swarm__weave_subset(web *W, text_stream *range, int open_afterwards else Str__copy(wv->booklet_title, range); Str__copy(leafname, range); } - Bibliographic__set_datum(W->md, TL_IS_155, wv->booklet_title); + Bibliographic__set_datum(W->md, TL_IS_159, wv->booklet_title); LOOP_THROUGH_TEXT(P, leafname) if ((Str__get(P) == '/') || (Str__get(P) == ' ')) Str__put(P, '-'); @@ -19567,12 +19573,12 @@ colour_scheme *Swarm__ensure_colour_scheme(weave_order *wv, text_stream *name, return existing; colour_scheme *cs = Assets__find_colour_scheme(wv->pattern, name, pre); if (cs == NULL) { - if (Str__eq(name, TL_IS_156)) { + if (Str__eq(name, TL_IS_160)) { TEMPORARY_TEXT(err) WRITE_TO(err, "No CSS file for the colour scheme '%S' can be found", name); Main__error_in_web(err, NULL); } else { - return Swarm__ensure_colour_scheme(wv, TL_IS_157, TL_IS_158); + return Swarm__ensure_colour_scheme(wv, TL_IS_161, TL_IS_162); } } if (cs) ADD_TO_LINKED_LIST(cs, colour_scheme, wv->colour_schemes); @@ -19591,18 +19597,18 @@ void Swarm__include_plugins(OUTPUT_STREAM, web *W, weave_order *wv, filename *fr #line 231 "inweb/Chapter 1/The Swarm.w" void Swarm__weave_index_templates(web *W, text_stream *range, weave_pattern *pattern, pathname *into, filename *nav, linked_list *crumbs) { - if (!(Bibliographic__data_exists(W->md, TL_IS_159))) - Bibliographic__set_datum(W->md, TL_IS_160, TL_IS_161); - filename *INF = Patterns__find_template(pattern, TL_IS_162); + if (!(Bibliographic__data_exists(W->md, TL_IS_163))) + Bibliographic__set_datum(W->md, TL_IS_164, TL_IS_165); + filename *INF = Patterns__find_template(pattern, TL_IS_166); if (INF) { pathname *H = W->redirect_weaves_to; if (H == NULL) H = Reader__woven_folder(W); - filename *Contents = Filenames__in(H, TL_IS_163); + filename *Contents = Filenames__in(H, TL_IS_167); text_stream TO_struct; text_stream *OUT = &TO_struct; if (STREAM_OPEN_TO_FILE(OUT, Contents, ISO_ENC) == FALSE) Errors__fatal_with_file("unable to write contents file", Contents); if (W->as_ebook) - Epub__note_page(W->as_ebook, Contents, TL_IS_164, TL_IS_165); + Epub__note_page(W->as_ebook, Contents, TL_IS_168, TL_IS_169); PRINT("[Index file: %f]\n", Contents); Collater__collate(OUT, W, range, INF, pattern, nav, crumbs, NULL, Contents); STREAM_CLOSE(OUT); @@ -19628,7 +19634,7 @@ weave_pattern *Patterns__find(web *W, text_stream *name) { wp->number_sections = FALSE; wp->footnotes_plugin = NULL; wp->mathematics_plugin = NULL; - wp->default_range = Str__duplicate(TL_IS_166); + wp->default_range = Str__duplicate(TL_IS_170); wp->initial_extension = NULL; wp->post_commands = NEW_LINKED_LIST(text_stream); wp->blocked_templates = NEW_LINKED_LIST(text_stream); @@ -19645,19 +19651,19 @@ weave_pattern *Patterns__find(web *W, text_stream *name) { pathname *CP = Colonies__patterns_path(); if (CP) { wp->pattern_location = Pathnames__down(CP, name); - pattern_file = Filenames__in(wp->pattern_location, TL_IS_167); + pattern_file = Filenames__in(wp->pattern_location, TL_IS_171); if (TextFiles__exists(pattern_file) == FALSE) wp->pattern_location = NULL; } if (wp->pattern_location == NULL) { wp->pattern_location = Pathnames__down( - Pathnames__down(W->md->path_to_web, TL_IS_168), name); - pattern_file = Filenames__in(wp->pattern_location, TL_IS_169); + Pathnames__down(W->md->path_to_web, TL_IS_172), name); + pattern_file = Filenames__in(wp->pattern_location, TL_IS_173); if (TextFiles__exists(pattern_file) == FALSE) wp->pattern_location = NULL; } if (wp->pattern_location == NULL) { wp->pattern_location = Pathnames__down( path_to_inweb_patterns, name); - pattern_file = Filenames__in(wp->pattern_location, TL_IS_170); + pattern_file = Filenames__in(wp->pattern_location, TL_IS_174); if (TextFiles__exists(pattern_file) == FALSE) wp->pattern_location = NULL; } if (wp->pattern_location == NULL) @@ -19695,7 +19701,7 @@ void Patterns__scan_pattern_line(text_stream *line, text_file_position *tfp, voi match_results mr = Regexp__create_mr(); if (Regexp__match(&mr, line, L"(%c+) *: *(%c+?)")) { text_stream *key = mr.exp[0], *value = Str__duplicate(mr.exp[1]); - if ((Str__eq_insensitive(key, TL_IS_171)) && (wp->commands == 1)) { + if ((Str__eq_insensitive(key, TL_IS_175)) && (wp->commands == 1)) { match_results mr2 = Regexp__create_mr(); if (Regexp__match(&mr2, value, L"(%c+?) based on (%c+)")) { if (Str__ne_insensitive(mr2.exp[0], wp->pattern_name)) { @@ -19714,29 +19720,29 @@ void Patterns__scan_pattern_line(text_stream *line, text_file_position *tfp, voi } Regexp__dispose_of(&mr2); wp->name_command_given = TRUE; - } else if (Str__eq_insensitive(key, TL_IS_172)) { + } else if (Str__eq_insensitive(key, TL_IS_176)) { text_stream *name = Patterns__plugin_name(value, tfp); if (Str__len(name) > 0) { weave_plugin *plugin = Assets__new(name); ADD_TO_LINKED_LIST(plugin, weave_plugin, wp->plugins); } - } else if (Str__eq_insensitive(key, TL_IS_173)) { - wp->pattern_format = Formats__find_by_name(value); - } else if (Str__eq_insensitive(key, TL_IS_174)) { - wp->number_sections = Patterns__yes_or_no(value, tfp); - } else if (Str__eq_insensitive(key, TL_IS_175)) { - wp->default_range = Str__duplicate(value); - } else if (Str__eq_insensitive(key, TL_IS_176)) { - wp->initial_extension = Str__duplicate(value); } else if (Str__eq_insensitive(key, TL_IS_177)) { - wp->mathematics_plugin = Patterns__plugin_name(value, tfp); + wp->pattern_format = Formats__find_by_name(value); } else if (Str__eq_insensitive(key, TL_IS_178)) { - wp->footnotes_plugin = Patterns__plugin_name(value, tfp); + wp->number_sections = Patterns__yes_or_no(value, tfp); } else if (Str__eq_insensitive(key, TL_IS_179)) { - ADD_TO_LINKED_LIST(Str__duplicate(value), text_stream, wp->blocked_templates); + wp->default_range = Str__duplicate(value); } else if (Str__eq_insensitive(key, TL_IS_180)) { - ADD_TO_LINKED_LIST(Str__duplicate(value), text_stream, wp->post_commands); + wp->initial_extension = Str__duplicate(value); } else if (Str__eq_insensitive(key, TL_IS_181)) { + wp->mathematics_plugin = Patterns__plugin_name(value, tfp); + } else if (Str__eq_insensitive(key, TL_IS_182)) { + wp->footnotes_plugin = Patterns__plugin_name(value, tfp); + } else if (Str__eq_insensitive(key, TL_IS_183)) { + ADD_TO_LINKED_LIST(Str__duplicate(value), text_stream, wp->blocked_templates); + } else if (Str__eq_insensitive(key, TL_IS_184)) { + ADD_TO_LINKED_LIST(Str__duplicate(value), text_stream, wp->post_commands); + } else if (Str__eq_insensitive(key, TL_IS_185)) { match_results mr2 = Regexp__create_mr(); if (Regexp__match(&mr2, value, L"(%c+?) = (%c+)")) { Bibliographic__set_datum(wp->patterned_for->md, mr2.exp[0], mr2.exp[1]); @@ -19744,7 +19750,7 @@ void Patterns__scan_pattern_line(text_stream *line, text_file_position *tfp, voi Errors__in_text_file("syntax is 'bibliographic data: X = Y'", tfp); } Regexp__dispose_of(&mr2); - } else if (Str__eq_insensitive(key, TL_IS_182)) { + } else if (Str__eq_insensitive(key, TL_IS_186)) { match_results mr2 = Regexp__create_mr(); if (Regexp__match(&mr2, value, L"(.%C+?) (%c+)")) { Assets__add_asset_rule(wp->asset_rules, mr2.exp[0], mr2.exp[1], tfp); @@ -19763,8 +19769,8 @@ void Patterns__scan_pattern_line(text_stream *line, text_file_position *tfp, voi #line 184 "inweb/Chapter 1/Patterns.w" int Patterns__yes_or_no(text_stream *arg, text_file_position *tfp) { - if (Str__eq(arg, TL_IS_183)) return TRUE; - if (Str__eq(arg, TL_IS_184)) return FALSE; + if (Str__eq(arg, TL_IS_187)) return TRUE; + if (Str__eq(arg, TL_IS_188)) return FALSE; Errors__in_text_file("setting must be 'yes' or 'no'", tfp); return FALSE; } @@ -19772,7 +19778,7 @@ int Patterns__yes_or_no(text_stream *arg, text_file_position *tfp) { text_stream *Patterns__plugin_name(text_stream *arg, text_file_position *tfp) { match_results mr = Regexp__create_mr(); if (Regexp__match(&mr, arg, L"(%i+)")) { - if (Str__eq_insensitive(arg, TL_IS_185)) return NULL; + if (Str__eq_insensitive(arg, TL_IS_189)) return NULL; } else { Errors__in_text_file("plugin names must be single alphanumeric words", tfp); arg = NULL; @@ -19788,10 +19794,10 @@ void Patterns__post_process(weave_pattern *pattern, weave_order *wv) { filename *last_F = NULL; TEMPORARY_TEXT(cmd) for (int i=0; iweave_to)); i += 8; - } else if (Str__includes_at(T, i, TL_IS_187)) { + } else if (Str__includes_at(T, i, TL_IS_191)) { filename *W = wv->weave_to; i += 5; if (Str__get_at(T, i) == '.') { @@ -19807,7 +19813,7 @@ void Patterns__post_process(weave_pattern *pattern, weave_order *wv) { i--; } else PUT_TO(cmd, Str__get_at(T, i)); } - if ((Str__includes_at(cmd, 0, TL_IS_188)) && (last_F)) { + if ((Str__includes_at(cmd, 0, TL_IS_192)) && (last_F)) { TeXUtilities__post_process_weave(wv, last_F); } else { if (verbose_mode) PRINT("(%S)\n", cmd); @@ -19879,8 +19885,8 @@ colour_scheme *Assets__find_colour_scheme(weave_pattern *pattern, return cs; TEMPORARY_TEXT(css) WRITE_TO(css, "%S.css", name); - filename *F = Patterns__find_file_in_subdirectory(pattern, TL_IS_189, css); - if (F == NULL) F = Patterns__find_file_in_subdirectory(pattern, TL_IS_190, css); + filename *F = Patterns__find_file_in_subdirectory(pattern, TL_IS_193, css); + if (F == NULL) F = Patterns__find_file_in_subdirectory(pattern, TL_IS_194, css); DISCARD_TEXT(css) if (F == NULL) return NULL; cs = CREATE(colour_scheme); @@ -19946,8 +19952,8 @@ void Assets__include_colour_scheme(OUTPUT_STREAM, web *W, colour_scheme *cs, if (verbose_mode) PRINT("Include colour scheme '%S'\n", cs->scheme_name); TEMPORARY_TEXT(css) WRITE_TO(css, "%S.css", cs->scheme_name); - filename *F = Patterns__find_file_in_subdirectory(pattern, TL_IS_191, css); - if (F == NULL) F = Patterns__find_file_in_subdirectory(pattern, TL_IS_192, css); + filename *F = Patterns__find_file_in_subdirectory(pattern, TL_IS_195, css); + if (F == NULL) F = Patterns__find_file_in_subdirectory(pattern, TL_IS_196, css); if (F == NULL) { TEMPORARY_TEXT(err) WRITE_TO(err, "No CSS file for the colour scheme '%S' can be found", @@ -19967,7 +19973,7 @@ void Assets__include_colour_scheme(OUTPUT_STREAM, web *W, colour_scheme *cs, #line 184 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" linked_list *Assets__new_asset_rules_list(void) { linked_list *L = NEW_LINKED_LIST(asset_rule); - Assets__add_asset_rule(L, TL_IS_193, TL_IS_194, NULL); + Assets__add_asset_rule(L, TL_IS_197, TL_IS_198, NULL); return L; } @@ -19994,7 +20000,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line cmd = mr.exp[0]; detail = mr.exp[1]; } - if (Str__eq(cmd, TL_IS_195)) { + if (Str__eq(cmd, TL_IS_199)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20006,7 +20012,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 231 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = COPY_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_196)) { + } else if (Str__eq(cmd, TL_IS_200)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20018,7 +20024,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 233 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = PRIVATE_COPY_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_197)) { + } else if (Str__eq(cmd, TL_IS_201)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20030,7 +20036,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 235 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = EMBED_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_198)) { + } else if (Str__eq(cmd, TL_IS_202)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20042,11 +20048,11 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 237 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = COLLATE_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_199)) { + } else if (Str__eq(cmd, TL_IS_203)) { R->pre = Str__duplicate(detail); - } else if (Str__eq(cmd, TL_IS_200)) { + } else if (Str__eq(cmd, TL_IS_204)) { R->post = Str__duplicate(detail); - } else if (Str__eq(cmd, TL_IS_201)) { + } else if (Str__eq(cmd, TL_IS_205)) { R->transform_names = TRUE; } else Errors__in_text_file("no such asset command", tfp); Regexp__dispose_of(&mr); @@ -20079,7 +20085,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line cmd = mr.exp[0]; detail = mr.exp[1]; } - if (Str__eq(cmd, TL_IS_195)) { + if (Str__eq(cmd, TL_IS_199)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20091,7 +20097,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 231 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = COPY_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_196)) { + } else if (Str__eq(cmd, TL_IS_200)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20103,7 +20109,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 233 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = PRIVATE_COPY_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_197)) { + } else if (Str__eq(cmd, TL_IS_201)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20115,7 +20121,7 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 235 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = EMBED_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_198)) { + } else if (Str__eq(cmd, TL_IS_202)) { { #line 217 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" @@ -20127,11 +20133,11 @@ asset_rule *Assets__new_rule(linked_list *L, text_stream *ext, text_stream *line } #line 237 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" ; R->method = COLLATE_ASSET_METHOD; - } else if (Str__eq(cmd, TL_IS_199)) { + } else if (Str__eq(cmd, TL_IS_203)) { R->pre = Str__duplicate(detail); - } else if (Str__eq(cmd, TL_IS_200)) { + } else if (Str__eq(cmd, TL_IS_204)) { R->post = Str__duplicate(detail); - } else if (Str__eq(cmd, TL_IS_201)) { + } else if (Str__eq(cmd, TL_IS_205)) { R->transform_names = TRUE; } else Errors__in_text_file("no such asset command", tfp); Regexp__dispose_of(&mr); @@ -20154,7 +20160,7 @@ asset_rule *Assets__applicable_rule(weave_pattern *pattern, filename *F) { } asset_rule *R; LOOP_OVER_LINKED_LIST(R, asset_rule, pattern->asset_rules) - if (Str__eq_insensitive(R->applies_to, TL_IS_202)) + if (Str__eq_insensitive(R->applies_to, TL_IS_206)) return R; internal_error("no default asset rule"); return NULL; @@ -20174,7 +20180,7 @@ pathname *Assets__include_asset(OUTPUT_STREAM, asset_rule *R, web *W, filename * { #line 296 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" for (int i=0; ipre); i++) { - if (Str__includes_at(R->pre, i, TL_IS_203)) { + if (Str__includes_at(R->pre, i, TL_IS_207)) { WRITE("%S", url); i += 2; } else PUT(Str__get_at(R->pre, i)); @@ -20260,7 +20266,7 @@ pathname *Assets__include_asset(OUTPUT_STREAM, asset_rule *R, web *W, filename * { #line 334 "inweb/Chapter 1/Assets, Plugins and Colour Schemes.w" for (int i=0; ipost); i++) { - if (Str__includes_at(R->post, i, TL_IS_204)) { + if (Str__includes_at(R->post, i, TL_IS_208)) { WRITE("%S", url); i += 2; } else PUT(Str__get_at(R->post, i)); @@ -20328,7 +20334,7 @@ web *Reader__load_web(pathname *P, filename *alt_F, module_search *I, #line 134 "inweb/Chapter 2/The Reader.w" TEMPORARY_TEXT(IB) WRITE_TO(IB, "7.1.0"); - web_bibliographic_datum *bd = Bibliographic__set_datum(W->md, TL_IS_205, IB); + web_bibliographic_datum *bd = Bibliographic__set_datum(W->md, TL_IS_209, IB); bd->declaration_permitted = FALSE; DISCARD_TEXT(IB) @@ -20347,7 +20353,7 @@ web *Reader__load_web(pathname *P, filename *alt_F, module_search *I, W->redirect_weaves_to = NULL; W->main_language = Languages__default(W); W->web_extent = 0; W->no_paragraphs = 0; - text_stream *language_name = Bibliographic__get_datum(W->md, TL_IS_206); + text_stream *language_name = Bibliographic__get_datum(W->md, TL_IS_210); if (Str__len(language_name) > 0) W->main_language = Languages__find_by_name(language_name, W, TRUE); main_target = Reader__add_tangle_target(W, W->main_language); @@ -20521,7 +20527,7 @@ void Reader__read_file(web *W, chapter *C, filename *F, text_stream *titling_lin } #line 253 "inweb/Chapter 2/The Reader.w" ; - text_stream *purpose = Bibliographic__get_datum(W->md, TL_IS_207); + text_stream *purpose = Bibliographic__get_datum(W->md, TL_IS_211); if (Str__len(purpose) > 0) { Str__clear(line); WRITE_TO(line, "Implied Purpose: %S", purpose); @@ -20600,13 +20606,13 @@ void Reader__scan_source_line(text_stream *line, text_file_position *tfp, void * #line 296 "inweb/Chapter 2/The Reader.w" pathname *Reader__woven_folder(web *W) { - pathname *P = Pathnames__down(W->md->path_to_web, TL_IS_208); + pathname *P = Pathnames__down(W->md->path_to_web, TL_IS_212); if (Pathnames__create_in_file_system(P) == FALSE) Errors__fatal_with_path("unable to create Woven subdirectory", P); return P; } pathname *Reader__tangled_folder(web *W) { - pathname *P = Pathnames__down(W->md->path_to_web, TL_IS_209); + pathname *P = Pathnames__down(W->md->path_to_web, TL_IS_213); if (Pathnames__create_in_file_system(P) == FALSE) Errors__fatal_with_path("unable to create Tangled subdirectory", P); return P; @@ -20685,7 +20691,7 @@ int Reader__web_has_one_section(web *W) { #line 430 "inweb/Chapter 2/The Reader.w" void Reader__print_web_statistics(web *W) { - PRINT("web \"%S\": ", Bibliographic__get_datum(W->md, TL_IS_210)); + PRINT("web \"%S\": ", Bibliographic__get_datum(W->md, TL_IS_214)); int c = WebMetadata__chapter_count(W->md); int s = WebMetadata__section_count(W->md); if (W->md->chaptered) PRINT("%d chapter%s : ", @@ -20836,7 +20842,7 @@ void Parser__parse_web(web *W, int inweb_mode) { { #line 141 "inweb/Chapter 2/The Parser.w" - source_line *NL = Lines__new_source_line_in(TL_IS_213, &(L->source), S); + source_line *NL = Lines__new_source_line_in(TL_IS_217, &(L->source), S); PL->next_line = NL; NL->next_line = L; L = PL; @@ -20849,13 +20855,13 @@ void Parser__parse_web(web *W, int inweb_mode) { } if ((PL) && (Regexp__match(&mr, L->text, L"@ *= *"))) { Str__clear(L->text); - Str__copy(L->text, TL_IS_212); + Str__copy(L->text, TL_IS_216); if (S->md->using_syntax < V2_SYNTAX) Parser__wrong_version(S->md->using_syntax, L, "implied paragraph breaks", V2_SYNTAX); { #line 141 "inweb/Chapter 2/The Parser.w" - source_line *NL = Lines__new_source_line_in(TL_IS_213, &(L->source), S); + source_line *NL = Lines__new_source_line_in(TL_IS_217, &(L->source), S); PL->next_line = NL; NL->next_line = L; L = PL; @@ -20967,10 +20973,10 @@ void Parser__parse_web(web *W, int inweb_mode) { } else if (Str__eq_wide_string(command_text, L"Figure")) { if (S->md->using_syntax > V1_SYNTAX) Parser__wrong_version(S->md->using_syntax, L, "[[Figure...]]", V1_SYNTAX); - Tags__add_by_name(L->owning_paragraph, TL_IS_214); + Tags__add_by_name(L->owning_paragraph, TL_IS_218); L->command_code = FIGURE_CMD; } else { - Main__error_in_web(TL_IS_215, L); + Main__error_in_web(TL_IS_219, L); } L->is_commentary = TRUE; DISCARD_TEXT(command_text) @@ -20991,7 +20997,7 @@ void Parser__parse_web(web *W, int inweb_mode) { Str__copy(para_macro_name, mr.exp[0]); L->category = MACRO_DEFINITION_LCAT; if (current_paragraph == NULL) - Main__error_in_web(TL_IS_216, L); + Main__error_in_web(TL_IS_220, L); else Macros__create(S, current_paragraph, L, para_macro_name); comment_mode = FALSE; extract_mode = FALSE; L->is_commentary = FALSE; @@ -21033,9 +21039,9 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr = Regexp__create_mr(); match_results mr2 = Regexp__create_mr(); if (Regexp__match(&mr, L->text, L"= *(%c+) *")) { - if ((current_paragraph) && (Str__eq(mr.exp[0], TL_IS_217))) { + if ((current_paragraph) && (Str__eq(mr.exp[0], TL_IS_221))) { current_paragraph->placed_very_early = TRUE; - } else if ((current_paragraph) && (Str__eq(mr.exp[0], TL_IS_218))) { + } else if ((current_paragraph) && (Str__eq(mr.exp[0], TL_IS_222))) { current_paragraph->placed_early = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%((%c*?) *text%)"))) { @@ -21045,11 +21051,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21072,11 +21078,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21089,7 +21095,7 @@ void Parser__parse_web(web *W, int inweb_mode) { ; code_lcat_for_body = TEXT_EXTRACT_LCAT; code_destination = Str__duplicate(mr2.exp[1]); - code_pl_for_body = Languages__find_by_name(TL_IS_219, W, TRUE); + code_pl_for_body = Languages__find_by_name(TL_IS_223, W, TRUE); extract_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%((%c*?) *text as code%)"))) { @@ -21099,11 +21105,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21126,11 +21132,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21153,11 +21159,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21187,7 +21193,7 @@ void Parser__parse_web(web *W, int inweb_mode) { latest->next_line = TL; latest = TL; } - source_line *EEL = Lines__new_source_line_in(TL_IS_237, &(L->source), S); + source_line *EEL = Lines__new_source_line_in(TL_IS_241, &(L->source), S); EEL->next_line = latest->next_line; latest->next_line = EEL; code_lcat_for_body = TEXT_EXTRACT_LCAT; @@ -21204,11 +21210,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21238,7 +21244,7 @@ void Parser__parse_web(web *W, int inweb_mode) { latest->next_line = TL; latest = TL; } - source_line *EEL = Lines__new_source_line_in(TL_IS_237, &(L->source), S); + source_line *EEL = Lines__new_source_line_in(TL_IS_241, &(L->source), S); EEL->next_line = latest->next_line; latest->next_line = EEL; code_lcat_for_body = TEXT_EXTRACT_LCAT; @@ -21255,11 +21261,11 @@ void Parser__parse_web(web *W, int inweb_mode) { match_results mr3 = Regexp__create_mr(); while (TRUE) { if (Regexp__match(&mr3, mr2.exp[0], L" *(%C+) *(%c*?)")) { - if (Str__eq(mr3.exp[0], TL_IS_234)) L->plainer = TRUE; - else if (Str__eq(mr3.exp[0], TL_IS_235)) L->enable_hyperlinks = TRUE; + if (Str__eq(mr3.exp[0], TL_IS_238)) L->plainer = TRUE; + else if (Str__eq(mr3.exp[0], TL_IS_239)) L->enable_hyperlinks = TRUE; else { Main__error_in_web( - TL_IS_236, L); + TL_IS_240, L); } } else break; Str__clear(mr2.exp[0]); @@ -21289,7 +21295,7 @@ void Parser__parse_web(web *W, int inweb_mode) { latest->next_line = TL; latest = TL; } - source_line *EEL = Lines__new_source_line_in(TL_IS_237, &(L->source), S); + source_line *EEL = Lines__new_source_line_in(TL_IS_241, &(L->source), S); EEL->next_line = latest->next_line; latest->next_line = EEL; code_lcat_for_body = TEXT_EXTRACT_LCAT; @@ -21300,7 +21306,7 @@ void Parser__parse_web(web *W, int inweb_mode) { ; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(figure (%c+)%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_220); + Tags__add_by_name(L->owning_paragraph, TL_IS_224); L->command_code = FIGURE_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21308,7 +21314,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(html (%c+)%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_221); + Tags__add_by_name(L->owning_paragraph, TL_IS_225); L->command_code = HTML_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21316,7 +21322,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(audio (%c+)%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_222); + Tags__add_by_name(L->owning_paragraph, TL_IS_226); L->command_code = AUDIO_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21324,7 +21330,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(video (%c+)%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_223); + Tags__add_by_name(L->owning_paragraph, TL_IS_227); L->command_code = VIDEO_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21332,7 +21338,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(download (%c+) \"(%c*)\"%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_224); + Tags__add_by_name(L->owning_paragraph, TL_IS_228); L->command_code = DOWNLOAD_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21341,7 +21347,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(download (%c+)%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_225); + Tags__add_by_name(L->owning_paragraph, TL_IS_229); L->command_code = DOWNLOAD_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21350,7 +21356,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(carousel%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_226); + Tags__add_by_name(L->owning_paragraph, TL_IS_230); L->command_code = CAROUSEL_UNCAPTIONED_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21358,7 +21364,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(carousel \"(%c+)\" below%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_227); + Tags__add_by_name(L->owning_paragraph, TL_IS_231); L->command_code = CAROUSEL_BELOW_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21366,7 +21372,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(carousel \"(%c+)\" above%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_228); + Tags__add_by_name(L->owning_paragraph, TL_IS_232); L->command_code = CAROUSEL_ABOVE_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21374,7 +21380,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(carousel \"(%c+)\"%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_229); + Tags__add_by_name(L->owning_paragraph, TL_IS_233); L->command_code = CAROUSEL_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21382,7 +21388,7 @@ void Parser__parse_web(web *W, int inweb_mode) { comment_mode = TRUE; } else if ((current_paragraph) && (Regexp__match(&mr2, mr.exp[0], L"%(carousel end%)"))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_230); + Tags__add_by_name(L->owning_paragraph, TL_IS_234); L->command_code = CAROUSEL_END_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21390,7 +21396,7 @@ void Parser__parse_web(web *W, int inweb_mode) { } else if ((current_paragraph) && ((Regexp__match(&mr2, mr.exp[0], L"%(embedded (%C+) video (%c+)%)")) || (Regexp__match(&mr2, mr.exp[0], L"%(embedded (%C+) audio (%c+)%)")))) { - Tags__add_by_name(L->owning_paragraph, TL_IS_231); + Tags__add_by_name(L->owning_paragraph, TL_IS_235); L->command_code = EMBED_CMD; L->category = COMMAND_LCAT; code_lcat_for_body = COMMENT_BODY_LCAT; @@ -21398,10 +21404,10 @@ void Parser__parse_web(web *W, int inweb_mode) { L->text_operand2 = Str__duplicate(mr2.exp[1]); comment_mode = TRUE; } else { - Main__error_in_web(TL_IS_232, L); + Main__error_in_web(TL_IS_236, L); } } else if (Regexp__match(&mr, L->text, L"= *%C%c*")) { - Main__error_in_web(TL_IS_233, L); + Main__error_in_web(TL_IS_237, L); } code_plainness_for_body = L->plainer; hyperlink_body = L->enable_hyperlinks; @@ -21435,7 +21441,7 @@ void Parser__parse_web(web *W, int inweb_mode) { if (Str__eq_wide_string(command_text, L"Purpose:")) { #line 586 "inweb/Chapter 2/The Parser.w" - if (before_bar == FALSE) Main__error_in_web(TL_IS_239, L); + if (before_bar == FALSE) Main__error_in_web(TL_IS_243, L); if (S->md->using_syntax >= V2_SYNTAX) Parser__wrong_version(S->md->using_syntax, L, "'@Purpose'", V1_SYNTAX); L->category = PURPOSE_LCAT; @@ -21451,7 +21457,7 @@ void Parser__parse_web(web *W, int inweb_mode) { #line 595 "inweb/Chapter 2/The Parser.w" if (S->md->using_syntax >= V2_SYNTAX) Parser__wrong_version(S->md->using_syntax, L, "'@Interface'", V1_SYNTAX); - if (before_bar == FALSE) Main__error_in_web(TL_IS_240, L); + if (before_bar == FALSE) Main__error_in_web(TL_IS_244, L); L->category = INTERFACE_LCAT; L->owning_paragraph = NULL; L->is_commentary = TRUE; @@ -21471,7 +21477,7 @@ void Parser__parse_web(web *W, int inweb_mode) { #line 610 "inweb/Chapter 2/The Parser.w" if (S->md->using_syntax >= V2_SYNTAX) Parser__wrong_version(S->md->using_syntax, L, "'@Definitions' headings", V1_SYNTAX); - if (before_bar == FALSE) Main__error_in_web(TL_IS_241, L); + if (before_bar == FALSE) Main__error_in_web(TL_IS_245, L); L->category = DEFINITIONS_LCAT; L->owning_paragraph = NULL; L->is_commentary = TRUE; @@ -21486,7 +21492,7 @@ void Parser__parse_web(web *W, int inweb_mode) { #line 623 "inweb/Chapter 2/The Parser.w" if (S->md->using_syntax >= V2_SYNTAX) Parser__wrong_version(S->md->using_syntax, L, "the bar '----...'", V1_SYNTAX); - if (before_bar == FALSE) Main__error_in_web(TL_IS_242, L); + if (before_bar == FALSE) Main__error_in_web(TL_IS_246, L); L->category = BAR_LCAT; L->owning_paragraph = NULL; L->is_commentary = TRUE; @@ -21615,7 +21621,7 @@ void Parser__parse_web(web *W, int inweb_mode) { from = mr.exp[1]; Str__copy(L->text_operand, mr.exp[0]); } else if (Regexp__match(&mr, L->text_operand, L"(%C+) (%c+)")) { - Main__error_in_web(TL_IS_243, L); + Main__error_in_web(TL_IS_247, L); } L->text_operand2 = Str__new(); if (inweb_mode == TANGLE_MODE) @@ -21650,7 +21656,7 @@ void Parser__parse_web(web *W, int inweb_mode) { from = mr.exp[1]; Str__copy(L->text_operand, mr.exp[0]); } else if (Regexp__match(&mr, L->text_operand, L"(%C+) (%c+)")) { - Main__error_in_web(TL_IS_243, L); + Main__error_in_web(TL_IS_247, L); } L->text_operand2 = Str__new(); if (inweb_mode == TANGLE_MODE) @@ -21715,13 +21721,13 @@ void Parser__parse_web(web *W, int inweb_mode) { P->placed_very_early = FALSE; } P->invisible = FALSE; - if (Str__eq(Bibliographic__get_datum(W->md, TL_IS_244), TL_IS_245)) + if (Str__eq(Bibliographic__get_datum(W->md, TL_IS_248), TL_IS_249)) P->invisible = TRUE; P->heading_text = Str__duplicate(L->text_operand); if ((S->md->using_syntax == V1_SYNTAX) && (before_bar)) - P->ornament = Str__duplicate(TL_IS_246); + P->ornament = Str__duplicate(TL_IS_250); else - P->ornament = Str__duplicate(TL_IS_247); + P->ornament = Str__duplicate(TL_IS_251); WRITE_TO(P->paragraph_number, "%d", next_par_number++); P->parent_paragraph = NULL; P->next_child_number = 1; @@ -21751,7 +21757,7 @@ void Parser__parse_web(web *W, int inweb_mode) { } #line 578 "inweb/Chapter 2/The Parser.w" - else Main__error_in_web(TL_IS_238, L); + else Main__error_in_web(TL_IS_242, L); } } @@ -21816,7 +21822,7 @@ void Parser__parse_web(web *W, int inweb_mode) { source_line *L = S->first_line; if ((L) && (L->category == CHAPTER_HEADING_LCAT)) L = L->next_line; if (Str__len(S->sect_purpose) == 0) { - S->sect_purpose = Parser__extract_purpose(TL_IS_211, L?L->next_line: NULL, S, NULL); + S->sect_purpose = Parser__extract_purpose(TL_IS_215, L?L->next_line: NULL, S, NULL); if (Str__len(S->sect_purpose) > 0) L->next_line->category = PURPOSE_LCAT; } } @@ -21930,10 +21936,10 @@ text_stream *Parser__extract_purpose(text_stream *prologue, source_line *XL, sec int Parser__detect_footnote(web *W, text_stream *matter, text_stream *before, text_stream *cue, text_stream *after) { text_stream *fn_on_notation = - Bibliographic__get_datum(W->md, TL_IS_248); + Bibliographic__get_datum(W->md, TL_IS_252); text_stream *fn_off_notation = - Bibliographic__get_datum(W->md, TL_IS_249); - if (Str__ne(fn_on_notation, TL_IS_250)) { + Bibliographic__get_datum(W->md, TL_IS_253); + if (Str__ne(fn_on_notation, TL_IS_254)) { int N1 = Str__len(fn_on_notation); int N2 = Str__len(fn_off_notation); if ((N1 > 0) && (N2 > 0)) @@ -22068,10 +22074,10 @@ theme_tag *Tags__find_by_name(text_stream *name, int creating_if_necessary) { tag->tag_name = Str__duplicate(name); tag->ifdef_positive = NOT_APPLICABLE; tag->ifdef_symbol = Str__new(); - if (Str__prefix_eq(name, TL_IS_251, 6)) { + if (Str__prefix_eq(name, TL_IS_255, 6)) { Str__substr(tag->ifdef_symbol, Str__at(name, 6), Str__end(name)); tag->ifdef_positive = TRUE; - } else if (Str__prefix_eq(name, TL_IS_252, 7)) { + } else if (Str__prefix_eq(name, TL_IS_256, 7)) { Str__substr(tag->ifdef_symbol, Str__at(name, 7), Str__end(name)); tag->ifdef_positive = FALSE; } @@ -22166,20 +22172,20 @@ void Tags__show_endnote_on_ifdefs(heterogeneous_tree *tree, tree_node *ap, parag if (d++ == 0) { tree_node *E = WeaveTree__endnote(tree); Trees__make_child(E, ap); ap = E; - TextWeaver__commentary_text(tree, ap, TL_IS_254); + TextWeaver__commentary_text(tree, ap, TL_IS_258); } else { - TextWeaver__commentary_text(tree, ap, TL_IS_255); + TextWeaver__commentary_text(tree, ap, TL_IS_259); } } else { - TextWeaver__commentary_text(tree, ap, TL_IS_256); + TextWeaver__commentary_text(tree, ap, TL_IS_260); } TextWeaver__commentary_text(tree, ap, pt->the_tag->ifdef_symbol); } if (c > 0) { - if (c == 1) TextWeaver__commentary_text(tree, ap, TL_IS_257); - else TextWeaver__commentary_text(tree, ap, TL_IS_258); - if (sense) TextWeaver__commentary_text(tree, ap, TL_IS_259); - else TextWeaver__commentary_text(tree, ap, TL_IS_260); + if (c == 1) TextWeaver__commentary_text(tree, ap, TL_IS_261); + else TextWeaver__commentary_text(tree, ap, TL_IS_262); + if (sense) TextWeaver__commentary_text(tree, ap, TL_IS_263); + else TextWeaver__commentary_text(tree, ap, TL_IS_264); } } @@ -22198,26 +22204,26 @@ void Tags__show_endnote_on_ifdefs(heterogeneous_tree *tree, tree_node *ap, parag if (d++ == 0) { tree_node *E = WeaveTree__endnote(tree); Trees__make_child(E, ap); ap = E; - TextWeaver__commentary_text(tree, ap, TL_IS_254); + TextWeaver__commentary_text(tree, ap, TL_IS_258); } else { - TextWeaver__commentary_text(tree, ap, TL_IS_255); + TextWeaver__commentary_text(tree, ap, TL_IS_259); } } else { - TextWeaver__commentary_text(tree, ap, TL_IS_256); + TextWeaver__commentary_text(tree, ap, TL_IS_260); } TextWeaver__commentary_text(tree, ap, pt->the_tag->ifdef_symbol); } if (c > 0) { - if (c == 1) TextWeaver__commentary_text(tree, ap, TL_IS_257); - else TextWeaver__commentary_text(tree, ap, TL_IS_258); - if (sense) TextWeaver__commentary_text(tree, ap, TL_IS_259); - else TextWeaver__commentary_text(tree, ap, TL_IS_260); + if (c == 1) TextWeaver__commentary_text(tree, ap, TL_IS_261); + else TextWeaver__commentary_text(tree, ap, TL_IS_262); + if (sense) TextWeaver__commentary_text(tree, ap, TL_IS_263); + else TextWeaver__commentary_text(tree, ap, TL_IS_264); } } #line 139 "inweb/Chapter 2/Tags.w" ; - if (d > 0) TextWeaver__commentary_text(tree, ap, TL_IS_253); + if (d > 0) TextWeaver__commentary_text(tree, ap, TL_IS_257); } #line 22 "inweb/Chapter 2/Enumerated Constants.w" @@ -22241,7 +22247,7 @@ void Enumerations__define(OUTPUT_STREAM, text_stream *symbol, match_results mr = Regexp__create_mr(); if (Regexp__match(&mr, symbol, L"%c*_(%C+?)")) Str__copy(pf, mr.exp[0]); else { - Main__error_in_web(TL_IS_261, L); + Main__error_in_web(TL_IS_265, L); WRITE_TO(pf, "BOGUS"); } Regexp__dispose_of(&mr); @@ -22257,7 +22263,7 @@ void Enumerations__define(OUTPUT_STREAM, text_stream *symbol, if (es->stub) WRITE("(%S+", es->stub); WRITE("%d", es->next_free_value++); if (es->stub) WRITE(")"); - } else Main__error_in_web(TL_IS_262, L); + } else Main__error_in_web(TL_IS_266, L); } #line 45 "inweb/Chapter 2/Enumerated Constants.w" @@ -22265,7 +22271,7 @@ void Enumerations__define(OUTPUT_STREAM, text_stream *symbol, else { #line 70 "inweb/Chapter 2/Enumerated Constants.w" - if (es) Main__error_in_web(TL_IS_263, L); + if (es) Main__error_in_web(TL_IS_267, L); else { es = CREATE(enumeration_set); es->postfix = Str__duplicate(pf); @@ -22565,7 +22571,7 @@ void Analyser__analyse_code(web *W) { if ((L->category == INTERFACE_BODY_LCAT) && (L->interface_line_identified == FALSE) && (Regexp__string_is_white_space(L->text) == FALSE)) - Main__error_in_web(TL_IS_264, L); + Main__error_in_web(TL_IS_268, L); } #line 109 "inweb/Chapter 3/The Analyser.w" @@ -22811,14 +22817,14 @@ void Analyser__write_makefile(web *W, filename *F, module_search *I, text_stream pathname *P = W->md->path_to_web; text_stream *short_name = Pathnames__directory_name(P); if ((Str__len(short_name) == 0) || - (Str__eq(short_name, TL_IS_265)) || (Str__eq(short_name, TL_IS_266))) - short_name = TL_IS_267; + (Str__eq(short_name, TL_IS_269)) || (Str__eq(short_name, TL_IS_270))) + short_name = TL_IS_271; TEMPORARY_TEXT(leafname) WRITE_TO(leafname, "%S.mkscript", short_name); filename *prototype = Filenames__in(P, leafname); DISCARD_TEXT(leafname) if (!(TextFiles__exists(prototype))) - prototype = Filenames__in(path_to_inweb_materials, TL_IS_268); + prototype = Filenames__in(path_to_inweb_materials, TL_IS_272); Makefiles__write(W, prototype, F, I, platform); } @@ -22826,21 +22832,21 @@ void Analyser__write_gitignore(web *W, filename *F) { pathname *P = W->md->path_to_web; text_stream *short_name = Pathnames__directory_name(P); if ((Str__len(short_name) == 0) || - (Str__eq(short_name, TL_IS_269)) || (Str__eq(short_name, TL_IS_270))) - short_name = TL_IS_271; + (Str__eq(short_name, TL_IS_273)) || (Str__eq(short_name, TL_IS_274))) + short_name = TL_IS_275; TEMPORARY_TEXT(leafname) WRITE_TO(leafname, "%S.giscript", short_name); filename *prototype = Filenames__in(P, leafname); DISCARD_TEXT(leafname) if (!(TextFiles__exists(prototype))) - prototype = Filenames__in(path_to_inweb_materials, TL_IS_272); + prototype = Filenames__in(path_to_inweb_materials, TL_IS_276); Git__write_gitignore(W, prototype, F); } #line 19 "inweb/Chapter 3/The Collater.w" void Collater__for_web_and_pattern(text_stream *OUT, web *W, weave_pattern *pattern, filename *F, filename *into) { - Collater__collate(OUT, W, TL_IS_273, F, pattern, NULL, NULL, NULL, into); + Collater__collate(OUT, W, TL_IS_277, F, pattern, NULL, NULL, NULL, into); } void Collater__for_order(text_stream *OUT, weave_order *wv, @@ -22995,33 +23001,33 @@ void Collater__process(text_stream *OUT, collater_state *cls) { if (Regexp__match(&mr, command, L"If (%c*)")) { text_stream *condition = mr.exp[0]; int level = IF_FALSE_LEVEL; - if (Str__eq(condition, TL_IS_274)) { + if (Str__eq(condition, TL_IS_278)) { if (cls->for_web->md->chaptered) level = IF_TRUE_LEVEL; - } else if (Str__eq(condition, TL_IS_275)) { + } else if (Str__eq(condition, TL_IS_279)) { if (LinkedLists__len(cls->modules) > 0) level = IF_TRUE_LEVEL; - } else if (Str__eq(condition, TL_IS_276)) { + } else if (Str__eq(condition, TL_IS_280)) { module *M = CONTENT_IN_ITEM( Collater__heading_topmost_on_stack(cls, MODULE_LEVEL), module); if ((M) && (Colonies__find(M->module_name))) level = IF_TRUE_LEVEL; - } else if (Str__eq(condition, TL_IS_277)) { + } else if (Str__eq(condition, TL_IS_281)) { module *M = CONTENT_IN_ITEM( Collater__heading_topmost_on_stack(cls, MODULE_LEVEL), module); if (M) { TEMPORARY_TEXT(url) TEMPORARY_TEXT(purpose) WRITE_TO(url, "%p", M->module_location); - Readme__write_var(purpose, url, TL_IS_278); + Readme__write_var(purpose, url, TL_IS_282); if (Str__len(purpose) > 0) level = IF_TRUE_LEVEL; DISCARD_TEXT(url) DISCARD_TEXT(purpose) } - } else if (Str__eq(condition, TL_IS_279)) { + } else if (Str__eq(condition, TL_IS_283)) { chapter *C = CONTENT_IN_ITEM( Collater__heading_topmost_on_stack(cls, CHAPTER_LEVEL), chapter); if ((C) && (Str__len(C->md->rubric) > 0)) level = IF_TRUE_LEVEL; - } else if (Str__eq(condition, TL_IS_280)) { + } else if (Str__eq(condition, TL_IS_284)) { section *S = CONTENT_IN_ITEM( Collater__heading_topmost_on_stack(cls, SECTION_LEVEL), section); if ((S) && (Str__len(S->sect_purpose) > 0)) level = IF_TRUE_LEVEL; @@ -23352,7 +23358,7 @@ void Collater__process(text_stream *OUT, collater_state *cls) { } else if (Str__eq_wide_string(detail, L"Purpose")) { TEMPORARY_TEXT(url) WRITE_TO(url, "%p", M->module_location); - Readme__write_var(substituted, url, TL_IS_281); + Readme__write_var(substituted, url, TL_IS_285); DISCARD_TEXT(url) } else { WRITE_TO(substituted, "%S for %S", varname, M->module_name); @@ -23552,7 +23558,7 @@ void Collater__process(text_stream *OUT, collater_state *cls) { #line 720 "inweb/Chapter 3/The Collater.w" ; WRITE_TO(substituted, ""); - } else if (Str__eq(url, TL_IS_282)) { + } else if (Str__eq(url, TL_IS_286)) { WRITE_TO(substituted, "", url); WRITE_TO(substituted, ""); @@ -23653,7 +23659,7 @@ void Collater__process(text_stream *OUT, collater_state *cls) { #line 720 "inweb/Chapter 3/The Collater.w" ; WRITE_TO(substituted, ""); - } else if (Str__eq(url, TL_IS_282)) { + } else if (Str__eq(url, TL_IS_286)) { WRITE_TO(substituted, "", url); WRITE_TO(substituted, ""); @@ -23792,11 +23798,11 @@ int Collater__cmp_owners(text_stream *O1, text_stream *O2) { return 0; } if (Str__len(O2) == 0) return 1; - if (Str__eq_insensitive(O1, TL_IS_283)) { - if (Str__eq_insensitive(O2, TL_IS_284) == FALSE) return 1; + if (Str__eq_insensitive(O1, TL_IS_287)) { + if (Str__eq_insensitive(O2, TL_IS_288) == FALSE) return 1; return 0; } - if (Str__eq_insensitive(O2, TL_IS_285)) return -1; + if (Str__eq_insensitive(O2, TL_IS_289)) return -1; return Str__cmp_insensitive(O1, O2); } @@ -23808,7 +23814,7 @@ int Weaver__weave(weave_order *wv) { tree_node *H = WeaveTree__head(tree, banner); DISCARD_TEXT(banner) tree_node *B = WeaveTree__body(tree); - tree_node *T = WeaveTree__tail(tree, TL_IS_286); + tree_node *T = WeaveTree__tail(tree, TL_IS_290); Trees__make_child(H, tree->root); Trees__make_child(B, tree->root); Trees__make_child(T, tree->root); @@ -23922,7 +23928,7 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo continue; } if (LLL->category == DEFINITIONS_LCAT) { - Weaver__weave_subheading(tree, wv, state->ap, TL_IS_287); + Weaver__weave_subheading(tree, wv, state->ap, TL_IS_291); state->next_heading_without_vertical_skip = TRUE; state->horizontal_rule_just_drawn = FALSE; continue; @@ -23962,7 +23968,7 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo source_line *L = LLL; if ((L->category != HEADING_START_LCAT) && (L->category != PARAGRAPH_START_LCAT)) - Main__error_in_web(TL_IS_288, L); /* should never happen */ + Main__error_in_web(TL_IS_292, L); /* should never happen */ { @@ -24192,11 +24198,11 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo match_results mr = Regexp__create_mr(); if (Regexp__match(&mr, matter, L"%(-...%) (%c*)")) { /* continue double */ Weaver__change_material(tree, state, COMMENTARY_MATERIAL, FALSE, NULL, NULL); - Trees__make_child(WeaveTree__weave_item_node(tree, 2, TL_IS_289), state->ap); + Trees__make_child(WeaveTree__weave_item_node(tree, 2, TL_IS_293), state->ap); Str__copy(matter, mr.exp[0]); } else if (Regexp__match(&mr, matter, L"%(...%) (%c*)")) { /* continue single */ Weaver__change_material(tree, state, COMMENTARY_MATERIAL, FALSE, NULL, NULL); - Trees__make_child(WeaveTree__weave_item_node(tree, 1, TL_IS_290), state->ap); + Trees__make_child(WeaveTree__weave_item_node(tree, 1, TL_IS_294), state->ap); Str__copy(matter, mr.exp[0]); } else if (Regexp__match(&mr, matter, L"%(-([a-zA-Z0-9*]+)%) (%c*)")) { /* begin double */ Weaver__change_material(tree, state, COMMENTARY_MATERIAL, FALSE, NULL, NULL); @@ -24245,7 +24251,7 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo footnote *F = L->footnote_text; tree_node *FN = WeaveTree__footnote(tree, F->cue_text); Trees__make_child(FN, state->material_node); - if (F->cued_already == FALSE) Main__error_in_web(TL_IS_291, L); + if (F->cued_already == FALSE) Main__error_in_web(TL_IS_295, L); state->ap = FN; } @@ -24279,10 +24285,10 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo programming_language *pl = L->colour_as; if (pl == NULL) pl = S->sect_language; if (will_be != CODE_MATERIAL) pl = NULL; - theme_tag *T = Tags__find_by_name(TL_IS_292, FALSE); + theme_tag *T = Tags__find_by_name(TL_IS_296, FALSE); if ((T) && (Tags__tagged_with(L->owning_paragraph, T))) { programming_language *prepl = - Languages__find_by_name(TL_IS_293, wv->weave_web, FALSE); + Languages__find_by_name(TL_IS_297, wv->weave_web, FALSE); if (prepl) pl = prepl; } text_stream *note = NULL; @@ -24342,14 +24348,14 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo match_results mr = Regexp__create_mr(); if ((Regexp__match(&mr, matter, L"@d (%c*)")) || (Regexp__match(&mr, matter, L"@define (%c*)"))) { - Str__copy(prefatory, TL_IS_294); + Str__copy(prefatory, TL_IS_298); Str__copy(matter, mr.exp[0]); } else if (Regexp__match(&mr, matter, L"@default (%c*)")) { - Str__copy(prefatory, TL_IS_295); + Str__copy(prefatory, TL_IS_299); Str__copy(matter, mr.exp[0]); } else if ((Regexp__match(&mr, matter, L"@e (%c*)")) || (Regexp__match(&mr, matter, L"@enum (%c*)"))) { - Str__copy(prefatory, TL_IS_296); + Str__copy(prefatory, TL_IS_300); Str__copy(matter, mr.exp[0]); } Regexp__dispose_of(&mr); @@ -24476,23 +24482,23 @@ int Weaver__weave_inner(weave_order *wv, heterogeneous_tree *tree, tree_node *bo void Weaver__show_endnotes_on_previous_paragraph(heterogeneous_tree *tree, weave_order *wv, tree_node *ap, paragraph *P) { tree_node *body = ap; - theme_tag *T = Tags__find_by_name(TL_IS_297, FALSE); + theme_tag *T = Tags__find_by_name(TL_IS_301, FALSE); if ((T) && (Tags__tagged_with(P, T))) { #line 597 "inweb/Chapter 3/The Weaver.w" tree_node *E = WeaveTree__endnote(tree); Trees__make_child(E, body); ap = E; - TextWeaver__commentary_text(tree, ap, TL_IS_298); + TextWeaver__commentary_text(tree, ap, TL_IS_302); TEMPORARY_TEXT(url) int ext = FALSE; if (Colonies__resolve_reference_in_weave(url, NULL, wv->weave_to, - TL_IS_299, wv->weave_web->md, NULL, &ext)) - Trees__make_child(WeaveTree__url(tree, url, TL_IS_300, ext), ap); + TL_IS_303, wv->weave_web->md, NULL, &ext)) + Trees__make_child(WeaveTree__url(tree, url, TL_IS_304, ext), ap); else - TextWeaver__commentary_text(tree, ap, TL_IS_301); + TextWeaver__commentary_text(tree, ap, TL_IS_305); DISCARD_TEXT(url) - TextWeaver__commentary_text(tree, ap, TL_IS_302); + TextWeaver__commentary_text(tree, ap, TL_IS_306); } #line 584 "inweb/Chapter 3/The Weaver.w" @@ -24504,30 +24510,30 @@ void Weaver__show_endnotes_on_previous_paragraph(heterogeneous_tree *tree, #line 611 "inweb/Chapter 3/The Weaver.w" tree_node *E = WeaveTree__endnote(tree); Trees__make_child(E, body); ap = E; - TextWeaver__commentary_text(tree, ap, TL_IS_303); + TextWeaver__commentary_text(tree, ap, TL_IS_307); int ct = 0; macro_usage *mu; LOOP_OVER_LINKED_LIST(mu, macro_usage, P->defines_macro->macro_usages) ct++; - if (ct == 1) TextWeaver__commentary_text(tree, ap, TL_IS_304); + if (ct == 1) TextWeaver__commentary_text(tree, ap, TL_IS_308); else { int k = 0, used_flag = FALSE; LOOP_OVER_LINKED_LIST(mu, macro_usage, P->defines_macro->macro_usages) if (P != mu->used_in_paragraph) { if (used_flag) { - if (k < ct-1) TextWeaver__commentary_text(tree, ap, TL_IS_305); - else TextWeaver__commentary_text(tree, ap, TL_IS_306); + if (k < ct-1) TextWeaver__commentary_text(tree, ap, TL_IS_309); + else TextWeaver__commentary_text(tree, ap, TL_IS_310); } else { - TextWeaver__commentary_text(tree, ap, TL_IS_307); + TextWeaver__commentary_text(tree, ap, TL_IS_311); } Trees__make_child(WeaveTree__locale(tree, mu->used_in_paragraph, NULL), ap); used_flag = TRUE; k++; switch (mu->multiplicity) { case 1: break; - case 2: TextWeaver__commentary_text(tree, ap, TL_IS_308); break; - case 3: TextWeaver__commentary_text(tree, ap, TL_IS_309); break; - case 4: TextWeaver__commentary_text(tree, ap, TL_IS_310); break; - case 5: TextWeaver__commentary_text(tree, ap, TL_IS_311); break; + case 2: TextWeaver__commentary_text(tree, ap, TL_IS_312); break; + case 3: TextWeaver__commentary_text(tree, ap, TL_IS_313); break; + case 4: TextWeaver__commentary_text(tree, ap, TL_IS_314); break; + case 5: TextWeaver__commentary_text(tree, ap, TL_IS_315); break; default: { TEMPORARY_TEXT(mt) WRITE_TO(mt, " (%d times)", mu->multiplicity); @@ -24538,7 +24544,7 @@ void Weaver__show_endnotes_on_previous_paragraph(heterogeneous_tree *tree, } } } - TextWeaver__commentary_text(tree, ap, TL_IS_312); + TextWeaver__commentary_text(tree, ap, TL_IS_316); } #line 587 "inweb/Chapter 3/The Weaver.w" @@ -24561,7 +24567,7 @@ void Weaver__show_endnotes_on_previous_paragraph(heterogeneous_tree *tree, #line 654 "inweb/Chapter 3/The Weaver.w" tree_node *E = WeaveTree__endnote(tree); Trees__make_child(E, body); ap = E; - TextWeaver__commentary_text(tree, ap, TL_IS_313); + TextWeaver__commentary_text(tree, ap, TL_IS_317); TextWeaver__commentary_text(tree, ap, st->structure_name); section *S; @@ -24585,18 +24591,18 @@ void Weaver__show_endnotes_on_previous_paragraph(heterogeneous_tree *tree, usage_count++; if (S != P->under_section) external++; } - if (external == 0) TextWeaver__commentary_text(tree, ap, TL_IS_314); + if (external == 0) TextWeaver__commentary_text(tree, ap, TL_IS_318); else { - TextWeaver__commentary_text(tree, ap, TL_IS_315); + TextWeaver__commentary_text(tree, ap, TL_IS_319); int c = 0; LOOP_OVER(S, section) if ((S->scratch_flag) && (S != P->under_section)) { - if (c++ > 0) TextWeaver__commentary_text(tree, ap, TL_IS_316); + if (c++ > 0) TextWeaver__commentary_text(tree, ap, TL_IS_320); TextWeaver__commentary_text(tree, ap, S->md->sect_range); } - if (P->under_section->scratch_flag) TextWeaver__commentary_text(tree, ap, TL_IS_317); + if (P->under_section->scratch_flag) TextWeaver__commentary_text(tree, ap, TL_IS_321); } - TextWeaver__commentary_text(tree, ap, TL_IS_318); + TextWeaver__commentary_text(tree, ap, TL_IS_322); } #line 593 "inweb/Chapter 3/The Weaver.w" @@ -24614,7 +24620,7 @@ void Weaver__show_function_usage(heterogeneous_tree *tree, weave_order *wv, if (as_list == FALSE) { tree_node *E = WeaveTree__endnote(tree); Trees__make_child(E, body); ap = E; - TextWeaver__commentary_text(tree, ap, TL_IS_319); + TextWeaver__commentary_text(tree, ap, TL_IS_323); TextWeaver__commentary_text(tree, ap, fn->function_name); } int used_flag = FALSE; @@ -24628,7 +24634,7 @@ void Weaver__show_function_usage(heterogeneous_tree *tree, weave_order *wv, { #line 733 "inweb/Chapter 3/The Weaver.w" if (as_list == FALSE) { - if (used_flag == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_324); + if (used_flag == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_328); } used_flag = TRUE; section *S = hteu->usage_recorded_at->under_section; @@ -24636,17 +24642,17 @@ void Weaver__show_function_usage(heterogeneous_tree *tree, weave_order *wv, count_under = 0; if (last_cited_in) { if (as_list == FALSE) { - if (last_cited_in != P->under_section) TextWeaver__commentary_text(tree, ap, TL_IS_325); - else TextWeaver__commentary_text(tree, ap, TL_IS_326); + if (last_cited_in != P->under_section) TextWeaver__commentary_text(tree, ap, TL_IS_329); + else TextWeaver__commentary_text(tree, ap, TL_IS_330); } else { Trees__make_child(WeaveTree__linebreak(tree), ap); } } TextWeaver__commentary_text(tree, ap, hteu->usage_recorded_at->under_section->md->sect_title); - if (as_list == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_327); - else TextWeaver__commentary_text(tree, ap, TL_IS_328); + if (as_list == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_331); + else TextWeaver__commentary_text(tree, ap, TL_IS_332); } - if (count_under++ > 0) TextWeaver__commentary_text(tree, ap, TL_IS_329); + if (count_under++ > 0) TextWeaver__commentary_text(tree, ap, TL_IS_333); Trees__make_child(WeaveTree__locale(tree, hteu->usage_recorded_at, NULL), ap); last_cited_in = hteu->usage_recorded_at->under_section; @@ -24659,7 +24665,7 @@ void Weaver__show_function_usage(heterogeneous_tree *tree, weave_order *wv, { #line 733 "inweb/Chapter 3/The Weaver.w" if (as_list == FALSE) { - if (used_flag == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_324); + if (used_flag == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_328); } used_flag = TRUE; section *S = hteu->usage_recorded_at->under_section; @@ -24667,17 +24673,17 @@ void Weaver__show_function_usage(heterogeneous_tree *tree, weave_order *wv, count_under = 0; if (last_cited_in) { if (as_list == FALSE) { - if (last_cited_in != P->under_section) TextWeaver__commentary_text(tree, ap, TL_IS_325); - else TextWeaver__commentary_text(tree, ap, TL_IS_326); + if (last_cited_in != P->under_section) TextWeaver__commentary_text(tree, ap, TL_IS_329); + else TextWeaver__commentary_text(tree, ap, TL_IS_330); } else { Trees__make_child(WeaveTree__linebreak(tree), ap); } } TextWeaver__commentary_text(tree, ap, hteu->usage_recorded_at->under_section->md->sect_title); - if (as_list == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_327); - else TextWeaver__commentary_text(tree, ap, TL_IS_328); + if (as_list == FALSE) TextWeaver__commentary_text(tree, ap, TL_IS_331); + else TextWeaver__commentary_text(tree, ap, TL_IS_332); } - if (count_under++ > 0) TextWeaver__commentary_text(tree, ap, TL_IS_329); + if (count_under++ > 0) TextWeaver__commentary_text(tree, ap, TL_IS_333); Trees__make_child(WeaveTree__locale(tree, hteu->usage_recorded_at, NULL), ap); last_cited_in = hteu->usage_recorded_at->under_section; @@ -24686,15 +24692,15 @@ void Weaver__show_function_usage(heterogeneous_tree *tree, weave_order *wv, ; if (used_flag == FALSE) { if (as_list == FALSE) { - TextWeaver__commentary_text(tree, ap, TL_IS_320); + TextWeaver__commentary_text(tree, ap, TL_IS_324); } else { - TextWeaver__commentary_text(tree, ap, TL_IS_321); + TextWeaver__commentary_text(tree, ap, TL_IS_325); } } if (as_list == FALSE) { if ((last_cited_in != P->under_section) && (last_cited_in)) - TextWeaver__commentary_text(tree, ap, TL_IS_322); - TextWeaver__commentary_text(tree, ap, TL_IS_323); + TextWeaver__commentary_text(tree, ap, TL_IS_326); + TextWeaver__commentary_text(tree, ap, TL_IS_327); } } @@ -24776,8 +24782,8 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre weave_order *wv = C->wv; text_stream *code_in_comments_notation = Bibliographic__get_datum(wv->weave_web->md, - (in_code)?(TL_IS_330):(TL_IS_331)); - if (Str__ne(code_in_comments_notation, TL_IS_332)) + (in_code)?(TL_IS_334):(TL_IS_335)); + if (Str__ne(code_in_comments_notation, TL_IS_336)) { #line 51 "inweb/Chapter 3/The Weaver of Text.w" for (int i=0; i < Str__len(matter); i++) { @@ -24802,8 +24808,8 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre int display_flag = TRUE; text_stream *tex_notation = Bibliographic__get_datum(wv->weave_web->md, - TL_IS_333); - if (Str__ne(tex_notation, TL_IS_334)) + TL_IS_337); + if (Str__ne(tex_notation, TL_IS_338)) { #line 99 "inweb/Chapter 3/The Weaver of Text.w" int N = Str__len(tex_notation); @@ -24838,8 +24844,8 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre ; display_flag = FALSE; tex_notation = Bibliographic__get_datum(wv->weave_web->md, - TL_IS_335); - if (Str__ne(tex_notation, TL_IS_336)) + TL_IS_339); + if (Str__ne(tex_notation, TL_IS_340)) { #line 99 "inweb/Chapter 3/The Weaver of Text.w" int N = Str__len(tex_notation); @@ -24874,8 +24880,8 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre ; text_stream *xref_notation = Bibliographic__get_datum(wv->weave_web->md, - TL_IS_337); - if (Str__ne(xref_notation, TL_IS_338)) + TL_IS_341); + if (Str__ne(xref_notation, TL_IS_342)) { #line 150 "inweb/Chapter 3/The Weaver of Text.w" int N = Str__len(xref_notation); @@ -24935,8 +24941,8 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre { #line 68 "inweb/Chapter 3/The Weaver of Text.w" for (int i=0; i < Str__len(matter); i++) { - if ((Str__includes_at(matter, i, TL_IS_339)) || - (Str__includes_at(matter, i, TL_IS_340))) { + if ((Str__includes_at(matter, i, TL_IS_343)) || + (Str__includes_at(matter, i, TL_IS_344))) { TEMPORARY_TEXT(before) Str__copy(before, matter); Str__truncate(before, i); TEMPORARY_TEXT(after) @@ -24984,7 +24990,7 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre Trees__make_child(WeaveTree__footnote_cue(tree, F->cue_text), ap); TextWeaver__commentary_r(tree, ap, after, within, in_code); } else { - Main__error_in_web(TL_IS_341, wv->current_weave_line); + Main__error_in_web(TL_IS_345, wv->current_weave_line); } } DISCARD_TEXT(before) @@ -25038,8 +25044,8 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap, { #line 261 "inweb/Chapter 3/The Weaver of Text.w" - if ((Str__includes_at(matter, i, TL_IS_344)) || - (Str__includes_at(matter, i, TL_IS_345))) { + if ((Str__includes_at(matter, i, TL_IS_348)) || + (Str__includes_at(matter, i, TL_IS_349))) { TEMPORARY_TEXT(after) Str__substr(after, Str__at(matter, i), Str__end(matter)); match_results mr = Regexp__create_mr(); @@ -25057,8 +25063,8 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap, #line 237 "inweb/Chapter 3/The Weaver of Text.w" ; text_stream *xref_notation = Bibliographic__get_datum(wv->weave_web->md, - TL_IS_342); - if (Str__ne(xref_notation, TL_IS_343)) + TL_IS_346); + if (Str__ne(xref_notation, TL_IS_347)) { #line 277 "inweb/Chapter 3/The Weaver of Text.w" @@ -25195,7 +25201,7 @@ void Tangler__tangle(web *W, tangle_target *target, filename *dest_file) { { #line 88 "inweb/Chapter 3/The Tangler.w" - if (L->owning_paragraph == NULL) Main__error_in_web(TL_IS_346, L); + if (L->owning_paragraph == NULL) Main__error_in_web(TL_IS_350, L); else Tags__open_ifdefs(OUT, L->owning_paragraph); LanguageMethods__start_definition(OUT, lang, L->text_operand, @@ -25217,7 +25223,7 @@ void Tangler__tangle(web *W, tangle_target *target, filename *dest_file) { { #line 88 "inweb/Chapter 3/The Tangler.w" - if (L->owning_paragraph == NULL) Main__error_in_web(TL_IS_346, L); + if (L->owning_paragraph == NULL) Main__error_in_web(TL_IS_350, L); else Tags__open_ifdefs(OUT, L->owning_paragraph); LanguageMethods__start_definition(OUT, lang, L->text_operand, @@ -25368,7 +25374,7 @@ void Tangler__tangle_line(OUTPUT_STREAM, text_stream *original, section *S, sour LanguageMethods__after_macro_expansion(OUT, lang, pmac); LanguageMethods__insert_line_marker(OUT, lang, L); } else { - Main__error_in_web(TL_IS_347, L); + Main__error_in_web(TL_IS_351, L); WRITE_TO(STDERR, "Macro is '%S'\n", temp); LanguageMethods__comment(OUT, lang, temp); /* recover by putting macro name in comment */ } @@ -25438,7 +25444,7 @@ programming_language *Languages__find_by_name(text_stream *lname, web *W, #line 27 "inweb/Chapter 4/Programming Languages.w" filename *F = NULL; if (W) { - pathname *P = Pathnames__down(W->md->path_to_web, TL_IS_348); + pathname *P = Pathnames__down(W->md->path_to_web, TL_IS_352); { #line 43 "inweb/Chapter 4/Programming Languages.w" @@ -25488,7 +25494,7 @@ programming_language *Languages__find_by_name(text_stream *lname, web *W, #line 54 "inweb/Chapter 4/Programming Languages.w" programming_language *Languages__default(web *W) { - return Languages__find_by_name(TL_IS_349, W, TRUE); + return Languages__find_by_name(TL_IS_353, W, TRUE); } void Languages__show(OUTPUT_STREAM) { @@ -25530,7 +25536,7 @@ void Languages__read_definitions(pathname *P) { } pathname *Languages__default_directory(void) { - return Pathnames__down(path_to_inweb, TL_IS_350); + return Pathnames__down(path_to_inweb, TL_IS_354); } #line 148 "inweb/Chapter 4/Programming Languages.w" @@ -25590,7 +25596,7 @@ programming_language *Languages__read_definition(filename *F) { { #line 219 "inweb/Chapter 4/Programming Languages.w" if (pl->C_like) CLike__make_c_like(pl); - if (Str__eq(pl->language_name, TL_IS_351)) InCSupport__add_features(pl); + if (Str__eq(pl->language_name, TL_IS_355)) InCSupport__add_features(pl); ACMESupport__add_fallbacks(pl); } @@ -25612,7 +25618,7 @@ void Languages__read_definition_line(text_stream *line, text_file_position *tfp, if (state->current_block) { #line 327 "inweb/Chapter 4/Programming Languages.w" - if (Str__eq(line, TL_IS_383)) { + if (Str__eq(line, TL_IS_387)) { state->current_block = state->current_block->parent; } else if (Regexp__match(&mr, line, L"characters {")) { colouring_rule *rule = Languages__new_rule(state->current_block); @@ -25628,7 +25634,7 @@ void Languages__read_definition_line(text_stream *line, text_file_position *tfp, } else if (Regexp__match(&mr, line, L"runs of (%c+) {")) { colouring_rule *rule = Languages__new_rule(state->current_block); wchar_t r = UNQUOTED_COLOUR; - if (Str__ne(mr.exp[0], TL_IS_384)) r = Languages__colour(mr.exp[0], tfp); + if (Str__ne(mr.exp[0], TL_IS_388)) r = Languages__colour(mr.exp[0], tfp); rule->execute_block = Languages__new_block(state->current_block, (int) r); state->current_block = rule->execute_block; } else if (Regexp__match(&mr, line, L"instances of (%c+) {")) { @@ -25683,66 +25689,66 @@ void Languages__read_definition_line(text_stream *line, text_file_position *tfp, Languages__reserved(pl, Languages__text(mr.exp[0], tfp, FALSE), RESERVED_COLOUR, tfp); } else if (Regexp__match(&mr, line, L"(%c+) *: *(%c+?)")) { text_stream *key = mr.exp[0], *value = Str__duplicate(mr.exp[1]); - if (Str__eq(key, TL_IS_352)) pl->language_name = Languages__text(value, tfp, TRUE); - else if (Str__eq(key, TL_IS_353)) - pl->language_details = Languages__text(value, tfp, TRUE); - else if (Str__eq(key, TL_IS_354)) - pl->file_extension = Languages__text(value, tfp, TRUE); - else if (Str__eq(key, TL_IS_355)) - pl->line_comment = Languages__text(value, tfp, TRUE); - else if (Str__eq(key, TL_IS_356)) - pl->whole_line_comment = Languages__text(value, tfp, TRUE); + if (Str__eq(key, TL_IS_356)) pl->language_name = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_357)) - pl->multiline_comment_open = Languages__text(value, tfp, TRUE); + pl->language_details = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_358)) - pl->multiline_comment_close = Languages__text(value, tfp, TRUE); + pl->file_extension = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_359)) - pl->string_literal = Languages__text(value, tfp, TRUE); + pl->line_comment = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_360)) - pl->string_literal_escape = Languages__text(value, tfp, TRUE); + pl->whole_line_comment = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_361)) - pl->character_literal = Languages__text(value, tfp, TRUE); + pl->multiline_comment_open = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_362)) - pl->character_literal_escape = Languages__text(value, tfp, TRUE); + pl->multiline_comment_close = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_363)) - pl->binary_literal_prefix = Languages__text(value, tfp, TRUE); + pl->string_literal = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_364)) - pl->octal_literal_prefix = Languages__text(value, tfp, TRUE); + pl->string_literal_escape = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_365)) - pl->hexadecimal_literal_prefix = Languages__text(value, tfp, TRUE); + pl->character_literal = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_366)) - pl->negative_literal_prefix = Languages__text(value, tfp, TRUE); + pl->character_literal_escape = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_367)) - pl->shebang = Languages__text(value, tfp, TRUE); + pl->binary_literal_prefix = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_368)) - pl->line_marker = Languages__text(value, tfp, TRUE); + pl->octal_literal_prefix = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_369)) - pl->before_macro_expansion = Languages__text(value, tfp, TRUE); + pl->hexadecimal_literal_prefix = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_370)) - pl->after_macro_expansion = Languages__text(value, tfp, TRUE); + pl->negative_literal_prefix = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_371)) - pl->start_definition = Languages__text(value, tfp, TRUE); + pl->shebang = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_372)) - pl->prolong_definition = Languages__text(value, tfp, TRUE); + pl->line_marker = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_373)) - pl->end_definition = Languages__text(value, tfp, TRUE); + pl->before_macro_expansion = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_374)) - pl->start_ifdef = Languages__text(value, tfp, TRUE); + pl->after_macro_expansion = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_375)) - pl->start_ifndef = Languages__text(value, tfp, TRUE); + pl->start_definition = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_376)) - pl->end_ifdef = Languages__text(value, tfp, TRUE); + pl->prolong_definition = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_377)) - pl->end_ifndef = Languages__text(value, tfp, TRUE); + pl->end_definition = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_378)) - pl->C_like = Languages__boolean(value, tfp); + pl->start_ifdef = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_379)) - pl->suppress_disclaimer = Languages__boolean(value, tfp); + pl->start_ifndef = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_380)) - pl->supports_namespaces = Languages__boolean(value, tfp); + pl->end_ifdef = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_381)) - Languages__regexp(pl->function_notation, value, tfp); + pl->end_ifndef = Languages__text(value, tfp, TRUE); else if (Str__eq(key, TL_IS_382)) + pl->C_like = Languages__boolean(value, tfp); + else if (Str__eq(key, TL_IS_383)) + pl->suppress_disclaimer = Languages__boolean(value, tfp); + else if (Str__eq(key, TL_IS_384)) + pl->supports_namespaces = Languages__boolean(value, tfp); + else if (Str__eq(key, TL_IS_385)) + Languages__regexp(pl->function_notation, value, tfp); + else if (Str__eq(key, TL_IS_386)) Languages__regexp(pl->type_notation, value, tfp); else { Errors__in_text_file("unknown property name before ':'", tfp); @@ -25852,7 +25858,7 @@ void Languages__parse_rule(language_reader_state *state, text_stream *premiss, { #line 537 "inweb/Chapter 4/Programming Languages.w" - if (Str__eq(action, TL_IS_385)) { + if (Str__eq(action, TL_IS_389)) { rule->execute_block = Languages__new_block(state->current_block, WHOLE_LINE_CRULE_RUN); state->current_block = rule->execute_block; @@ -25865,7 +25871,7 @@ void Languages__parse_rule(language_reader_state *state, text_stream *premiss, rule->set_prefix_to_colour = rule->set_to_colour; } else if (Str__get_first_char(action) == '!') { rule->set_to_colour = Languages__colour(action, tfp); - } else if (Str__eq(action, TL_IS_386)) { + } else if (Str__eq(action, TL_IS_390)) { rule->debug = TRUE; } else { Errors__in_text_file("action after '=>' illegible", tfp); @@ -25900,17 +25906,17 @@ wchar_t Languages__colour(text_stream *T, text_file_position *tfp) { Errors__in_text_file("colour names must begin with !", tfp); return PLAIN_COLOUR; } - if (Str__eq(T, TL_IS_387)) return STRING_COLOUR; - else if (Str__eq(T, TL_IS_388)) return FUNCTION_COLOUR; - else if (Str__eq(T, TL_IS_389)) return DEFINITION_COLOUR; - else if (Str__eq(T, TL_IS_390)) return RESERVED_COLOUR; - else if (Str__eq(T, TL_IS_391)) return ELEMENT_COLOUR; - else if (Str__eq(T, TL_IS_392)) return IDENTIFIER_COLOUR; - else if (Str__eq(T, TL_IS_393)) return CHARACTER_COLOUR; - else if (Str__eq(T, TL_IS_394)) return CONSTANT_COLOUR; - else if (Str__eq(T, TL_IS_395)) return PLAIN_COLOUR; - else if (Str__eq(T, TL_IS_396)) return EXTRACT_COLOUR; - else if (Str__eq(T, TL_IS_397)) return COMMENT_COLOUR; + if (Str__eq(T, TL_IS_391)) return STRING_COLOUR; + else if (Str__eq(T, TL_IS_392)) return FUNCTION_COLOUR; + else if (Str__eq(T, TL_IS_393)) return DEFINITION_COLOUR; + else if (Str__eq(T, TL_IS_394)) return RESERVED_COLOUR; + else if (Str__eq(T, TL_IS_395)) return ELEMENT_COLOUR; + else if (Str__eq(T, TL_IS_396)) return IDENTIFIER_COLOUR; + else if (Str__eq(T, TL_IS_397)) return CHARACTER_COLOUR; + else if (Str__eq(T, TL_IS_398)) return CONSTANT_COLOUR; + else if (Str__eq(T, TL_IS_399)) return PLAIN_COLOUR; + else if (Str__eq(T, TL_IS_400)) return EXTRACT_COLOUR; + else if (Str__eq(T, TL_IS_401)) return COMMENT_COLOUR; else { Errors__in_text_file("no such !colour", tfp); return PLAIN_COLOUR; @@ -25919,8 +25925,8 @@ wchar_t Languages__colour(text_stream *T, text_file_position *tfp) { #line 628 "inweb/Chapter 4/Programming Languages.w" int Languages__boolean(text_stream *T, text_file_position *tfp) { - if (Str__eq(T, TL_IS_398)) return TRUE; - else if (Str__eq(T, TL_IS_399)) return FALSE; + if (Str__eq(T, TL_IS_402)) return TRUE; + else if (Str__eq(T, TL_IS_403)) return FALSE; else { Errors__in_text_file("must be true or false", tfp); return FALSE; @@ -25978,10 +25984,6 @@ text_stream *Languages__text(text_stream *T, text_file_position *tfp, int allow) } if (bareword) { int rw = FALSE; - if (Str__eq(V, TL_IS_400)) rw = TRUE; - if (Str__eq(V, TL_IS_401)) rw = TRUE; - if (Str__eq(V, TL_IS_402)) rw = TRUE; - if (Str__eq(V, TL_IS_403)) rw = TRUE; if (Str__eq(V, TL_IS_404)) rw = TRUE; if (Str__eq(V, TL_IS_405)) rw = TRUE; if (Str__eq(V, TL_IS_406)) rw = TRUE; @@ -26000,6 +26002,10 @@ text_stream *Languages__text(text_stream *T, text_file_position *tfp, int allow) if (Str__eq(V, TL_IS_419)) rw = TRUE; if (Str__eq(V, TL_IS_420)) rw = TRUE; if (Str__eq(V, TL_IS_421)) rw = TRUE; + if (Str__eq(V, TL_IS_422)) rw = TRUE; + if (Str__eq(V, TL_IS_423)) rw = TRUE; + if (Str__eq(V, TL_IS_424)) rw = TRUE; + if (Str__eq(V, TL_IS_425)) rw = TRUE; if (rw) { TEMPORARY_TEXT(err) @@ -26098,7 +26104,7 @@ language_type *Functions__new_struct(web *W, text_stream *name, source_line *L) { #line 40 "inweb/Chapter 4/Types and Functions.w" - Tags__add_by_name(L->owning_paragraph, TL_IS_422); + Tags__add_by_name(L->owning_paragraph, TL_IS_426); ADD_TO_LINKED_LIST(str, language_type, W->language_types); ADD_TO_LINKED_LIST(str, language_type, L->owning_paragraph->structures); @@ -26211,7 +26217,7 @@ language_function *Functions__new_function(text_stream *fname, source_line *L) { fn->within_namespace = TRUE; } else if ((Str__eq_wide_string(fname, L"main")) && (Str__eq_wide_string(ambient_namespace, L"Main::"))) - declared_namespace = TL_IS_423; + declared_namespace = TL_IS_427; if ((Str__ne(declared_namespace, ambient_namespace)) && (L->owning_paragraph->placed_very_early == FALSE)) { TEMPORARY_TEXT(err_mess) @@ -26324,7 +26330,7 @@ void LanguageMethods__disclaimer(text_stream *OUT, programming_language *pl, web int rv = FALSE; INT_METHOD_CALL_WITHOUT_ARGUMENTS(rv, pl, SUPPRESS_DISCLAIMER_TAN_MTID); if (rv == FALSE) - LanguageMethods__comment(OUT, pl, TL_IS_424); + LanguageMethods__comment(OUT, pl, TL_IS_428); } #line 127 "inweb/Chapter 4/Language Methods.w" @@ -26347,7 +26353,7 @@ void LanguageMethods__start_definition(OUTPUT_STREAM, programming_language *pl, int rv = FALSE; INT_METHOD_CALL(rv, pl, START_DEFN_TAN_MTID, OUT, term, start, S, L); if (rv == FALSE) - Main__error_in_web(TL_IS_425, L); + Main__error_in_web(TL_IS_429, L); } void LanguageMethods__prolong_definition(OUTPUT_STREAM, programming_language *pl, @@ -26355,7 +26361,7 @@ void LanguageMethods__prolong_definition(OUTPUT_STREAM, programming_language *pl int rv = FALSE; INT_METHOD_CALL(rv, pl, PROLONG_DEFN_TAN_MTID, OUT, more, S, L); if (rv == FALSE) - Main__error_in_web(TL_IS_426, L); + Main__error_in_web(TL_IS_430, L); } void LanguageMethods__end_definition(OUTPUT_STREAM, programming_language *pl, @@ -26512,9 +26518,9 @@ int LanguageMethods__syntax_colour(programming_language *pl, int rv = FALSE; programming_language *colour_as = pl; if (L->category == TEXT_EXTRACT_LCAT) colour_as = L->colour_as; - theme_tag *T = Tags__find_by_name(TL_IS_427, FALSE); + theme_tag *T = Tags__find_by_name(TL_IS_431, FALSE); if ((T) && (Tags__tagged_with(L->owning_paragraph, T))) { - programming_language *prepl = Languages__find_by_name(TL_IS_428, wv->weave_web, FALSE); + programming_language *prepl = Languages__find_by_name(TL_IS_432, wv->weave_web, FALSE); if ((L->category == PREFORM_LCAT) || (L->category == PREFORM_GRAMMAR_LCAT)) if (prepl) colour_as = prepl; } @@ -26853,7 +26859,7 @@ void ACMESupport__parse_functions(programming_language *self, web *W) { #line 287 "inweb/Chapter 4/ACME Support.w" void ACMESupport__post_analysis(programming_language *self, web *W) { int check_namespaces = FALSE; - if (Str__eq_wide_string(Bibliographic__get_datum(W->md, TL_IS_429), L"On")) + if (Str__eq_wide_string(Bibliographic__get_datum(W->md, TL_IS_433), L"On")) check_namespaces = TRUE; language_function *fn; LOOP_OVER(fn, language_function) { @@ -26873,11 +26879,11 @@ void ACMESupport__post_analysis(programming_language *self, web *W) { && (fn->call_freely == FALSE)) { if (fn->within_namespace) Main__error_in_web( - TL_IS_430, + TL_IS_434, fn->function_header_at); else Main__error_in_web( - TL_IS_431, + TL_IS_435, fn->function_header_at); } } @@ -27352,7 +27358,7 @@ void CLike__parse_types(programming_language *self, web *W) { if (Regexp__match(&mr, L->text, L"typedef struct (%i+) %c*{%c*")) { current_str = Functions__new_struct(W, mr.exp[0], L); - Tags__add_by_name(L->owning_paragraph, TL_IS_432); + Tags__add_by_name(L->owning_paragraph, TL_IS_436); } else if ((Str__get_first_char(L->text) == '}') && (current_str)) { current_str->typedef_ends = L; current_str = NULL; @@ -27488,14 +27494,14 @@ void CLike__parse_functions(programming_language *self, web *W) { if ((Regexp__match(&mr, L->text, L" *#ifn*def %c+")) || (Regexp__match(&mr, L->text, L" *#IFN*DEF %c+"))) { if (cc_sp >= MAX_CONDITIONAL_COMPILATION_STACK) - Main__error_in_web(TL_IS_434, L); + Main__error_in_web(TL_IS_438, L); else cc_stack[cc_sp++] = L; } if ((Regexp__match(&mr, L->text, L" *#endif *")) || (Regexp__match(&mr, L->text, L" *#ENDIF *"))) { if (cc_sp <= 0) - Main__error_in_web(TL_IS_435, L); + Main__error_in_web(TL_IS_439, L); else cc_sp--; } @@ -27589,7 +27595,7 @@ void CLike__parse_functions(programming_language *self, web *W) { ; } if (cc_sp > 0) - Main__error_in_web(TL_IS_433, NULL); + Main__error_in_web(TL_IS_437, NULL); } #line 316 "inweb/Chapter 4/C-Like Languages.w" @@ -27763,7 +27769,7 @@ void InCSupport__further_parsing(programming_language *self, web *W) { { #line 218 "inweb/Chapter 4/InC Support.w" - Tags__add_by_name(L->owning_paragraph, TL_IS_436); + Tags__add_by_name(L->owning_paragraph, TL_IS_440); source_line *AL; for (AL = L; (AL) && (AL->category == CODE_BODY_LCAT); AL = AL->next_line) { if (Regexp__string_is_white_space(AL->text)) break; @@ -28191,7 +28197,7 @@ void InCSupport__expand_formula(text_stream *OUT, source_line *AL, preform_nonte (Str__get_at(formula, i+2) == '[') && (isdigit(Str__get_at(formula, i+3))) && (Str__get_at(formula, i+4) == ']')) { if (pnt == NULL) { - Main__error_in_web(TL_IS_437, AL); + Main__error_in_web(TL_IS_441, AL); if (AL == NULL) WRITE_TO(STDERR, "%S\n", formula); } else { WRITE_TO(expanded, @@ -28270,25 +28276,25 @@ void InCSupport__tangle_line_inner(text_stream *OUT, source_line *AL, preform_no if (clauses == 1) { #line 765 "inweb/Chapter 4/InC Support.w" - if (Str__eq(clause[0], TL_IS_439)) { + if (Str__eq(clause[0], TL_IS_443)) { clause[1] = Str__new(); clauses = 2; WRITE_TO(extra, "return FAIL_NONTERMINAL;"); Str__clear(clause[0]); WRITE_TO(clause[0], "-"); WRITE_TO(clause[1], "-"); - } else if (Str__eq(clause[0], TL_IS_440)) { + } else if (Str__eq(clause[0], TL_IS_444)) { clause[1] = Str__new(); clauses = 2; WRITE_TO(extra, "return FALSE;"); Str__clear(clause[0]); WRITE_TO(clause[0], "-"); WRITE_TO(clause[1], "-"); - } else if (Str__eq(clause[0], TL_IS_441)) { + } else if (Str__eq(clause[0], TL_IS_445)) { clause[1] = Str__new(); clauses = 2; WRITE_TO(extra, "return FALSE;"); Str__clear(clause[0]); WRITE_TO(clause[0], "-"); WRITE_TO(clause[1], "-"); - } else if (Str__prefix_eq(clause[0], TL_IS_442, 8)) { + } else if (Str__prefix_eq(clause[0], TL_IS_446, 8)) { clause[1] = Str__new(); clauses = 2; WRITE_TO(extra, "return FAIL_NONTERMINAL + "); Str__substr(extra, Str__at(clause[0], 8), Str__end(clause[0])); @@ -28296,7 +28302,7 @@ void InCSupport__tangle_line_inner(text_stream *OUT, source_line *AL, preform_no Str__clear(clause[0]); WRITE_TO(clause[0], "0"); WRITE_TO(clause[1], "NULL"); - } else if (Str__prefix_eq(clause[0], TL_IS_443, 5)) { + } else if (Str__prefix_eq(clause[0], TL_IS_447, 5)) { clause[1] = Str__new(); clauses = 2; TEMPORARY_TEXT(from) Str__substr(from, Str__at(clause[0], 5), Str__end(clause[0])); @@ -28304,7 +28310,7 @@ void InCSupport__tangle_line_inner(text_stream *OUT, source_line *AL, preform_no WRITE_TO(clause[0], "R[%S]", from); WRITE_TO(clause[1], "RP[%S]", from); DISCARD_TEXT(from) - } else if (Str__eq(clause[0], TL_IS_444)) { + } else if (Str__eq(clause[0], TL_IS_448)) { clause[1] = Str__new(); clauses = 2; Str__clear(clause[0]); WRITE_TO(clause[0], "0"); @@ -28320,7 +28326,7 @@ void InCSupport__tangle_line_inner(text_stream *OUT, source_line *AL, preform_no { #line 815 "inweb/Chapter 4/InC Support.w" for (int c=0; cntv_name, name)) @@ -28454,7 +28460,7 @@ text_stream *InCSupport__nonterminal_variable_identifier(text_stream *name) { void InCSupport__additional_tangling(programming_language *self, web *W, tangle_target *target) { if (NUMBER_CREATED(preform_nonterminal) > 0) { pathname *P = Reader__tangled_folder(W); - filename *Syntax = Filenames__in(P, TL_IS_449); + filename *Syntax = Filenames__in(P, TL_IS_453); text_stream TO_struct; text_stream *OUT = &TO_struct; @@ -28465,8 +28471,8 @@ void InCSupport__additional_tangling(programming_language *self, web *W, tangle_ WRITE("[Preform syntax generated by inweb: do not edit.]\n\n"); - if (Bibliographic__data_exists(W->md, TL_IS_450)) - WRITE("language %S\n", Bibliographic__get_datum(W->md, TL_IS_451)); + if (Bibliographic__data_exists(W->md, TL_IS_454)) + WRITE("language %S\n", Bibliographic__get_datum(W->md, TL_IS_455)); { @@ -28770,101 +28776,101 @@ tree_node_type *weave_maths_node_type = NULL; heterogeneous_tree *WeaveTree__new_tree(weave_order *wv) { if (weave_tree_type == NULL) { - weave_tree_type = Trees__new_type(TL_IS_452, NULL); + weave_tree_type = Trees__new_type(TL_IS_456, NULL); weave_document_node_type = - Trees__new_node_type(TL_IS_453, weave_document_node_CLASS, NULL); + Trees__new_node_type(TL_IS_457, weave_document_node_CLASS, NULL); weave_head_node_type = - Trees__new_node_type(TL_IS_454, weave_head_node_CLASS, NULL); + Trees__new_node_type(TL_IS_458, weave_head_node_CLASS, NULL); weave_body_node_type = - Trees__new_node_type(TL_IS_455, weave_body_node_CLASS, NULL); + Trees__new_node_type(TL_IS_459, weave_body_node_CLASS, NULL); weave_tail_node_type = - Trees__new_node_type(TL_IS_456, weave_tail_node_CLASS, NULL); + Trees__new_node_type(TL_IS_460, weave_tail_node_CLASS, NULL); weave_chapter_footer_node_type = - Trees__new_node_type(TL_IS_457, weave_chapter_footer_node_CLASS, NULL); + Trees__new_node_type(TL_IS_461, weave_chapter_footer_node_CLASS, NULL); weave_chapter_header_node_type = - Trees__new_node_type(TL_IS_458, weave_chapter_header_node_CLASS, NULL); + Trees__new_node_type(TL_IS_462, weave_chapter_header_node_CLASS, NULL); weave_section_footer_node_type = - Trees__new_node_type(TL_IS_459, weave_section_footer_node_CLASS, NULL); + Trees__new_node_type(TL_IS_463, weave_section_footer_node_CLASS, NULL); weave_section_header_node_type = - Trees__new_node_type(TL_IS_460, weave_section_header_node_CLASS, NULL); + Trees__new_node_type(TL_IS_464, weave_section_header_node_CLASS, NULL); weave_section_purpose_node_type = - Trees__new_node_type(TL_IS_461, weave_section_purpose_node_CLASS, NULL); + Trees__new_node_type(TL_IS_465, weave_section_purpose_node_CLASS, NULL); weave_subheading_node_type = - Trees__new_node_type(TL_IS_462, weave_subheading_node_CLASS, NULL); + Trees__new_node_type(TL_IS_466, weave_subheading_node_CLASS, NULL); weave_bar_node_type = - Trees__new_node_type(TL_IS_463, weave_bar_node_CLASS, NULL); + Trees__new_node_type(TL_IS_467, weave_bar_node_CLASS, NULL); weave_pagebreak_node_type = - Trees__new_node_type(TL_IS_464, weave_pagebreak_node_CLASS, NULL); + Trees__new_node_type(TL_IS_468, weave_pagebreak_node_CLASS, NULL); weave_linebreak_node_type = - Trees__new_node_type(TL_IS_465, weave_linebreak_node_CLASS, NULL); + Trees__new_node_type(TL_IS_469, weave_linebreak_node_CLASS, NULL); weave_paragraph_heading_node_type = - Trees__new_node_type(TL_IS_466, weave_paragraph_heading_node_CLASS, NULL); + Trees__new_node_type(TL_IS_470, weave_paragraph_heading_node_CLASS, NULL); weave_endnote_node_type = - Trees__new_node_type(TL_IS_467, weave_endnote_node_CLASS, NULL); + Trees__new_node_type(TL_IS_471, weave_endnote_node_CLASS, NULL); weave_figure_node_type = - Trees__new_node_type(TL_IS_468, weave_figure_node_CLASS, NULL); + Trees__new_node_type(TL_IS_472, weave_figure_node_CLASS, NULL); weave_extract_node_type = - Trees__new_node_type(TL_IS_469, weave_extract_node_CLASS, NULL); + Trees__new_node_type(TL_IS_473, weave_extract_node_CLASS, NULL); weave_audio_node_type = - Trees__new_node_type(TL_IS_470, weave_audio_node_CLASS, NULL); + Trees__new_node_type(TL_IS_474, weave_audio_node_CLASS, NULL); weave_video_node_type = - Trees__new_node_type(TL_IS_471, weave_video_node_CLASS, NULL); + Trees__new_node_type(TL_IS_475, weave_video_node_CLASS, NULL); weave_download_node_type = - Trees__new_node_type(TL_IS_472, weave_download_node_CLASS, NULL); + Trees__new_node_type(TL_IS_476, weave_download_node_CLASS, NULL); weave_material_node_type = - Trees__new_node_type(TL_IS_473, weave_material_node_CLASS, NULL); + Trees__new_node_type(TL_IS_477, weave_material_node_CLASS, NULL); weave_embed_node_type = - Trees__new_node_type(TL_IS_474, weave_embed_node_CLASS, NULL); + Trees__new_node_type(TL_IS_478, weave_embed_node_CLASS, NULL); weave_pmac_node_type = - Trees__new_node_type(TL_IS_475, weave_pmac_node_CLASS, NULL); + Trees__new_node_type(TL_IS_479, weave_pmac_node_CLASS, NULL); weave_vskip_node_type = - Trees__new_node_type(TL_IS_476, weave_vskip_node_CLASS, NULL); + Trees__new_node_type(TL_IS_480, weave_vskip_node_CLASS, NULL); weave_chapter_node_type = - Trees__new_node_type(TL_IS_477, weave_chapter_node_CLASS, NULL); + Trees__new_node_type(TL_IS_481, weave_chapter_node_CLASS, NULL); weave_section_node_type = - Trees__new_node_type(TL_IS_478, weave_section_node_CLASS, NULL); + Trees__new_node_type(TL_IS_482, weave_section_node_CLASS, NULL); weave_code_line_node_type = - Trees__new_node_type(TL_IS_479, weave_code_line_node_CLASS, NULL); + Trees__new_node_type(TL_IS_483, weave_code_line_node_CLASS, NULL); weave_function_usage_node_type = - Trees__new_node_type(TL_IS_480, weave_function_usage_node_CLASS, NULL); + Trees__new_node_type(TL_IS_484, weave_function_usage_node_CLASS, NULL); weave_commentary_node_type = - Trees__new_node_type(TL_IS_481, weave_commentary_node_CLASS, NULL); + Trees__new_node_type(TL_IS_485, weave_commentary_node_CLASS, NULL); weave_carousel_slide_node_type = - Trees__new_node_type(TL_IS_482, weave_carousel_slide_node_CLASS, NULL); + Trees__new_node_type(TL_IS_486, weave_carousel_slide_node_CLASS, NULL); weave_toc_node_type = - Trees__new_node_type(TL_IS_483, weave_toc_node_CLASS, NULL); + Trees__new_node_type(TL_IS_487, weave_toc_node_CLASS, NULL); weave_toc_line_node_type = - Trees__new_node_type(TL_IS_484, weave_toc_line_node_CLASS, NULL); + Trees__new_node_type(TL_IS_488, weave_toc_line_node_CLASS, NULL); weave_chapter_title_page_node_type = - Trees__new_node_type(TL_IS_485, weave_chapter_title_page_node_CLASS, NULL); + Trees__new_node_type(TL_IS_489, weave_chapter_title_page_node_CLASS, NULL); weave_defn_node_type = - Trees__new_node_type(TL_IS_486, weave_defn_node_CLASS, NULL); + Trees__new_node_type(TL_IS_490, weave_defn_node_CLASS, NULL); weave_source_code_node_type = - Trees__new_node_type(TL_IS_487, weave_source_code_node_CLASS, NULL); + Trees__new_node_type(TL_IS_491, weave_source_code_node_CLASS, NULL); weave_url_node_type = - Trees__new_node_type(TL_IS_488, weave_url_node_CLASS, NULL); + Trees__new_node_type(TL_IS_492, weave_url_node_CLASS, NULL); weave_footnote_cue_node_type = - Trees__new_node_type(TL_IS_489, weave_footnote_cue_node_CLASS, NULL); + Trees__new_node_type(TL_IS_493, weave_footnote_cue_node_CLASS, NULL); weave_begin_footnote_text_node_type = - Trees__new_node_type(TL_IS_490, weave_begin_footnote_text_node_CLASS, NULL); + Trees__new_node_type(TL_IS_494, weave_begin_footnote_text_node_CLASS, NULL); weave_display_line_node_type = - Trees__new_node_type(TL_IS_491, weave_display_line_node_CLASS, NULL); + Trees__new_node_type(TL_IS_495, weave_display_line_node_CLASS, NULL); weave_function_defn_node_type = - Trees__new_node_type(TL_IS_492, weave_function_defn_node_CLASS, NULL); + Trees__new_node_type(TL_IS_496, weave_function_defn_node_CLASS, NULL); weave_item_node_type = - Trees__new_node_type(TL_IS_493, weave_item_node_CLASS, NULL); + Trees__new_node_type(TL_IS_497, weave_item_node_CLASS, NULL); weave_grammar_index_node_type = - Trees__new_node_type(TL_IS_494, weave_grammar_index_node_CLASS, NULL); + Trees__new_node_type(TL_IS_498, weave_grammar_index_node_CLASS, NULL); weave_inline_node_type = - Trees__new_node_type(TL_IS_495, weave_inline_node_CLASS, NULL); + Trees__new_node_type(TL_IS_499, weave_inline_node_CLASS, NULL); weave_locale_node_type = - Trees__new_node_type(TL_IS_496, weave_locale_node_CLASS, NULL); + Trees__new_node_type(TL_IS_500, weave_locale_node_CLASS, NULL); weave_maths_node_type = - Trees__new_node_type(TL_IS_497, weave_maths_node_CLASS, NULL); + Trees__new_node_type(TL_IS_501, weave_maths_node_CLASS, NULL); weave_verbatim_node_type = - Trees__new_node_type(TL_IS_498, weave_verbatim_node_CLASS, NULL); + Trees__new_node_type(TL_IS_502, weave_verbatim_node_CLASS, NULL); } heterogeneous_tree *tree = Trees__new(weave_tree_type); Trees__make_root(tree, WeaveTree__document(tree, wv)); @@ -29304,7 +29310,7 @@ void Formats__render(text_stream *OUT, heterogeneous_tree *tree, filename *into) filename *F = Patterns__find_template(C->wv->pattern, template); TEMPORARY_TEXT(interior) VOID_METHOD_CALL(wf, RENDER_FOR_MTID, interior, tree); - Bibliographic__set_datum(C->wv->weave_web->md, TL_IS_499, interior); + Bibliographic__set_datum(C->wv->weave_web->md, TL_IS_503, interior); if (F) Collater__for_order(OUT, C->wv, F, into); else WRITE("%S", interior); DISCARD_TEXT(interior) @@ -29358,7 +29364,7 @@ int Formats__substitute_post_processing_data(OUTPUT_STREAM, weave_order *wv, #line 9 "inweb/Chapter 5/Plain Text Format.w" void PlainText__create(void) { - weave_format *wf = Formats__create_weave_format(TL_IS_500, TL_IS_501); + weave_format *wf = Formats__create_weave_format(TL_IS_504, TL_IS_505); METHOD_ADD(wf, RENDER_FOR_MTID, PlainText__render); } @@ -29682,7 +29688,7 @@ int PlainText__render_visit(tree_node *N, void *state, int L) { #line 9 "inweb/Chapter 5/TeX Format.w" void TeX__create(void) { - weave_format *wf = Formats__create_weave_format(TL_IS_502, TL_IS_503); + weave_format *wf = Formats__create_weave_format(TL_IS_506, TL_IS_507); METHOD_ADD(wf, RENDER_FOR_MTID, TeX__render_TeX); METHOD_ADD(wf, PREFORM_DOCUMENT_FOR_MTID, TeX__preform_document); } @@ -29760,7 +29766,7 @@ int TeX__render_visit(tree_node *N, void *state, int L) { { #line 115 "inweb/Chapter 5/TeX Format.w" weave_chapter_header_node *C = RETRIEVE_POINTER_weave_chapter_header_node(N->content); - if (Str__ne(C->chap->md->ch_range, TL_IS_504)) { + if (Str__ne(C->chap->md->ch_range, TL_IS_508)) { TeX__general_heading(OUT, trs->wv, FIRST_IN_LINKED_LIST(section, C->chap->sections), NULL, C->chap->md->ch_title, 3, FALSE); @@ -29834,7 +29840,7 @@ int TeX__render_visit(tree_node *N, void *state, int L) { weave_paragraph_heading_node *C = RETRIEVE_POINTER_weave_paragraph_heading_node(N->content); TeX__general_heading(OUT, trs->wv, C->para->under_section, - C->para, TL_IS_505, 0, FALSE); + C->para, TL_IS_509, 0, FALSE); } #line 76 "inweb/Chapter 5/TeX Format.w" @@ -29864,7 +29870,7 @@ int TeX__render_visit(tree_node *N, void *state, int L) { #line 172 "inweb/Chapter 5/TeX Format.w" weave_figure_node *C = RETRIEVE_POINTER_weave_figure_node(N->content); filename *F = Filenames__in( - Pathnames__down(trs->wv->weave_web->md->path_to_web, TL_IS_506), + Pathnames__down(trs->wv->weave_web->md->path_to_web, TL_IS_510), C->figname); WRITE("\\pdfximage"); if (C->w >= 0) WRITE(" width %d cm{%f}\n", C->w/POINTS_PER_CM, F); @@ -30271,23 +30277,23 @@ void TeX__general_heading(text_stream *OUT, weave_order *wv, { #line 443 "inweb/Chapter 5/TeX Format.w" switch (weight) { - case 0: TeX_macro = TL_IS_507; break; - case 1: TeX_macro = TL_IS_508; break; - case 2: TeX_macro = TL_IS_509; break; - default: TeX_macro = TL_IS_510; break; + case 0: TeX_macro = TL_IS_511; break; + case 1: TeX_macro = TL_IS_512; break; + case 2: TeX_macro = TL_IS_513; break; + default: TeX_macro = TL_IS_514; break; } if (wv->theme_match) { switch (weight) { - case 0: TeX_macro = TL_IS_511; break; - case 1: TeX_macro = TL_IS_512; break; - case 2: TeX_macro = TL_IS_513; break; - default: TeX_macro = TL_IS_514; break; + case 0: TeX_macro = TL_IS_515; break; + case 1: TeX_macro = TL_IS_516; break; + case 2: TeX_macro = TL_IS_517; break; + default: TeX_macro = TL_IS_518; break; } } if (no_skip) { switch (weight) { - case 0: TeX_macro = TL_IS_515; break; - case 1: TeX_macro = TL_IS_516; break; + case 0: TeX_macro = TL_IS_519; break; + case 1: TeX_macro = TL_IS_520; break; } } @@ -30524,7 +30530,7 @@ void HTMLFormat__create(void) { { #line 15 "inweb/Chapter 5/HTML Formats.w" - weave_format *wf = Formats__create_weave_format(TL_IS_517, TL_IS_518); + weave_format *wf = Formats__create_weave_format(TL_IS_521, TL_IS_522); METHOD_ADD(wf, RENDER_FOR_MTID, HTMLFormat__render); } @@ -30533,7 +30539,7 @@ void HTMLFormat__create(void) { { #line 19 "inweb/Chapter 5/HTML Formats.w" - weave_format *wf = Formats__create_weave_format(TL_IS_519, TL_IS_520); + weave_format *wf = Formats__create_weave_format(TL_IS_523, TL_IS_524); METHOD_ADD(wf, RENDER_FOR_MTID, HTMLFormat__render_EPUB); METHOD_ADD(wf, BEGIN_WEAVING_FOR_MTID, HTMLFormat__begin_weaving_EPUB); METHOD_ADD(wf, END_WEAVING_FOR_MTID, HTMLFormat__end_weaving_EPUB); @@ -30557,10 +30563,10 @@ HTML_render_state HTMLFormat__initial_state(text_stream *OUT, weave_order *wv, hrs.carousel_number = 1; hrs.slide_number = -1; hrs.slide_of = -1; - hrs.copy_rule = Assets__new_rule(NULL, TL_IS_521, TL_IS_522, NULL); + hrs.copy_rule = Assets__new_rule(NULL, TL_IS_525, TL_IS_526, NULL); - Swarm__ensure_plugin(wv, TL_IS_523); - hrs.colours = Swarm__ensure_colour_scheme(wv, TL_IS_524, TL_IS_525); + Swarm__ensure_plugin(wv, TL_IS_527); + hrs.colours = Swarm__ensure_colour_scheme(wv, TL_IS_528, TL_IS_529); return hrs; } @@ -30577,7 +30583,7 @@ void HTMLFormat__render_EPUB(weave_format *self, text_stream *OUT, heterogeneous HTML__declare_as_HTML(OUT, TRUE); HTML_render_state hrs = HTMLFormat__initial_state(OUT, C->wv, TRUE, C->wv->weave_to); Trees__traverse_from(tree->root, &HTMLFormat__render_visit, (void *) &hrs, 0); - Epub__note_page(C->wv->weave_web->as_ebook, C->wv->weave_to, C->wv->booklet_title, TL_IS_526); + Epub__note_page(C->wv->weave_web->as_ebook, C->wv->weave_to, C->wv->booklet_title, TL_IS_530); HTML__completed(OUT); } @@ -30634,16 +30640,16 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { if (hrs->EPUB_flag == FALSE) { weave_section_header_node *C = RETRIEVE_POINTER_weave_section_header_node(N->content); - Swarm__ensure_plugin(hrs->wv, TL_IS_527); + Swarm__ensure_plugin(hrs->wv, TL_IS_531); HTML_OPEN_WITH("div", "class=\"breadcrumbs\""); HTML_OPEN_WITH("ul", "class=\"crumbs\""); Colonies__drop_initial_breadcrumbs(OUT, hrs->wv->weave_to, hrs->wv->breadcrumbs); - text_stream *bct = Bibliographic__get_datum(hrs->wv->weave_web->md, TL_IS_528); - if (Str__len(Bibliographic__get_datum(hrs->wv->weave_web->md, TL_IS_529)) > 0) - bct = Bibliographic__get_datum(hrs->wv->weave_web->md, TL_IS_530); + text_stream *bct = Bibliographic__get_datum(hrs->wv->weave_web->md, TL_IS_532); + if (Str__len(Bibliographic__get_datum(hrs->wv->weave_web->md, TL_IS_533)) > 0) + bct = Bibliographic__get_datum(hrs->wv->weave_web->md, TL_IS_534); if (hrs->wv->self_contained == FALSE) { - Colonies__write_breadcrumb(OUT, bct, TL_IS_531); + Colonies__write_breadcrumb(OUT, bct, TL_IS_535); if (hrs->wv->weave_web->md->chaptered) { TEMPORARY_TEXT(chapter_link) WRITE_TO(chapter_link, "index.html#%s%S", @@ -30706,7 +30712,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { chapter *Ch; LOOP_OVER_LINKED_LIST(Ch, chapter, hrs->wv->weave_web->chapters) { if (Ch->md->imported == FALSE) { - if (Str__ne(Ch->md->ch_range, TL_IS_532)) { + if (Str__ne(Ch->md->ch_range, TL_IS_536)) { if (Ch == C->sect->owning_chapter) { HTML_OPEN_WITH("li", "class=\"progresscurrentchapter\""); } else { @@ -30737,7 +30743,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { else if (on) PUT_TO(label, Str__get(pos)); } if (Str__eq(Bibliographic__get_datum(hrs->wv->weave_web->md, - TL_IS_533), TL_IS_534)) + TL_IS_537), TL_IS_538)) Str__delete_first_character(label); if (S == C->sect) { HTML_OPEN_WITH("li", "class=\"progresscurrent\""); @@ -30864,7 +30870,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { #line 318 "inweb/Chapter 5/HTML Formats.w" weave_figure_node *C = RETRIEVE_POINTER_weave_figure_node(N->content); filename *F = Filenames__in( - Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_535), + Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_539), C->figname); filename *RF = Filenames__from_text(C->figname); HTML_OPEN_WITH("p", "class=\"center-p\""); @@ -30882,12 +30888,12 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { #line 331 "inweb/Chapter 5/HTML Formats.w" weave_extract_node *C = RETRIEVE_POINTER_weave_extract_node(N->content); filename *F = Filenames__in( - Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_536), + Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_540), C->extract); HTML_OPEN_WITH("div", "class=\"inweb-extract\""); FILE *B = BinaryFiles__try_to_open_for_reading(F); if (B == NULL) { - Main__error_in_web(TL_IS_537, + Main__error_in_web(TL_IS_541, hrs->wv->current_weave_line); } else { while (TRUE) { @@ -30908,7 +30914,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { #line 352 "inweb/Chapter 5/HTML Formats.w" weave_audio_node *C = RETRIEVE_POINTER_weave_audio_node(N->content); filename *F = Filenames__in( - Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_538), + Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_542), C->audio_name); Assets__include_asset(OUT, hrs->copy_rule, hrs->wv->weave_web, F, NULL, hrs->wv->pattern, hrs->wv->weave_to); @@ -30928,7 +30934,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { #line 367 "inweb/Chapter 5/HTML Formats.w" weave_video_node *C = RETRIEVE_POINTER_weave_video_node(N->content); filename *F = Filenames__in( - Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_539), + Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_543), C->video_name); Assets__include_asset(OUT, hrs->copy_rule, hrs->wv->weave_web, F, NULL, hrs->wv->pattern, hrs->wv->weave_to); @@ -30954,14 +30960,14 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { { #line 389 "inweb/Chapter 5/HTML Formats.w" weave_download_node *C = RETRIEVE_POINTER_weave_download_node(N->content); - pathname *P = Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_540); + pathname *P = Pathnames__down(hrs->wv->weave_web->md->path_to_web, TL_IS_544); filename *F = Filenames__in(P, C->download_name); - filename *TF = Patterns__find_file_in_subdirectory(hrs->wv->pattern, TL_IS_541, - TL_IS_542); + filename *TF = Patterns__find_file_in_subdirectory(hrs->wv->pattern, TL_IS_545, + TL_IS_546); if (TF == NULL) { - Main__error_in_web(TL_IS_543, hrs->wv->current_weave_line); + Main__error_in_web(TL_IS_547, hrs->wv->current_weave_line); } else { - Swarm__ensure_plugin(hrs->wv, TL_IS_544); + Swarm__ensure_plugin(hrs->wv, TL_IS_548); pathname *TOP = Assets__include_asset(OUT, hrs->copy_rule, hrs->wv->weave_web, F, NULL, hrs->wv->pattern, hrs->wv->weave_to); @@ -30977,11 +30983,11 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { WRITE_TO(size, " ("); if (Str__len(C->filetype) > 0) WRITE_TO(size, "%S, ", C->filetype); int x = 0, y = 0; - text_stream *unit = TL_IS_549; x = N; y = 0; - if (N > 1) { unit = TL_IS_550; } - if (N >= 1024) { unit = TL_IS_551; x = 10*N/1024; y = x%10; x = x/10; } - if (N >= 1024*1024) { unit = TL_IS_552; x = 10*N/1024/1024; y = x%10; x = x/10; } - if (N >= 1024*1024*1024) { unit = TL_IS_553; x = 10*N/1024/1024/1024; y = x%10; x = x/10; } + text_stream *unit = TL_IS_553; x = N; y = 0; + if (N > 1) { unit = TL_IS_554; } + if (N >= 1024) { unit = TL_IS_555; x = 10*N/1024; y = x%10; x = x/10; } + if (N >= 1024*1024) { unit = TL_IS_556; x = 10*N/1024/1024; y = x%10; x = x/10; } + if (N >= 1024*1024*1024) { unit = TL_IS_557; x = 10*N/1024/1024/1024; y = x%10; x = x/10; } WRITE_TO(size, "%d", x); if (y > 0) WRITE_TO(size, ".%d", y); WRITE_TO(size, "%S", unit); @@ -30990,13 +30996,13 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { } #line 407 "inweb/Chapter 5/HTML Formats.w" - else Main__error_in_web(TL_IS_545, + else Main__error_in_web(TL_IS_549, hrs->wv->current_weave_line); filename *D = Filenames__from_text(C->download_name); - Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_546, + Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_550, Filenames__get_leafname(D)); - Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_547, url); - Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_548, size); + Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_551, url); + Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_552, size); Collater__for_web_and_pattern(OUT, hrs->wv->weave_web, hrs->wv->pattern, TF, hrs->into_file); WRITE("\n"); @@ -31273,20 +31279,20 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { { #line 566 "inweb/Chapter 5/HTML Formats.w" weave_embed_node *C = RETRIEVE_POINTER_weave_embed_node(N->content); - text_stream *CH = TL_IS_554; - text_stream *CW = TL_IS_555; + text_stream *CH = TL_IS_558; + text_stream *CW = TL_IS_559; if (C->w > 0) { Str__clear(CW); WRITE_TO(CW, "%d", C->w); } if (C->h > 0) { Str__clear(CH); WRITE_TO(CH, "%d", C->h); } TEMPORARY_TEXT(embed_leaf) WRITE_TO(embed_leaf, "%S.html", C->service); - filename *F = Patterns__find_file_in_subdirectory(hrs->wv->pattern, TL_IS_556, embed_leaf); + filename *F = Patterns__find_file_in_subdirectory(hrs->wv->pattern, TL_IS_560, embed_leaf); DISCARD_TEXT(embed_leaf) if (F == NULL) { - Main__error_in_web(TL_IS_557, hrs->wv->current_weave_line); + Main__error_in_web(TL_IS_561, hrs->wv->current_weave_line); } else { - Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_558, C->ID); - Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_559, CW); - Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_560, CH); + Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_562, C->ID); + Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_563, CW); + Bibliographic__set_datum(hrs->wv->weave_web->md, TL_IS_564, CH); HTML_OPEN_WITH("p", "class=\"center-p\""); Collater__for_web_and_pattern(OUT, hrs->wv->weave_web, hrs->wv->pattern, F, hrs->into_file); @@ -31306,7 +31312,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { if (C->defn == FALSE) { TEMPORARY_TEXT(url) Colonies__paragraph_URL(url, P, hrs->wv->weave_to); - HTML__begin_link_with_class(OUT, TL_IS_561, url); + HTML__begin_link_with_class(OUT, TL_IS_565, url); DISCARD_TEXT(url) } HTML_OPEN_WITH("span", "class=\"%s\"", @@ -31366,7 +31372,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { { #line 626 "inweb/Chapter 5/HTML Formats.w" weave_function_usage_node *C = RETRIEVE_POINTER_weave_function_usage_node(N->content); - HTML__begin_link_with_class(OUT, TL_IS_562, C->url); + HTML__begin_link_with_class(OUT, TL_IS_566, C->url); HTMLFormat__change_colour(OUT, FUNCTION_COLOUR, hrs->colours); WRITE("%S", C->fn->function_name); HTMLFormat__change_colour(OUT, -1, hrs->colours); @@ -31404,17 +31410,17 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { { #line 654 "inweb/Chapter 5/HTML Formats.w" weave_carousel_slide_node *C = RETRIEVE_POINTER_weave_carousel_slide_node(N->content); - Swarm__ensure_plugin(hrs->wv, TL_IS_563); + Swarm__ensure_plugin(hrs->wv, TL_IS_567); TEMPORARY_TEXT(carousel_id) TEMPORARY_TEXT(carousel_dots_id) text_stream *caption_class = NULL; - text_stream *slide_count_class = TL_IS_564; + text_stream *slide_count_class = TL_IS_568; switch (C->caption_command) { - case CAROUSEL_CMD: caption_class = TL_IS_565; break; - case CAROUSEL_ABOVE_CMD: caption_class = TL_IS_566; - slide_count_class = TL_IS_567; break; - case CAROUSEL_BELOW_CMD: caption_class = TL_IS_568; - slide_count_class = TL_IS_569; break; + case CAROUSEL_CMD: caption_class = TL_IS_569; break; + case CAROUSEL_ABOVE_CMD: caption_class = TL_IS_570; + slide_count_class = TL_IS_571; break; + case CAROUSEL_BELOW_CMD: caption_class = TL_IS_572; + slide_count_class = TL_IS_573; break; } WRITE_TO(carousel_id, "carousel-no-%d", hrs->carousel_number); WRITE_TO(carousel_dots_id, "carousel-dots-no-%d", hrs->carousel_number); @@ -31575,7 +31581,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { { #line 780 "inweb/Chapter 5/HTML Formats.w" weave_url_node *C = RETRIEVE_POINTER_weave_url_node(N->content); - HTML__begin_link_with_class(OUT, (C->external)?TL_IS_570:TL_IS_571, C->url); + HTML__begin_link_with_class(OUT, (C->external)?TL_IS_574:TL_IS_575, C->url); WRITE("%S", C->content); HTML__end_link(OUT); @@ -31655,7 +31661,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { weave_function_defn_node *C = RETRIEVE_POINTER_weave_function_defn_node(N->content); if ((Functions__used_elsewhere(C->fn)) && (hrs->EPUB_flag == FALSE)) { - Swarm__ensure_plugin(hrs->wv, TL_IS_572); + Swarm__ensure_plugin(hrs->wv, TL_IS_576); HTMLFormat__change_colour(OUT, FUNCTION_COLOUR, hrs->colours); WRITE("%S", C->fn->function_name); WRITE(""); @@ -31697,7 +31703,7 @@ int HTMLFormat__render_visit(tree_node *N, void *state, int L) { { #line 861 "inweb/Chapter 5/HTML Formats.w" weave_item_node *C = RETRIEVE_POINTER_weave_item_node(N->content); - if (Str__eq(C->label, TL_IS_573)) WRITE("● "); + if (Str__eq(C->label, TL_IS_577)) WRITE("● "); else if (Str__len(C->label) > 0) WRITE("(%S) ", C->label); else WRITE(" "); @@ -31806,7 +31812,7 @@ void HTMLFormat__go_to_depth(HTML_render_state *hrs, int from_depth, int to_dept void HTMLFormat__paragraph_number(text_stream *OUT, paragraph *P) { TEMPORARY_TEXT(TEMP) Colonies__paragraph_anchor(TEMP, P); - HTML__anchor_with_class(OUT, TEMP, TL_IS_574); + HTML__anchor_with_class(OUT, TEMP, TL_IS_578); DISCARD_TEXT(TEMP) if (P->invisible == FALSE) { HTML_OPEN("b"); @@ -31854,9 +31860,9 @@ void HTMLFormat__escape_text(text_stream *OUT, text_stream *id) { #line 1000 "inweb/Chapter 5/HTML Formats.w" int HTMLFormat__begin_weaving_EPUB(weave_format *wf, web *W, weave_pattern *pattern) { TEMPORARY_TEXT(T) - WRITE_TO(T, "%S", Bibliographic__get_datum(W->md, TL_IS_575)); + WRITE_TO(T, "%S", Bibliographic__get_datum(W->md, TL_IS_579)); W->as_ebook = Epub__new(T, "P"); - filename *CSS = Patterns__find_file_in_subdirectory(pattern, TL_IS_576, TL_IS_577); + filename *CSS = Patterns__find_file_in_subdirectory(pattern, TL_IS_580, TL_IS_581); Epub__use_CSS_throughout(W->as_ebook, CSS); Epub__attach_metadata(W->as_ebook, L"identifier", T); DISCARD_TEXT(T) @@ -31873,7 +31879,7 @@ void HTMLFormat__end_weaving_EPUB(weave_format *wf, web *W, weave_pattern *patte #line 9 "inweb/Chapter 5/Debugging Format.w" void Debugging__create(void) { - weave_format *wf = Formats__create_weave_format(TL_IS_578, TL_IS_579); + weave_format *wf = Formats__create_weave_format(TL_IS_582, TL_IS_583); METHOD_ADD(wf, RENDER_FOR_MTID, Debugging__render); } @@ -32347,7 +32353,7 @@ tex_results *TeXUtilities__new_results(weave_order *wv, filename *CF) { res->tex_error_count = 0; res->page_count = 0; res->pdf_size = 0; - res->PDF_filename = Filenames__set_extension(CF, TL_IS_580); + res->PDF_filename = Filenames__set_extension(CF, TL_IS_584); return res; } @@ -32543,7 +32549,7 @@ void TeXUtilities__remove_math_mode_range(OUTPUT_STREAM, text_stream *text, int i++; while ((i < Str__len(text)) && (Characters__isalpha(Str__get_at(text, i)))) PUT_TO(macro, Str__get_at(text, i++)); - if (Str__eq(macro, TL_IS_581)) + if (Str__eq(macro, TL_IS_585)) { #line 364 "inweb/Chapter 5/TeX Utilities.w" if (Str__get_at(text, i) == '\\') { @@ -32551,8 +32557,8 @@ void TeXUtilities__remove_math_mode_range(OUTPUT_STREAM, text_stream *text, int i++; while ((i < Str__len(text)) && (Characters__isalpha(Str__get_at(text, i)))) PUT_TO(macro, Str__get_at(text, i++)); - if (Str__eq(macro, TL_IS_677)) PUT((wchar_t) 0x2204); - else if (Str__eq(macro, TL_IS_678)) { PUT((wchar_t) 0x00AC); PUT((wchar_t) 0x2200); } + if (Str__eq(macro, TL_IS_681)) PUT((wchar_t) 0x2204); + else if (Str__eq(macro, TL_IS_682)) { PUT((wchar_t) 0x00AC); PUT((wchar_t) 0x2200); } else { PRINT("Don't know how to apply '\\not' to '\\%S'\n", macro); } @@ -32566,99 +32572,99 @@ void TeXUtilities__remove_math_mode_range(OUTPUT_STREAM, text_stream *text, int else { #line 251 "inweb/Chapter 5/TeX Utilities.w" - if (Str__eq(macro, TL_IS_582)) WRITE("<="); - else if (Str__eq(macro, TL_IS_583)) WRITE(">="); - else if (Str__eq(macro, TL_IS_584)) WRITE("~"); - else if (Str__eq(macro, TL_IS_585)) WRITE(""); - else if (Str__eq(macro, TL_IS_586)) WRITE(""); - else if (Str__eq(macro, TL_IS_587)) WRITE(""); - else if (Str__eq(macro, TL_IS_588)) WRITE("=>"); - else if (Str__eq(macro, TL_IS_589)) WRITE("<=>"); - else if (Str__eq(macro, TL_IS_590)) WRITE("-->"); - else if (Str__eq(macro, TL_IS_591)) WRITE("-->"); - else if (Str__eq(macro, TL_IS_592)) WRITE("-->"); - else if (Str__eq(macro, TL_IS_593)) WRITE("<--"); - else if (Str__eq(macro, TL_IS_594)) WRITE("<--"); - else if (Str__eq(macro, TL_IS_595)) WRITE("{"); - else if (Str__eq(macro, TL_IS_596)) WRITE("|"); - else if (Str__eq(macro, TL_IS_597)) WRITE("}"); - else if (Str__eq(macro, TL_IS_598)) WRITE("."); - else if (Str__eq(macro, TL_IS_599)) WRITE("..."); - else if (Str__eq(macro, TL_IS_600)) WRITE("..."); - else if (Str__eq(macro, TL_IS_601)) WRITE("*"); - else if (Str__eq(macro, TL_IS_602)) WRITE(" "); - else if (Str__eq(macro, TL_IS_603)) WRITE(" "); - else if (Str__eq(macro, TL_IS_604)) WRITE("TeX"); - else if (Str__eq(macro, TL_IS_605)) WRITE("!="); - else if (Str__eq(macro, TL_IS_606)) WRITE("!="); - else if (Str__eq(macro, TL_IS_607)) WRITE("l"); - else if (Str__eq(macro, TL_IS_608)) WRITE("log"); - else if (Str__eq(macro, TL_IS_609)) WRITE("exp"); - else if (Str__eq(macro, TL_IS_610)) WRITE("sin"); - else if (Str__eq(macro, TL_IS_611)) WRITE("cos"); - else if (Str__eq(macro, TL_IS_612)) WRITE("tan"); - else if (Str__eq(macro, TL_IS_613)) WRITE("T"); - else if (Str__eq(macro, TL_IS_614)) PUT((wchar_t) 0x0391); - else if (Str__eq(macro, TL_IS_615)) PUT((wchar_t) 0x0392); - else if (Str__eq(macro, TL_IS_616)) PUT((wchar_t) 0x0393); - else if (Str__eq(macro, TL_IS_617)) PUT((wchar_t) 0x0394); - else if (Str__eq(macro, TL_IS_618)) PUT((wchar_t) 0x0395); - else if (Str__eq(macro, TL_IS_619)) PUT((wchar_t) 0x0396); - else if (Str__eq(macro, TL_IS_620)) PUT((wchar_t) 0x0397); - else if (Str__eq(macro, TL_IS_621)) PUT((wchar_t) 0x0398); - else if (Str__eq(macro, TL_IS_622)) PUT((wchar_t) 0x0399); - else if (Str__eq(macro, TL_IS_623)) PUT((wchar_t) 0x039A); - else if (Str__eq(macro, TL_IS_624)) PUT((wchar_t) 0x039B); - else if (Str__eq(macro, TL_IS_625)) PUT((wchar_t) 0x039C); - else if (Str__eq(macro, TL_IS_626)) PUT((wchar_t) 0x039D); - else if (Str__eq(macro, TL_IS_627)) PUT((wchar_t) 0x039E); - else if (Str__eq(macro, TL_IS_628)) PUT((wchar_t) 0x039F); - else if (Str__eq(macro, TL_IS_629)) PUT((wchar_t) 0x03A0); - else if (Str__eq(macro, TL_IS_630)) PUT((wchar_t) 0x03A1); - else if (Str__eq(macro, TL_IS_631)) PUT((wchar_t) 0x03A2); - else if (Str__eq(macro, TL_IS_632)) PUT((wchar_t) 0x03A3); - else if (Str__eq(macro, TL_IS_633)) PUT((wchar_t) 0x03A4); - else if (Str__eq(macro, TL_IS_634)) PUT((wchar_t) 0x03A5); - else if (Str__eq(macro, TL_IS_635)) PUT((wchar_t) 0x03A6); - else if (Str__eq(macro, TL_IS_636)) PUT((wchar_t) 0x03A7); - else if (Str__eq(macro, TL_IS_637)) PUT((wchar_t) 0x03A8); - else if (Str__eq(macro, TL_IS_638)) PUT((wchar_t) 0x03A9); - else if (Str__eq(macro, TL_IS_639)) PUT((wchar_t) 0x03B1); - else if (Str__eq(macro, TL_IS_640)) PUT((wchar_t) 0x03B2); - else if (Str__eq(macro, TL_IS_641)) PUT((wchar_t) 0x03B3); - else if (Str__eq(macro, TL_IS_642)) PUT((wchar_t) 0x03B4); - else if (Str__eq(macro, TL_IS_643)) PUT((wchar_t) 0x03B5); - else if (Str__eq(macro, TL_IS_644)) PUT((wchar_t) 0x03B6); - else if (Str__eq(macro, TL_IS_645)) PUT((wchar_t) 0x03B7); - else if (Str__eq(macro, TL_IS_646)) PUT((wchar_t) 0x03B8); - else if (Str__eq(macro, TL_IS_647)) PUT((wchar_t) 0x03B9); - else if (Str__eq(macro, TL_IS_648)) PUT((wchar_t) 0x03BA); - else if (Str__eq(macro, TL_IS_649)) PUT((wchar_t) 0x03BB); - else if (Str__eq(macro, TL_IS_650)) PUT((wchar_t) 0x03BC); - else if (Str__eq(macro, TL_IS_651)) PUT((wchar_t) 0x03BD); - else if (Str__eq(macro, TL_IS_652)) PUT((wchar_t) 0x03BE); - else if (Str__eq(macro, TL_IS_653)) PUT((wchar_t) 0x03BF); - else if (Str__eq(macro, TL_IS_654)) PUT((wchar_t) 0x03C0); - else if (Str__eq(macro, TL_IS_655)) PUT((wchar_t) 0x03C1); - else if (Str__eq(macro, TL_IS_656)) PUT((wchar_t) 0x03C2); - else if (Str__eq(macro, TL_IS_657)) PUT((wchar_t) 0x03C3); - else if (Str__eq(macro, TL_IS_658)) PUT((wchar_t) 0x03C4); - else if (Str__eq(macro, TL_IS_659)) PUT((wchar_t) 0x03C5); - else if (Str__eq(macro, TL_IS_660)) PUT((wchar_t) 0x03C6); - else if (Str__eq(macro, TL_IS_661)) PUT((wchar_t) 0x03C7); - else if (Str__eq(macro, TL_IS_662)) PUT((wchar_t) 0x03C8); - else if (Str__eq(macro, TL_IS_663)) PUT((wchar_t) 0x03C9); - else if (Str__eq(macro, TL_IS_664)) PUT((wchar_t) 0x2203); - else if (Str__eq(macro, TL_IS_665)) PUT((wchar_t) 0x2208); - else if (Str__eq(macro, TL_IS_666)) PUT((wchar_t) 0x2200); - else if (Str__eq(macro, TL_IS_667)) PUT((wchar_t) 0x2229); - else if (Str__eq(macro, TL_IS_668)) PUT((wchar_t) 0x2205); - else if (Str__eq(macro, TL_IS_669)) PUT((wchar_t) 0x2286); - else if (Str__eq(macro, TL_IS_670)) PUT((wchar_t) 0x2227); - else if (Str__eq(macro, TL_IS_671)) PUT((wchar_t) 0x2228); - else if (Str__eq(macro, TL_IS_672)) PUT((wchar_t) 0x00AC); - else if (Str__eq(macro, TL_IS_673)) PUT((wchar_t) 0x03A3); - else if (Str__eq(macro, TL_IS_674)) PUT((wchar_t) 0x03A0); + if (Str__eq(macro, TL_IS_586)) WRITE("<="); + else if (Str__eq(macro, TL_IS_587)) WRITE(">="); + else if (Str__eq(macro, TL_IS_588)) WRITE("~"); + else if (Str__eq(macro, TL_IS_589)) WRITE(""); + else if (Str__eq(macro, TL_IS_590)) WRITE(""); + else if (Str__eq(macro, TL_IS_591)) WRITE(""); + else if (Str__eq(macro, TL_IS_592)) WRITE("=>"); + else if (Str__eq(macro, TL_IS_593)) WRITE("<=>"); + else if (Str__eq(macro, TL_IS_594)) WRITE("-->"); + else if (Str__eq(macro, TL_IS_595)) WRITE("-->"); + else if (Str__eq(macro, TL_IS_596)) WRITE("-->"); + else if (Str__eq(macro, TL_IS_597)) WRITE("<--"); + else if (Str__eq(macro, TL_IS_598)) WRITE("<--"); + else if (Str__eq(macro, TL_IS_599)) WRITE("{"); + else if (Str__eq(macro, TL_IS_600)) WRITE("|"); + else if (Str__eq(macro, TL_IS_601)) WRITE("}"); + else if (Str__eq(macro, TL_IS_602)) WRITE("."); + else if (Str__eq(macro, TL_IS_603)) WRITE("..."); + else if (Str__eq(macro, TL_IS_604)) WRITE("..."); + else if (Str__eq(macro, TL_IS_605)) WRITE("*"); + else if (Str__eq(macro, TL_IS_606)) WRITE(" "); + else if (Str__eq(macro, TL_IS_607)) WRITE(" "); + else if (Str__eq(macro, TL_IS_608)) WRITE("TeX"); + else if (Str__eq(macro, TL_IS_609)) WRITE("!="); + else if (Str__eq(macro, TL_IS_610)) WRITE("!="); + else if (Str__eq(macro, TL_IS_611)) WRITE("l"); + else if (Str__eq(macro, TL_IS_612)) WRITE("log"); + else if (Str__eq(macro, TL_IS_613)) WRITE("exp"); + else if (Str__eq(macro, TL_IS_614)) WRITE("sin"); + else if (Str__eq(macro, TL_IS_615)) WRITE("cos"); + else if (Str__eq(macro, TL_IS_616)) WRITE("tan"); + else if (Str__eq(macro, TL_IS_617)) WRITE("T"); + else if (Str__eq(macro, TL_IS_618)) PUT((wchar_t) 0x0391); + else if (Str__eq(macro, TL_IS_619)) PUT((wchar_t) 0x0392); + else if (Str__eq(macro, TL_IS_620)) PUT((wchar_t) 0x0393); + else if (Str__eq(macro, TL_IS_621)) PUT((wchar_t) 0x0394); + else if (Str__eq(macro, TL_IS_622)) PUT((wchar_t) 0x0395); + else if (Str__eq(macro, TL_IS_623)) PUT((wchar_t) 0x0396); + else if (Str__eq(macro, TL_IS_624)) PUT((wchar_t) 0x0397); + else if (Str__eq(macro, TL_IS_625)) PUT((wchar_t) 0x0398); + else if (Str__eq(macro, TL_IS_626)) PUT((wchar_t) 0x0399); + else if (Str__eq(macro, TL_IS_627)) PUT((wchar_t) 0x039A); + else if (Str__eq(macro, TL_IS_628)) PUT((wchar_t) 0x039B); + else if (Str__eq(macro, TL_IS_629)) PUT((wchar_t) 0x039C); + else if (Str__eq(macro, TL_IS_630)) PUT((wchar_t) 0x039D); + else if (Str__eq(macro, TL_IS_631)) PUT((wchar_t) 0x039E); + else if (Str__eq(macro, TL_IS_632)) PUT((wchar_t) 0x039F); + else if (Str__eq(macro, TL_IS_633)) PUT((wchar_t) 0x03A0); + else if (Str__eq(macro, TL_IS_634)) PUT((wchar_t) 0x03A1); + else if (Str__eq(macro, TL_IS_635)) PUT((wchar_t) 0x03A2); + else if (Str__eq(macro, TL_IS_636)) PUT((wchar_t) 0x03A3); + else if (Str__eq(macro, TL_IS_637)) PUT((wchar_t) 0x03A4); + else if (Str__eq(macro, TL_IS_638)) PUT((wchar_t) 0x03A5); + else if (Str__eq(macro, TL_IS_639)) PUT((wchar_t) 0x03A6); + else if (Str__eq(macro, TL_IS_640)) PUT((wchar_t) 0x03A7); + else if (Str__eq(macro, TL_IS_641)) PUT((wchar_t) 0x03A8); + else if (Str__eq(macro, TL_IS_642)) PUT((wchar_t) 0x03A9); + else if (Str__eq(macro, TL_IS_643)) PUT((wchar_t) 0x03B1); + else if (Str__eq(macro, TL_IS_644)) PUT((wchar_t) 0x03B2); + else if (Str__eq(macro, TL_IS_645)) PUT((wchar_t) 0x03B3); + else if (Str__eq(macro, TL_IS_646)) PUT((wchar_t) 0x03B4); + else if (Str__eq(macro, TL_IS_647)) PUT((wchar_t) 0x03B5); + else if (Str__eq(macro, TL_IS_648)) PUT((wchar_t) 0x03B6); + else if (Str__eq(macro, TL_IS_649)) PUT((wchar_t) 0x03B7); + else if (Str__eq(macro, TL_IS_650)) PUT((wchar_t) 0x03B8); + else if (Str__eq(macro, TL_IS_651)) PUT((wchar_t) 0x03B9); + else if (Str__eq(macro, TL_IS_652)) PUT((wchar_t) 0x03BA); + else if (Str__eq(macro, TL_IS_653)) PUT((wchar_t) 0x03BB); + else if (Str__eq(macro, TL_IS_654)) PUT((wchar_t) 0x03BC); + else if (Str__eq(macro, TL_IS_655)) PUT((wchar_t) 0x03BD); + else if (Str__eq(macro, TL_IS_656)) PUT((wchar_t) 0x03BE); + else if (Str__eq(macro, TL_IS_657)) PUT((wchar_t) 0x03BF); + else if (Str__eq(macro, TL_IS_658)) PUT((wchar_t) 0x03C0); + else if (Str__eq(macro, TL_IS_659)) PUT((wchar_t) 0x03C1); + else if (Str__eq(macro, TL_IS_660)) PUT((wchar_t) 0x03C2); + else if (Str__eq(macro, TL_IS_661)) PUT((wchar_t) 0x03C3); + else if (Str__eq(macro, TL_IS_662)) PUT((wchar_t) 0x03C4); + else if (Str__eq(macro, TL_IS_663)) PUT((wchar_t) 0x03C5); + else if (Str__eq(macro, TL_IS_664)) PUT((wchar_t) 0x03C6); + else if (Str__eq(macro, TL_IS_665)) PUT((wchar_t) 0x03C7); + else if (Str__eq(macro, TL_IS_666)) PUT((wchar_t) 0x03C8); + else if (Str__eq(macro, TL_IS_667)) PUT((wchar_t) 0x03C9); + else if (Str__eq(macro, TL_IS_668)) PUT((wchar_t) 0x2203); + else if (Str__eq(macro, TL_IS_669)) PUT((wchar_t) 0x2208); + else if (Str__eq(macro, TL_IS_670)) PUT((wchar_t) 0x2200); + else if (Str__eq(macro, TL_IS_671)) PUT((wchar_t) 0x2229); + else if (Str__eq(macro, TL_IS_672)) PUT((wchar_t) 0x2205); + else if (Str__eq(macro, TL_IS_673)) PUT((wchar_t) 0x2286); + else if (Str__eq(macro, TL_IS_674)) PUT((wchar_t) 0x2227); + else if (Str__eq(macro, TL_IS_675)) PUT((wchar_t) 0x2228); + else if (Str__eq(macro, TL_IS_676)) PUT((wchar_t) 0x00AC); + else if (Str__eq(macro, TL_IS_677)) PUT((wchar_t) 0x03A3); + else if (Str__eq(macro, TL_IS_678)) PUT((wchar_t) 0x03A0); else { if (Str__len(macro) > 0) { int suspect = TRUE; @@ -32668,8 +32674,8 @@ void TeXUtilities__remove_math_mode_range(OUTPUT_STREAM, text_stream *text, int if ((c >= 'a') && (c <= 'z')) continue; suspect = FALSE; } - if (Str__eq(macro, TL_IS_675)) suspect = FALSE; - if (Str__eq(macro, TL_IS_676)) suspect = FALSE; + if (Str__eq(macro, TL_IS_679)) suspect = FALSE; + if (Str__eq(macro, TL_IS_680)) suspect = FALSE; if (suspect) PRINT("[Passing through unknown TeX macro \\%S:\n %S\n", macro, text); } @@ -32695,23 +32701,23 @@ void Makefiles__write(web *W, filename *prototype, filename *F, module_search *I text_stream *platform) { linked_list *L = NEW_LINKED_LIST(preprocessor_macro); Preprocessor__new_macro(L, - TL_IS_679, NULL, + TL_IS_683, NULL, Makefiles__platform_settings_expander, NULL); Preprocessor__new_macro(L, - TL_IS_680, NULL, + TL_IS_684, NULL, Makefiles__identity_settings_expander, NULL); preprocessor_macro *mf = Preprocessor__new_macro(L, - TL_IS_681, TL_IS_682, + TL_IS_685, TL_IS_686, Makefiles__modify_filenames_expander, NULL); Preprocessor__do_not_suppress_whitespace(mf); Preprocessor__new_macro(L, - TL_IS_683, TL_IS_684, + TL_IS_687, TL_IS_688, Makefiles__component_expander, NULL); Preprocessor__new_macro(L, - TL_IS_685, TL_IS_686, + TL_IS_689, TL_IS_690, Makefiles__dependent_files_expander, NULL); Preprocessor__new_loop_macro(L, - TL_IS_687, TL_IS_688, + TL_IS_691, TL_IS_692, Makefiles__components_expander, NULL); makefile_specifics *specifics = CREATE(makefile_specifics); @@ -32746,7 +32752,7 @@ void Makefiles__identity_settings_expander(preprocessor_macro *mm, preprocessor_ makefile_specifics *specifics = RETRIEVE_POINTER_makefile_specifics(PPS->specifics); text_stream *OUT = PPS->dest; WRITE("INWEB = "); Makefiles__pathname_slashed(OUT, path_to_inweb); WRITE("/Tangled/inweb\n"); - pathname *path_to_intest = Pathnames__down(Pathnames__up(path_to_inweb), TL_IS_689); + pathname *path_to_intest = Pathnames__down(Pathnames__up(path_to_inweb), TL_IS_693); WRITE("INTEST = "); Makefiles__pathname_slashed(OUT, path_to_intest); WRITE("/Tangled/intest\n"); if (specifics->for_web) { WRITE("MYNAME = %S\n", Pathnames__directory_name(specifics->for_web->md->path_to_web)); @@ -32762,7 +32768,7 @@ void Makefiles__platform_settings_expander(preprocessor_macro *mm, preprocessor_ makefile_specifics *specifics = RETRIEVE_POINTER_makefile_specifics(PPS->specifics); text_stream *INWEBPLATFORM = Str__duplicate(specifics->which_platform); if (Str__len(INWEBPLATFORM) == 0) { - filename *ps = Filenames__in(path_to_inweb, TL_IS_690); + filename *ps = Filenames__in(path_to_inweb, TL_IS_694); TextFiles__read(ps, FALSE, "can't open platform settings file", TRUE, Makefiles__seek_INWEBPLATFORM, NULL, INWEBPLATFORM); } @@ -32770,8 +32776,8 @@ void Makefiles__platform_settings_expander(preprocessor_macro *mm, preprocessor_ Errors__in_text_file( "found platform settings file, but it does not set INWEBPLATFORM", tfp); } else { - pathname *P = Pathnames__down(path_to_inweb, TL_IS_691); - P = Pathnames__down(P, TL_IS_692); + pathname *P = Pathnames__down(path_to_inweb, TL_IS_695); + P = Pathnames__down(P, TL_IS_696); WRITE_TO(INWEBPLATFORM, ".mkscript"); filename *F = Filenames__in(P, INWEBPLATFORM); TextFiles__read(F, FALSE, "can't open platform definitions file", @@ -32890,7 +32896,7 @@ void Makefiles__component_expander(preprocessor_macro *mm, preprocessor_state *P text_stream *set = parameter_values[3]; text_stream *category = parameter_values[4]; - if (Str__eq(category, TL_IS_693)) { + if (Str__eq(category, TL_IS_697)) { int marker = MAKEFILE_TOOL_MOM; dictionary *D = specifics->tools_dictionary; @@ -32918,7 +32924,7 @@ void Makefiles__component_expander(preprocessor_macro *mm, preprocessor_state *P } #line 200 "inweb/Chapter 6/Makefiles.w" ; - } else if (Str__eq(category, TL_IS_694)) { + } else if (Str__eq(category, TL_IS_698)) { int marker = MAKEFILE_WEB_MOM; dictionary *D = specifics->webs_dictionary; @@ -32946,7 +32952,7 @@ void Makefiles__component_expander(preprocessor_macro *mm, preprocessor_state *P } #line 205 "inweb/Chapter 6/Makefiles.w" ; - } else if (Str__eq(category, TL_IS_695)) { + } else if (Str__eq(category, TL_IS_699)) { int marker = MAKEFILE_MODULE_MOM; dictionary *D = specifics->modules_dictionary; @@ -32983,11 +32989,11 @@ void Makefiles__component_expander(preprocessor_macro *mm, preprocessor_state *P #line 235 "inweb/Chapter 6/Makefiles.w" void Makefiles__components_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) { - Preprocessor__set_loop_var_name(loop, TL_IS_696); + Preprocessor__set_loop_var_name(loop, TL_IS_700); text_stream *category = parameter_values[0]; text_stream *set = parameter_values[1]; - if (Str__len(set) == 0) set = TL_IS_697; - if (Str__eq(category, TL_IS_698)) { + if (Str__len(set) == 0) set = TL_IS_701; + if (Str__eq(category, TL_IS_702)) { int marker = MAKEFILE_TOOL_MOM; { @@ -32995,7 +33001,7 @@ void Makefiles__components_expander(preprocessor_macro *mm, preprocessor_state * module *M; LOOP_OVER(M, module) { if ((M->origin_marker == marker) && - ((Str__eq(set, TL_IS_701)) || (Str__eq(set, M->module_tag)))) { + ((Str__eq(set, TL_IS_705)) || (Str__eq(set, M->module_tag)))) { text_stream *value = M->module_name; Preprocessor__add_loop_iteration(loop, value); } @@ -33004,7 +33010,7 @@ void Makefiles__components_expander(preprocessor_macro *mm, preprocessor_state * } #line 243 "inweb/Chapter 6/Makefiles.w" ; - } else if (Str__eq(category, TL_IS_699)) { + } else if (Str__eq(category, TL_IS_703)) { int marker = MAKEFILE_WEB_MOM; { @@ -33012,7 +33018,7 @@ void Makefiles__components_expander(preprocessor_macro *mm, preprocessor_state * module *M; LOOP_OVER(M, module) { if ((M->origin_marker == marker) && - ((Str__eq(set, TL_IS_701)) || (Str__eq(set, M->module_tag)))) { + ((Str__eq(set, TL_IS_705)) || (Str__eq(set, M->module_tag)))) { text_stream *value = M->module_name; Preprocessor__add_loop_iteration(loop, value); } @@ -33021,7 +33027,7 @@ void Makefiles__components_expander(preprocessor_macro *mm, preprocessor_state * } #line 246 "inweb/Chapter 6/Makefiles.w" ; - } else if (Str__eq(category, TL_IS_700)) { + } else if (Str__eq(category, TL_IS_704)) { int marker = MAKEFILE_MODULE_MOM; { @@ -33029,7 +33035,7 @@ void Makefiles__components_expander(preprocessor_macro *mm, preprocessor_state * module *M; LOOP_OVER(M, module) { if ((M->origin_marker == marker) && - ((Str__eq(set, TL_IS_701)) || (Str__eq(set, M->module_tag)))) { + ((Str__eq(set, TL_IS_705)) || (Str__eq(set, M->module_tag)))) { text_stream *value = M->module_name; Preprocessor__add_loop_iteration(loop, value); } @@ -33182,7 +33188,7 @@ void Makefiles__pathname_slashed(OUTPUT_STREAM, pathname *P) { #line 8 "inweb/Chapter 6/Git Support.w" void Git__write_gitignore(web *W, filename *prototype, filename *F) { linked_list *L = NEW_LINKED_LIST(preprocessor_macro); - Preprocessor__new_macro(L, TL_IS_702, NULL, Git__basics_expander, NULL); + Preprocessor__new_macro(L, TL_IS_706, NULL, Git__basics_expander, NULL); text_stream *header = Str__new(); WRITE_TO(header, "# This gitignore was automatically written by inweb -gitignore\n"); WRITE_TO(header, "# and is not intended for human editing\n\n"); @@ -33193,7 +33199,7 @@ void Git__write_gitignore(web *W, filename *prototype, filename *F) { #line 22 "inweb/Chapter 6/Git Support.w" void Git__basics_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) { - filename *prototype = Filenames__in(path_to_inweb_materials, TL_IS_703); + filename *prototype = Filenames__in(path_to_inweb_materials, TL_IS_707); TextFiles__read(prototype, FALSE, "can't open basic .gitignore file", TRUE, Preprocessor__scan_line, NULL, PPS); WRITE_TO(STDOUT, "(Read basics.giscript from inweb/"); @@ -33209,7 +33215,7 @@ void Ctags__write(web *W, filename *F) { P = Filenames__up(F); } else { P = W->md->path_to_web; - F = Filenames__in(P, TL_IS_704); + F = Filenames__in(P, TL_IS_708); } text_stream *OUT = &ctags_file; if (STREAM_OPEN_TO_FILE(OUT, F, UTF8_ENC) == FALSE) @@ -33221,7 +33227,7 @@ void Ctags__write(web *W, filename *F) { WRITE("!_TAG_FILE_SORTED\t0\t/0=unsorted, 1=sorted, 2=foldcase/\n"); WRITE("!_TAG_PROGRAM_AUTHOR\tGraham Nelson\t/graham.nelson@mod-langs.ox.ac.uk/\n"); WRITE("!_TAG_PROGRAM_NAME\tinweb\t//\n"); - WRITE("!_TAG_PROGRAM_VERSION\t7.1.0-beta+1B09\t/built 3 June 2022/\n"); + WRITE("!_TAG_PROGRAM_VERSION\t7.1.0-beta+1B10\t/built 13 June 2022/\n"); } #line 47 "inweb/Chapter 6/Ctags Support.w" @@ -33312,7 +33318,7 @@ void Ctags__note_defined_constant(source_line *L, text_stream *name) { void Readme__write(filename *prototype, filename *F) { linked_list *L = NEW_LINKED_LIST(preprocessor_macro); preprocessor_macro *mm = Preprocessor__new_macro(L, - TL_IS_705, TL_IS_706, + TL_IS_709, TL_IS_710, Readme__bibliographic_expander, NULL); Preprocessor__do_not_suppress_whitespace(mm); WRITE_TO(STDOUT, "(Read script from %f)\n", prototype); @@ -33327,8 +33333,8 @@ void Readme__bibliographic_expander(preprocessor_macro *mm, preprocessor_state * text_stream *OUT = PPS->dest; writeme_asset *A = Readme__find_asset(asset_name); if (A->if_web) WRITE("%S", Bibliographic__get_datum(A->if_web, datum)); - else if (Str__eq(datum, TL_IS_707)) WRITE("%S", A->date); - else if (Str__eq(datum, TL_IS_708)) WRITE("%S", A->version); + else if (Str__eq(datum, TL_IS_711)) WRITE("%S", A->date); + else if (Str__eq(datum, TL_IS_712)) WRITE("%S", A->version); } #line 49 "inweb/Chapter 6/Readme Writeme.w" @@ -33336,8 +33342,8 @@ void Readme__bibliographic_expander(preprocessor_macro *mm, preprocessor_state * void Readme__write_var(text_stream *OUT, text_stream *program, text_stream *datum) { writeme_asset *A = Readme__find_asset(program); if (A->if_web) WRITE("%S", Bibliographic__get_datum(A->if_web, datum)); - else if (Str__eq(datum, TL_IS_709)) WRITE("%S", A->date); - else if (Str__eq(datum, TL_IS_710)) WRITE("%S", A->version); + else if (Str__eq(datum, TL_IS_713)) WRITE("%S", A->date); + else if (Str__eq(datum, TL_IS_714)) WRITE("%S", A->version); } #line 60 "inweb/Chapter 6/Readme Writeme.w" @@ -33368,7 +33374,7 @@ writeme_asset *Readme__find_asset(text_stream *program) { A->if_web = WebMetadata__get_without_modules(Pathnames__from_text(program), NULL); } else { filename *I6_vn = Filenames__in( - Pathnames__down(Pathnames__from_text(program), TL_IS_711), TL_IS_712); + Pathnames__down(Pathnames__from_text(program), TL_IS_715), TL_IS_716); if (TextFiles__exists(I6_vn)) { #line 97 "inweb/Chapter 6/Readme Writeme.w" @@ -33378,7 +33384,7 @@ writeme_asset *Readme__find_asset(text_stream *program) { } #line 82 "inweb/Chapter 6/Readme Writeme.w" ; - filename *template_vn = Filenames__in(Pathnames__from_text(program), TL_IS_713); + filename *template_vn = Filenames__in(Pathnames__from_text(program), TL_IS_717); if (TextFiles__exists(template_vn)) { #line 101 "inweb/Chapter 6/Readme Writeme.w" @@ -33388,7 +33394,7 @@ writeme_asset *Readme__find_asset(text_stream *program) { } #line 84 "inweb/Chapter 6/Readme Writeme.w" ; - filename *rmt_vn = Filenames__in(Pathnames__from_text(program), TL_IS_714); + filename *rmt_vn = Filenames__in(Pathnames__from_text(program), TL_IS_718); if (TextFiles__exists(rmt_vn)) { #line 105 "inweb/Chapter 6/Readme Writeme.w" @@ -33398,7 +33404,7 @@ writeme_asset *Readme__find_asset(text_stream *program) { } #line 86 "inweb/Chapter 6/Readme Writeme.w" ; - rmt_vn = Filenames__in(Pathnames__from_text(program), TL_IS_715); + rmt_vn = Filenames__in(Pathnames__from_text(program), TL_IS_719); if (TextFiles__exists(rmt_vn)) { #line 105 "inweb/Chapter 6/Readme Writeme.w" @@ -33473,7 +33479,7 @@ void Readme__readme_harvester(text_stream *text, text_file_position *tfp, void * void Colonies__load(filename *F) { colony *C = CREATE(colony); C->members = NEW_LINKED_LIST(colony_member); - C->home = TL_IS_716; + C->home = TL_IS_720; C->assets_path = NULL; C->patterns_path = NULL; colony_reader_state crs; @@ -33497,8 +33503,8 @@ void Colonies__read_line(text_stream *line, text_file_position *tfp, void *v_crs match_results mr = Regexp__create_mr(); if (Regexp__match(&mr, line, L"(%c*?): \"*(%C+)\" at \"(%c*)\" in \"(%c*)\"")) { colony_member *CM = CREATE(colony_member); - if (Str__eq(mr.exp[0], TL_IS_717)) CM->web_rather_than_module = TRUE; - else if (Str__eq(mr.exp[0], TL_IS_718)) CM->web_rather_than_module = FALSE; + if (Str__eq(mr.exp[0], TL_IS_721)) CM->web_rather_than_module = TRUE; + else if (Str__eq(mr.exp[0], TL_IS_722)) CM->web_rather_than_module = FALSE; else { CM->web_rather_than_module = FALSE; Errors__in_text_file("text before ':' must be 'web' or 'module'", tfp); @@ -33506,7 +33512,7 @@ void Colonies__read_line(text_stream *line, text_file_position *tfp, void *v_crs CM->name = Str__duplicate(mr.exp[1]); CM->path = Str__duplicate(mr.exp[2]); CM->home_leaf = Str__new(); - if (Str__suffix_eq(CM->path, TL_IS_719, 6)) { + if (Str__suffix_eq(CM->path, TL_IS_723, 6)) { filename *F = Filenames__from_text(CM->path); Filenames__write_unextended_leafname(CM->home_leaf, F); WRITE_TO(CM->home_leaf, ".html"); @@ -33646,7 +33652,7 @@ module *Colonies__as_module(colony_member *CM, source_line *L, web_md *Wm) { #line 254 "inweb/Chapter 6/Colonies.w" filename *F = NULL; pathname *P = NULL; - if (Str__suffix_eq(CM->path, TL_IS_720, 6)) + if (Str__suffix_eq(CM->path, TL_IS_724, 6)) F = Filenames__from_text(CM->path); else P = Pathnames__from_text(CM->path); @@ -33673,7 +33679,7 @@ text_stream *Colonies__home(void) { colony *C; LOOP_OVER(C, colony) return C->home; - return TL_IS_721; + return TL_IS_725; } pathname *Colonies__assets_path(void) { @@ -33865,7 +33871,7 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti return FALSE; } if (N > 1) { - Main__error_in_web(TL_IS_722, L); + Main__error_in_web(TL_IS_726, L); WebModules__named_reference(&found_M, &found_Sm, &bare_module_name, title, search_M, text, TRUE, FALSE); return FALSE; @@ -33947,7 +33953,7 @@ void Colonies__paragraph_URL(OUTPUT_STREAM, paragraph *P, filename *from) { if (P == NULL) internal_error("no para"); section *to_S = P->under_section; module *to_M = to_S->md->owning_module; - if (Str__ne(to_M->module_name, TL_IS_723)) { + if (Str__ne(to_M->module_name, TL_IS_727)) { colony_member *to_C = Colonies__find(to_M->module_name); if (to_C) { pathname *from_path = Filenames__up(from); @@ -34030,674 +34036,678 @@ void register_tangled_text_literals(void) { TL_IS_51 = Str__literal(L"spurious text before first requirement"); TL_IS_52 = Str__literal(L"CONTENT BEGINS"); TL_IS_53 = Str__literal(L"CONTENT ENDS"); - TL_IS_54 = Str__literal(L"inform:/doc_images/ornament_flower.png"); - TL_IS_55 = Str__literal(L"ePub"); - TL_IS_56 = Str__literal(L"OEBPS"); - TL_IS_57 = Str__literal(L"mimetype"); - TL_IS_58 = Str__literal(L"META-INF"); - TL_IS_59 = Str__literal(L"container.xml"); - TL_IS_60 = Str__literal(L"cover.html"); - TL_IS_61 = Str__literal(L"Cover"); - TL_IS_62 = Str__literal(L"cover"); - TL_IS_63 = Str__literal(L"content.opf"); - TL_IS_64 = Str__literal(L"toc.ncx"); - TL_IS_65 = Str__literal(L".."); - TL_IS_66 = Str__literal(L"A"); - TL_IS_67 = Str__literal(L"Sequential Section Ranges"); - TL_IS_68 = Str__literal(L"On"); - TL_IS_69 = Str__literal(L"Web Syntax Version: 1"); - TL_IS_70 = Str__literal(L"Web Syntax Version: 2"); - TL_IS_71 = Str__literal(L"S"); - TL_IS_72 = Str__literal(L"Sections"); - TL_IS_73 = Str__literal(L"All"); - TL_IS_74 = Str__literal(L"Headers"); - TL_IS_75 = Str__literal(L"single-file webs cannot Import modules"); - TL_IS_76 = Str__literal(L"Language"); - TL_IS_77 = Str__literal(L"Language"); - TL_IS_78 = Str__literal(L"Contents.w"); - TL_IS_79 = Str__literal(L"Title"); - TL_IS_80 = Str__literal(L"Author"); + TL_IS_54 = Str__literal(L"tl"); + TL_IS_55 = Str__literal(L"tr"); + TL_IS_56 = Str__literal(L"bl"); + TL_IS_57 = Str__literal(L"br"); + TL_IS_58 = Str__literal(L"inform:/doc_images/ornament_flower.png"); + TL_IS_59 = Str__literal(L"ePub"); + TL_IS_60 = Str__literal(L"OEBPS"); + TL_IS_61 = Str__literal(L"mimetype"); + TL_IS_62 = Str__literal(L"META-INF"); + TL_IS_63 = Str__literal(L"container.xml"); + TL_IS_64 = Str__literal(L"cover.html"); + TL_IS_65 = Str__literal(L"Cover"); + TL_IS_66 = Str__literal(L"cover"); + TL_IS_67 = Str__literal(L"content.opf"); + TL_IS_68 = Str__literal(L"toc.ncx"); + TL_IS_69 = Str__literal(L".."); + TL_IS_70 = Str__literal(L"A"); + TL_IS_71 = Str__literal(L"Sequential Section Ranges"); + TL_IS_72 = Str__literal(L"On"); + TL_IS_73 = Str__literal(L"Web Syntax Version: 1"); + TL_IS_74 = Str__literal(L"Web Syntax Version: 2"); + TL_IS_75 = Str__literal(L"S"); + TL_IS_76 = Str__literal(L"Sections"); + TL_IS_77 = Str__literal(L"All"); + TL_IS_78 = Str__literal(L"Headers"); + TL_IS_79 = Str__literal(L"single-file webs cannot Import modules"); + TL_IS_80 = Str__literal(L"Language"); TL_IS_81 = Str__literal(L"Language"); - TL_IS_82 = Str__literal(L"None"); - TL_IS_83 = Str__literal(L"Purpose"); - TL_IS_84 = Str__literal(L""); - TL_IS_85 = Str__literal(L"License"); - TL_IS_86 = Str__literal(L"Licence"); - TL_IS_87 = Str__literal(L"Short Title"); - TL_IS_88 = Str__literal(L"Capitalized Title"); - TL_IS_89 = Str__literal(L"Build Date"); - TL_IS_90 = Str__literal(L"Build Number"); - TL_IS_91 = Str__literal(L"Prerelease"); - TL_IS_92 = Str__literal(L"Semantic Version Number"); - TL_IS_93 = Str__literal(L"Version Number"); - TL_IS_94 = Str__literal(L"1"); - TL_IS_95 = Str__literal(L"Version Name"); - TL_IS_96 = Str__literal(L"Index Template"); - TL_IS_97 = Str__literal(L"Preform Language"); - TL_IS_98 = Str__literal(L"Declare Section Usage"); - TL_IS_99 = Str__literal(L"Off"); - TL_IS_100 = Str__literal(L"Namespaces"); - TL_IS_101 = Str__literal(L"Off"); - TL_IS_102 = Str__literal(L"Sequential Section Ranges"); + TL_IS_82 = Str__literal(L"Contents.w"); + TL_IS_83 = Str__literal(L"Title"); + TL_IS_84 = Str__literal(L"Author"); + TL_IS_85 = Str__literal(L"Language"); + TL_IS_86 = Str__literal(L"None"); + TL_IS_87 = Str__literal(L"Purpose"); + TL_IS_88 = Str__literal(L""); + TL_IS_89 = Str__literal(L"License"); + TL_IS_90 = Str__literal(L"Licence"); + TL_IS_91 = Str__literal(L"Short Title"); + TL_IS_92 = Str__literal(L"Capitalized Title"); + TL_IS_93 = Str__literal(L"Build Date"); + TL_IS_94 = Str__literal(L"Build Number"); + TL_IS_95 = Str__literal(L"Prerelease"); + TL_IS_96 = Str__literal(L"Semantic Version Number"); + TL_IS_97 = Str__literal(L"Version Number"); + TL_IS_98 = Str__literal(L"1"); + TL_IS_99 = Str__literal(L"Version Name"); + TL_IS_100 = Str__literal(L"Index Template"); + TL_IS_101 = Str__literal(L"Preform Language"); + TL_IS_102 = Str__literal(L"Declare Section Usage"); TL_IS_103 = Str__literal(L"Off"); - TL_IS_104 = Str__literal(L"Strict Usage Rules"); + TL_IS_104 = Str__literal(L"Namespaces"); TL_IS_105 = Str__literal(L"Off"); - TL_IS_106 = Str__literal(L"TeX Mathematics Notation"); - TL_IS_107 = Str__literal(L"$"); - TL_IS_108 = Str__literal(L"TeX Mathematics Displayed Notation"); - TL_IS_109 = Str__literal(L"$$"); - TL_IS_110 = Str__literal(L"Footnote Begins Notation"); - TL_IS_111 = Str__literal(L"["); - TL_IS_112 = Str__literal(L"Footnote Ends Notation"); - TL_IS_113 = Str__literal(L"]"); - TL_IS_114 = Str__literal(L"Code In Commentary Notation"); - TL_IS_115 = Str__literal(L"|"); - TL_IS_116 = Str__literal(L"Code In Code Comments Notation"); - TL_IS_117 = Str__literal(L"|"); - TL_IS_118 = Str__literal(L"Cross-References Notation"); - TL_IS_119 = Str__literal(L"//"); - TL_IS_120 = Str__literal(L"Web Syntax Version"); - TL_IS_121 = Str__literal(L"Paragraph Numbers Visibility"); - TL_IS_122 = Str__literal(L"On"); - TL_IS_123 = Str__literal(L"Capitalized Title"); - TL_IS_124 = Str__literal(L"miscellaneous"); - TL_IS_125 = Str__literal(L"(main)"); - TL_IS_126 = Str__literal(L"build.txt"); - TL_IS_127 = Str__literal(L"build.txt"); - TL_IS_128 = Str__literal(L"Prerelease"); - TL_IS_129 = Str__literal(L"Build Number"); - TL_IS_130 = Str__literal(L"Build Date"); - TL_IS_131 = Str__literal(L"Semantic Version Number"); - TL_IS_132 = Str__literal(L"Version Number"); - TL_IS_133 = Str__literal(L"Prerelease"); - TL_IS_134 = Str__literal(L"Build Number"); + TL_IS_106 = Str__literal(L"Sequential Section Ranges"); + TL_IS_107 = Str__literal(L"Off"); + TL_IS_108 = Str__literal(L"Strict Usage Rules"); + TL_IS_109 = Str__literal(L"Off"); + TL_IS_110 = Str__literal(L"TeX Mathematics Notation"); + TL_IS_111 = Str__literal(L"$"); + TL_IS_112 = Str__literal(L"TeX Mathematics Displayed Notation"); + TL_IS_113 = Str__literal(L"$$"); + TL_IS_114 = Str__literal(L"Footnote Begins Notation"); + TL_IS_115 = Str__literal(L"["); + TL_IS_116 = Str__literal(L"Footnote Ends Notation"); + TL_IS_117 = Str__literal(L"]"); + TL_IS_118 = Str__literal(L"Code In Commentary Notation"); + TL_IS_119 = Str__literal(L"|"); + TL_IS_120 = Str__literal(L"Code In Code Comments Notation"); + TL_IS_121 = Str__literal(L"|"); + TL_IS_122 = Str__literal(L"Cross-References Notation"); + TL_IS_123 = Str__literal(L"//"); + TL_IS_124 = Str__literal(L"Web Syntax Version"); + TL_IS_125 = Str__literal(L"Paragraph Numbers Visibility"); + TL_IS_126 = Str__literal(L"On"); + TL_IS_127 = Str__literal(L"Capitalized Title"); + TL_IS_128 = Str__literal(L"miscellaneous"); + TL_IS_129 = Str__literal(L"(main)"); + TL_IS_130 = Str__literal(L"build.txt"); + TL_IS_131 = Str__literal(L"build.txt"); + TL_IS_132 = Str__literal(L"Prerelease"); + TL_IS_133 = Str__literal(L"Build Number"); + TL_IS_134 = Str__literal(L"Build Date"); TL_IS_135 = Str__literal(L"Semantic Version Number"); - TL_IS_136 = Str__literal(L"Sections"); - TL_IS_137 = Str__literal(L"inweb"); - TL_IS_138 = Str__literal(L"Patterns"); - TL_IS_139 = Str__literal(L"Materials"); - TL_IS_140 = Str__literal(L"script.mkscript"); - TL_IS_141 = Str__literal(L"script.giscript"); - TL_IS_142 = Str__literal(L"script.rmscript"); - TL_IS_143 = Str__literal(L"Short Title"); - TL_IS_144 = Str__literal(L"Short Title"); - TL_IS_145 = Str__literal(L"Title"); - TL_IS_146 = Str__literal(L"0"); - TL_IS_147 = Str__literal(L"for locating programming language definitions"); - TL_IS_148 = Str__literal(L"for analysing a web"); - TL_IS_149 = Str__literal(L"for weaving a web"); - TL_IS_150 = Str__literal(L"for tangling a web"); - TL_IS_151 = Str__literal(L"for dealing with colonies of webs together"); - TL_IS_152 = Str__literal(L".inweb"); - TL_IS_153 = Str__literal(L"0"); - TL_IS_154 = Str__literal(L"Title"); - TL_IS_155 = Str__literal(L"Booklet Title"); - TL_IS_156 = Str__literal(L"Colours"); - TL_IS_157 = Str__literal(L"Colours"); - TL_IS_158 = Str__literal(L""); - TL_IS_159 = Str__literal(L"Version Number"); - TL_IS_160 = Str__literal(L"Version Number"); - TL_IS_161 = Str__literal(L" "); - TL_IS_162 = Str__literal(L"template-index.html"); - TL_IS_163 = Str__literal(L"index.html"); - TL_IS_164 = Str__literal(L"Index"); - TL_IS_165 = Str__literal(L"index"); - TL_IS_166 = Str__literal(L"0"); - TL_IS_167 = Str__literal(L"pattern.txt"); - TL_IS_168 = Str__literal(L"Patterns"); - TL_IS_169 = Str__literal(L"pattern.txt"); - TL_IS_170 = Str__literal(L"pattern.txt"); - TL_IS_171 = Str__literal(L"name"); - TL_IS_172 = Str__literal(L"plugin"); - TL_IS_173 = Str__literal(L"format"); - TL_IS_174 = Str__literal(L"number sections"); - TL_IS_175 = Str__literal(L"default range"); - TL_IS_176 = Str__literal(L"initial extension"); - TL_IS_177 = Str__literal(L"mathematics plugin"); - TL_IS_178 = Str__literal(L"footnotes plugin"); - TL_IS_179 = Str__literal(L"block template"); - TL_IS_180 = Str__literal(L"command"); - TL_IS_181 = Str__literal(L"bibliographic data"); - TL_IS_182 = Str__literal(L"assets"); - TL_IS_183 = Str__literal(L"yes"); - TL_IS_184 = Str__literal(L"no"); - TL_IS_185 = Str__literal(L"none"); - TL_IS_186 = Str__literal(L"WOVENPATH"); - TL_IS_187 = Str__literal(L"WOVEN"); - TL_IS_188 = Str__literal(L"PROCESS "); - TL_IS_189 = Str__literal(L"Colouring"); - TL_IS_190 = Str__literal(L"Coloring"); - TL_IS_191 = Str__literal(L"Colouring"); - TL_IS_192 = Str__literal(L"Coloring"); - TL_IS_193 = Str__literal(L""); - TL_IS_194 = Str__literal(L"copy"); - TL_IS_195 = Str__literal(L"copy"); - TL_IS_196 = Str__literal(L"private copy"); - TL_IS_197 = Str__literal(L"embed"); - TL_IS_198 = Str__literal(L"collate"); - TL_IS_199 = Str__literal(L"prefix"); - TL_IS_200 = Str__literal(L"suffix"); - TL_IS_201 = Str__literal(L"transform names"); - TL_IS_202 = Str__literal(L""); - TL_IS_203 = Str__literal(L"URL"); - TL_IS_204 = Str__literal(L"URL"); - TL_IS_205 = Str__literal(L"Inweb Version"); - TL_IS_206 = Str__literal(L"Language"); - TL_IS_207 = Str__literal(L"Purpose"); - TL_IS_208 = Str__literal(L"Woven"); - TL_IS_209 = Str__literal(L"Tangled"); - TL_IS_210 = Str__literal(L"Title"); - TL_IS_211 = Str__literal(L""); - TL_IS_212 = Str__literal(L"="); - TL_IS_213 = Str__literal(L"@"); - TL_IS_214 = Str__literal(L"Figures"); - TL_IS_215 = Str__literal(L"unknown [[command]]"); - TL_IS_216 = Str__literal(L"<...> definition begins outside of a paragraph"); - TL_IS_217 = Str__literal(L"(very early code)"); - TL_IS_218 = Str__literal(L"(early code)"); - TL_IS_219 = Str__literal(L"Extracts"); - TL_IS_220 = Str__literal(L"Figures"); - TL_IS_221 = Str__literal(L"HTML"); - TL_IS_222 = Str__literal(L"Audio"); - TL_IS_223 = Str__literal(L"Video"); - TL_IS_224 = Str__literal(L"Download"); - TL_IS_225 = Str__literal(L"Download"); - TL_IS_226 = Str__literal(L"Carousels"); - TL_IS_227 = Str__literal(L"Carousels"); - TL_IS_228 = Str__literal(L"Carousels"); - TL_IS_229 = Str__literal(L"Carousels"); + TL_IS_136 = Str__literal(L"Version Number"); + TL_IS_137 = Str__literal(L"Prerelease"); + TL_IS_138 = Str__literal(L"Build Number"); + TL_IS_139 = Str__literal(L"Semantic Version Number"); + TL_IS_140 = Str__literal(L"Sections"); + TL_IS_141 = Str__literal(L"inweb"); + TL_IS_142 = Str__literal(L"Patterns"); + TL_IS_143 = Str__literal(L"Materials"); + TL_IS_144 = Str__literal(L"script.mkscript"); + TL_IS_145 = Str__literal(L"script.giscript"); + TL_IS_146 = Str__literal(L"script.rmscript"); + TL_IS_147 = Str__literal(L"Short Title"); + TL_IS_148 = Str__literal(L"Short Title"); + TL_IS_149 = Str__literal(L"Title"); + TL_IS_150 = Str__literal(L"0"); + TL_IS_151 = Str__literal(L"for locating programming language definitions"); + TL_IS_152 = Str__literal(L"for analysing a web"); + TL_IS_153 = Str__literal(L"for weaving a web"); + TL_IS_154 = Str__literal(L"for tangling a web"); + TL_IS_155 = Str__literal(L"for dealing with colonies of webs together"); + TL_IS_156 = Str__literal(L".inweb"); + TL_IS_157 = Str__literal(L"0"); + TL_IS_158 = Str__literal(L"Title"); + TL_IS_159 = Str__literal(L"Booklet Title"); + TL_IS_160 = Str__literal(L"Colours"); + TL_IS_161 = Str__literal(L"Colours"); + TL_IS_162 = Str__literal(L""); + TL_IS_163 = Str__literal(L"Version Number"); + TL_IS_164 = Str__literal(L"Version Number"); + TL_IS_165 = Str__literal(L" "); + TL_IS_166 = Str__literal(L"template-index.html"); + TL_IS_167 = Str__literal(L"index.html"); + TL_IS_168 = Str__literal(L"Index"); + TL_IS_169 = Str__literal(L"index"); + TL_IS_170 = Str__literal(L"0"); + TL_IS_171 = Str__literal(L"pattern.txt"); + TL_IS_172 = Str__literal(L"Patterns"); + TL_IS_173 = Str__literal(L"pattern.txt"); + TL_IS_174 = Str__literal(L"pattern.txt"); + TL_IS_175 = Str__literal(L"name"); + TL_IS_176 = Str__literal(L"plugin"); + TL_IS_177 = Str__literal(L"format"); + TL_IS_178 = Str__literal(L"number sections"); + TL_IS_179 = Str__literal(L"default range"); + TL_IS_180 = Str__literal(L"initial extension"); + TL_IS_181 = Str__literal(L"mathematics plugin"); + TL_IS_182 = Str__literal(L"footnotes plugin"); + TL_IS_183 = Str__literal(L"block template"); + TL_IS_184 = Str__literal(L"command"); + TL_IS_185 = Str__literal(L"bibliographic data"); + TL_IS_186 = Str__literal(L"assets"); + TL_IS_187 = Str__literal(L"yes"); + TL_IS_188 = Str__literal(L"no"); + TL_IS_189 = Str__literal(L"none"); + TL_IS_190 = Str__literal(L"WOVENPATH"); + TL_IS_191 = Str__literal(L"WOVEN"); + TL_IS_192 = Str__literal(L"PROCESS "); + TL_IS_193 = Str__literal(L"Colouring"); + TL_IS_194 = Str__literal(L"Coloring"); + TL_IS_195 = Str__literal(L"Colouring"); + TL_IS_196 = Str__literal(L"Coloring"); + TL_IS_197 = Str__literal(L""); + TL_IS_198 = Str__literal(L"copy"); + TL_IS_199 = Str__literal(L"copy"); + TL_IS_200 = Str__literal(L"private copy"); + TL_IS_201 = Str__literal(L"embed"); + TL_IS_202 = Str__literal(L"collate"); + TL_IS_203 = Str__literal(L"prefix"); + TL_IS_204 = Str__literal(L"suffix"); + TL_IS_205 = Str__literal(L"transform names"); + TL_IS_206 = Str__literal(L""); + TL_IS_207 = Str__literal(L"URL"); + TL_IS_208 = Str__literal(L"URL"); + TL_IS_209 = Str__literal(L"Inweb Version"); + TL_IS_210 = Str__literal(L"Language"); + TL_IS_211 = Str__literal(L"Purpose"); + TL_IS_212 = Str__literal(L"Woven"); + TL_IS_213 = Str__literal(L"Tangled"); + TL_IS_214 = Str__literal(L"Title"); + TL_IS_215 = Str__literal(L""); + TL_IS_216 = Str__literal(L"="); + TL_IS_217 = Str__literal(L"@"); + TL_IS_218 = Str__literal(L"Figures"); + TL_IS_219 = Str__literal(L"unknown [[command]]"); + TL_IS_220 = Str__literal(L"<...> definition begins outside of a paragraph"); + TL_IS_221 = Str__literal(L"(very early code)"); + TL_IS_222 = Str__literal(L"(early code)"); + TL_IS_223 = Str__literal(L"Extracts"); + TL_IS_224 = Str__literal(L"Figures"); + TL_IS_225 = Str__literal(L"HTML"); + TL_IS_226 = Str__literal(L"Audio"); + TL_IS_227 = Str__literal(L"Video"); + TL_IS_228 = Str__literal(L"Download"); + TL_IS_229 = Str__literal(L"Download"); TL_IS_230 = Str__literal(L"Carousels"); - TL_IS_231 = Str__literal(L"Videos"); - TL_IS_232 = Str__literal(L"unknown bracketed annotation"); - TL_IS_233 = Str__literal(L"unknown material after '='"); - TL_IS_234 = Str__literal(L"undisplayed"); - TL_IS_235 = Str__literal(L"hyperlinked"); - TL_IS_236 = Str__literal(L"only 'undisplayed' and/or 'hyperlinked' can precede 'text' here"); - TL_IS_237 = Str__literal(L"="); - TL_IS_238 = Str__literal(L"don't understand @command"); - TL_IS_239 = Str__literal(L"Purpose used after bar"); - TL_IS_240 = Str__literal(L"Interface used after bar"); - TL_IS_241 = Str__literal(L"Definitions used after bar"); - TL_IS_242 = Str__literal(L"second bar in the same section"); - TL_IS_243 = Str__literal(L"enumeration constants can't supply a value"); - TL_IS_244 = Str__literal(L"Paragraph Numbers Visibility"); - TL_IS_245 = Str__literal(L"Off"); - TL_IS_246 = Str__literal(L"P"); - TL_IS_247 = Str__literal(L"S"); - TL_IS_248 = Str__literal(L"Footnote Begins Notation"); - TL_IS_249 = Str__literal(L"Footnote Ends Notation"); - TL_IS_250 = Str__literal(L"Off"); - TL_IS_251 = Str__literal(L"ifdef-"); - TL_IS_252 = Str__literal(L"ifndef-"); - TL_IS_253 = Str__literal(L"."); - TL_IS_254 = Str__literal(L"This paragraph is used only if "); - TL_IS_255 = Str__literal(L" and if "); - TL_IS_256 = Str__literal(L" and "); - TL_IS_257 = Str__literal(L" is"); - TL_IS_258 = Str__literal(L" are"); - TL_IS_259 = Str__literal(L" defined"); - TL_IS_260 = Str__literal(L" undefined"); - TL_IS_261 = Str__literal(L"enumeration constants must belong to a _FAMILY"); - TL_IS_262 = Str__literal(L"this enumeration _FAMILY is unknown"); - TL_IS_263 = Str__literal(L"this enumeration _FAMILY already exists"); - TL_IS_264 = Str__literal(L"unrecognised interface line"); - TL_IS_265 = Str__literal(L"."); - TL_IS_266 = Str__literal(L".."); - TL_IS_267 = Str__literal(L"web"); - TL_IS_268 = Str__literal(L"default.mkscript"); + TL_IS_231 = Str__literal(L"Carousels"); + TL_IS_232 = Str__literal(L"Carousels"); + TL_IS_233 = Str__literal(L"Carousels"); + TL_IS_234 = Str__literal(L"Carousels"); + TL_IS_235 = Str__literal(L"Videos"); + TL_IS_236 = Str__literal(L"unknown bracketed annotation"); + TL_IS_237 = Str__literal(L"unknown material after '='"); + TL_IS_238 = Str__literal(L"undisplayed"); + TL_IS_239 = Str__literal(L"hyperlinked"); + TL_IS_240 = Str__literal(L"only 'undisplayed' and/or 'hyperlinked' can precede 'text' here"); + TL_IS_241 = Str__literal(L"="); + TL_IS_242 = Str__literal(L"don't understand @command"); + TL_IS_243 = Str__literal(L"Purpose used after bar"); + TL_IS_244 = Str__literal(L"Interface used after bar"); + TL_IS_245 = Str__literal(L"Definitions used after bar"); + TL_IS_246 = Str__literal(L"second bar in the same section"); + TL_IS_247 = Str__literal(L"enumeration constants can't supply a value"); + TL_IS_248 = Str__literal(L"Paragraph Numbers Visibility"); + TL_IS_249 = Str__literal(L"Off"); + TL_IS_250 = Str__literal(L"P"); + TL_IS_251 = Str__literal(L"S"); + TL_IS_252 = Str__literal(L"Footnote Begins Notation"); + TL_IS_253 = Str__literal(L"Footnote Ends Notation"); + TL_IS_254 = Str__literal(L"Off"); + TL_IS_255 = Str__literal(L"ifdef-"); + TL_IS_256 = Str__literal(L"ifndef-"); + TL_IS_257 = Str__literal(L"."); + TL_IS_258 = Str__literal(L"This paragraph is used only if "); + TL_IS_259 = Str__literal(L" and if "); + TL_IS_260 = Str__literal(L" and "); + TL_IS_261 = Str__literal(L" is"); + TL_IS_262 = Str__literal(L" are"); + TL_IS_263 = Str__literal(L" defined"); + TL_IS_264 = Str__literal(L" undefined"); + TL_IS_265 = Str__literal(L"enumeration constants must belong to a _FAMILY"); + TL_IS_266 = Str__literal(L"this enumeration _FAMILY is unknown"); + TL_IS_267 = Str__literal(L"this enumeration _FAMILY already exists"); + TL_IS_268 = Str__literal(L"unrecognised interface line"); TL_IS_269 = Str__literal(L"."); TL_IS_270 = Str__literal(L".."); TL_IS_271 = Str__literal(L"web"); - TL_IS_272 = Str__literal(L"default.giscript"); - TL_IS_273 = Str__literal(L""); - TL_IS_274 = Str__literal(L"Chapters"); - TL_IS_275 = Str__literal(L"Modules"); - TL_IS_276 = Str__literal(L"Module Page"); - TL_IS_277 = Str__literal(L"Module Purpose"); - TL_IS_278 = Str__literal(L"Purpose"); - TL_IS_279 = Str__literal(L"Chapter Purpose"); - TL_IS_280 = Str__literal(L"Section Purpose"); - TL_IS_281 = Str__literal(L"Purpose"); - TL_IS_282 = Str__literal(L"index.html"); - TL_IS_283 = Str__literal(L"inweb"); - TL_IS_284 = Str__literal(L"inweb"); - TL_IS_285 = Str__literal(L"inweb"); - TL_IS_286 = Str__literal(L"End of weave"); - TL_IS_287 = Str__literal(L"Definitions"); - TL_IS_288 = Str__literal(L"bad start to paragraph"); - TL_IS_289 = Str__literal(L""); - TL_IS_290 = Str__literal(L""); - TL_IS_291 = Str__literal(L"footnote never cued"); - TL_IS_292 = Str__literal(L"Preform"); - TL_IS_293 = Str__literal(L"Preform"); - TL_IS_294 = Str__literal(L"define"); - TL_IS_295 = Str__literal(L"default"); - TL_IS_296 = Str__literal(L"enum"); + TL_IS_272 = Str__literal(L"default.mkscript"); + TL_IS_273 = Str__literal(L"."); + TL_IS_274 = Str__literal(L".."); + TL_IS_275 = Str__literal(L"web"); + TL_IS_276 = Str__literal(L"default.giscript"); + TL_IS_277 = Str__literal(L""); + TL_IS_278 = Str__literal(L"Chapters"); + TL_IS_279 = Str__literal(L"Modules"); + TL_IS_280 = Str__literal(L"Module Page"); + TL_IS_281 = Str__literal(L"Module Purpose"); + TL_IS_282 = Str__literal(L"Purpose"); + TL_IS_283 = Str__literal(L"Chapter Purpose"); + TL_IS_284 = Str__literal(L"Section Purpose"); + TL_IS_285 = Str__literal(L"Purpose"); + TL_IS_286 = Str__literal(L"index.html"); + TL_IS_287 = Str__literal(L"inweb"); + TL_IS_288 = Str__literal(L"inweb"); + TL_IS_289 = Str__literal(L"inweb"); + TL_IS_290 = Str__literal(L"End of weave"); + TL_IS_291 = Str__literal(L"Definitions"); + TL_IS_292 = Str__literal(L"bad start to paragraph"); + TL_IS_293 = Str__literal(L""); + TL_IS_294 = Str__literal(L""); + TL_IS_295 = Str__literal(L"footnote never cued"); + TL_IS_296 = Str__literal(L"Preform"); TL_IS_297 = Str__literal(L"Preform"); - TL_IS_298 = Str__literal(L"This is "); - TL_IS_299 = Str__literal(L"words: About Preform"); - TL_IS_300 = Str__literal(L"Preform grammar"); - TL_IS_301 = Str__literal(L"Preform grammar"); - TL_IS_302 = Str__literal(L", not regular C code."); - TL_IS_303 = Str__literal(L"This code is "); - TL_IS_304 = Str__literal(L"never used"); - TL_IS_305 = Str__literal(L", "); - TL_IS_306 = Str__literal(L" and "); - TL_IS_307 = Str__literal(L"used in "); - TL_IS_308 = Str__literal(L" (twice)"); - TL_IS_309 = Str__literal(L" (three times)"); - TL_IS_310 = Str__literal(L" (four times)"); - TL_IS_311 = Str__literal(L" (five times)"); - TL_IS_312 = Str__literal(L"."); - TL_IS_313 = Str__literal(L"The structure "); - TL_IS_314 = Str__literal(L" is private to this section"); - TL_IS_315 = Str__literal(L" is accessed in "); - TL_IS_316 = Str__literal(L", "); - TL_IS_317 = Str__literal(L" and here"); - TL_IS_318 = Str__literal(L"."); - TL_IS_319 = Str__literal(L"The function "); - TL_IS_320 = Str__literal(L" appears nowhere else"); - TL_IS_321 = Str__literal(L"none"); - TL_IS_322 = Str__literal(L")"); - TL_IS_323 = Str__literal(L"."); - TL_IS_324 = Str__literal(L" is used in "); - TL_IS_325 = Str__literal(L"), "); - TL_IS_326 = Str__literal(L", "); - TL_IS_327 = Str__literal(L" ("); - TL_IS_328 = Str__literal(L" - "); - TL_IS_329 = Str__literal(L", "); - TL_IS_330 = Str__literal(L"Code In Code Comments Notation"); - TL_IS_331 = Str__literal(L"Code In Commentary Notation"); - TL_IS_332 = Str__literal(L"Off"); - TL_IS_333 = Str__literal(L"TeX Mathematics Displayed Notation"); - TL_IS_334 = Str__literal(L"Off"); - TL_IS_335 = Str__literal(L"TeX Mathematics Notation"); + TL_IS_298 = Str__literal(L"define"); + TL_IS_299 = Str__literal(L"default"); + TL_IS_300 = Str__literal(L"enum"); + TL_IS_301 = Str__literal(L"Preform"); + TL_IS_302 = Str__literal(L"This is "); + TL_IS_303 = Str__literal(L"words: About Preform"); + TL_IS_304 = Str__literal(L"Preform grammar"); + TL_IS_305 = Str__literal(L"Preform grammar"); + TL_IS_306 = Str__literal(L", not regular C code."); + TL_IS_307 = Str__literal(L"This code is "); + TL_IS_308 = Str__literal(L"never used"); + TL_IS_309 = Str__literal(L", "); + TL_IS_310 = Str__literal(L" and "); + TL_IS_311 = Str__literal(L"used in "); + TL_IS_312 = Str__literal(L" (twice)"); + TL_IS_313 = Str__literal(L" (three times)"); + TL_IS_314 = Str__literal(L" (four times)"); + TL_IS_315 = Str__literal(L" (five times)"); + TL_IS_316 = Str__literal(L"."); + TL_IS_317 = Str__literal(L"The structure "); + TL_IS_318 = Str__literal(L" is private to this section"); + TL_IS_319 = Str__literal(L" is accessed in "); + TL_IS_320 = Str__literal(L", "); + TL_IS_321 = Str__literal(L" and here"); + TL_IS_322 = Str__literal(L"."); + TL_IS_323 = Str__literal(L"The function "); + TL_IS_324 = Str__literal(L" appears nowhere else"); + TL_IS_325 = Str__literal(L"none"); + TL_IS_326 = Str__literal(L")"); + TL_IS_327 = Str__literal(L"."); + TL_IS_328 = Str__literal(L" is used in "); + TL_IS_329 = Str__literal(L"), "); + TL_IS_330 = Str__literal(L", "); + TL_IS_331 = Str__literal(L" ("); + TL_IS_332 = Str__literal(L" - "); + TL_IS_333 = Str__literal(L", "); + TL_IS_334 = Str__literal(L"Code In Code Comments Notation"); + TL_IS_335 = Str__literal(L"Code In Commentary Notation"); TL_IS_336 = Str__literal(L"Off"); - TL_IS_337 = Str__literal(L"Cross-References Notation"); + TL_IS_337 = Str__literal(L"TeX Mathematics Displayed Notation"); TL_IS_338 = Str__literal(L"Off"); - TL_IS_339 = Str__literal(L"http://"); - TL_IS_340 = Str__literal(L"https://"); - TL_IS_341 = Str__literal(L"this is a cue for a missing note"); - TL_IS_342 = Str__literal(L"Cross-References Notation"); - TL_IS_343 = Str__literal(L"Off"); - TL_IS_344 = Str__literal(L"http://"); - TL_IS_345 = Str__literal(L"https://"); - TL_IS_346 = Str__literal(L"misplaced definition"); - TL_IS_347 = Str__literal(L"unknown macro"); - TL_IS_348 = Str__literal(L"Dialects"); - TL_IS_349 = Str__literal(L"C"); - TL_IS_350 = Str__literal(L"Languages"); - TL_IS_351 = Str__literal(L"InC"); - TL_IS_352 = Str__literal(L"Name"); - TL_IS_353 = Str__literal(L"Details"); - TL_IS_354 = Str__literal(L"Extension"); - TL_IS_355 = Str__literal(L"Line Comment"); - TL_IS_356 = Str__literal(L"Whole Line Comment"); - TL_IS_357 = Str__literal(L"Multiline Comment Open"); - TL_IS_358 = Str__literal(L"Multiline Comment Close"); - TL_IS_359 = Str__literal(L"String Literal"); - TL_IS_360 = Str__literal(L"String Literal Escape"); - TL_IS_361 = Str__literal(L"Character Literal"); - TL_IS_362 = Str__literal(L"Character Literal Escape"); - TL_IS_363 = Str__literal(L"Binary Literal Prefix"); - TL_IS_364 = Str__literal(L"Octal Literal Prefix"); - TL_IS_365 = Str__literal(L"Hexadecimal Literal Prefix"); - TL_IS_366 = Str__literal(L"Negative Literal Prefix"); - TL_IS_367 = Str__literal(L"Shebang"); - TL_IS_368 = Str__literal(L"Line Marker"); - TL_IS_369 = Str__literal(L"Before Named Paragraph Expansion"); - TL_IS_370 = Str__literal(L"After Named Paragraph Expansion"); - TL_IS_371 = Str__literal(L"Start Definition"); - TL_IS_372 = Str__literal(L"Prolong Definition"); - TL_IS_373 = Str__literal(L"End Definition"); - TL_IS_374 = Str__literal(L"Start Ifdef"); - TL_IS_375 = Str__literal(L"Start Ifndef"); - TL_IS_376 = Str__literal(L"End Ifdef"); - TL_IS_377 = Str__literal(L"End Ifndef"); - TL_IS_378 = Str__literal(L"C-Like"); - TL_IS_379 = Str__literal(L"Suppress Disclaimer"); - TL_IS_380 = Str__literal(L"Supports Namespaces"); - TL_IS_381 = Str__literal(L"Function Declaration Notation"); - TL_IS_382 = Str__literal(L"Type Declaration Notation"); - TL_IS_383 = Str__literal(L"}"); - TL_IS_384 = Str__literal(L"unquoted"); - TL_IS_385 = Str__literal(L"{"); - TL_IS_386 = Str__literal(L"debug"); - TL_IS_387 = Str__literal(L"!string"); - TL_IS_388 = Str__literal(L"!function"); - TL_IS_389 = Str__literal(L"!definition"); - TL_IS_390 = Str__literal(L"!reserved"); - TL_IS_391 = Str__literal(L"!element"); - TL_IS_392 = Str__literal(L"!identifier"); - TL_IS_393 = Str__literal(L"!character"); - TL_IS_394 = Str__literal(L"!constant"); - TL_IS_395 = Str__literal(L"!plain"); - TL_IS_396 = Str__literal(L"!extract"); - TL_IS_397 = Str__literal(L"!comment"); - TL_IS_398 = Str__literal(L"true"); - TL_IS_399 = Str__literal(L"false"); - TL_IS_400 = Str__literal(L"both"); - TL_IS_401 = Str__literal(L"brackets"); - TL_IS_402 = Str__literal(L"characters"); - TL_IS_403 = Str__literal(L"coloured"); - TL_IS_404 = Str__literal(L"colouring"); - TL_IS_405 = Str__literal(L"debug"); - TL_IS_406 = Str__literal(L"false"); - TL_IS_407 = Str__literal(L"in"); - TL_IS_408 = Str__literal(L"instances"); - TL_IS_409 = Str__literal(L"keyword"); - TL_IS_410 = Str__literal(L"matches"); - TL_IS_411 = Str__literal(L"matching"); - TL_IS_412 = Str__literal(L"not"); - TL_IS_413 = Str__literal(L"of"); - TL_IS_414 = Str__literal(L"on"); - TL_IS_415 = Str__literal(L"optionally"); - TL_IS_416 = Str__literal(L"prefix"); - TL_IS_417 = Str__literal(L"runs"); - TL_IS_418 = Str__literal(L"spaced"); - TL_IS_419 = Str__literal(L"suffix"); - TL_IS_420 = Str__literal(L"true"); - TL_IS_421 = Str__literal(L"unquoted"); - TL_IS_422 = Str__literal(L"Structures"); - TL_IS_423 = Str__literal(L"Main::"); - TL_IS_424 = Str__literal(L"Tangled output generated by inweb: do not edit"); - TL_IS_425 = Str__literal(L"this programming language does not support @d"); - TL_IS_426 = Str__literal(L"this programming language does not support multiline @d"); - TL_IS_427 = Str__literal(L"Preform"); - TL_IS_428 = Str__literal(L"Preform"); - TL_IS_429 = Str__literal(L"Namespaces"); - TL_IS_430 = Str__literal(L"Being internally called, this function mustn't belong to a :: namespace"); - TL_IS_431 = Str__literal(L"Being externally called, this function must belong to a :: namespace"); - TL_IS_432 = Str__literal(L"Structures"); - TL_IS_433 = Str__literal(L"program ended with conditional compilation open"); - TL_IS_434 = Str__literal(L"conditional compilation too deeply nested"); - TL_IS_435 = Str__literal(L"found #endif without #ifdef or #ifndef"); - TL_IS_436 = Str__literal(L"Preform"); - TL_IS_437 = Str__literal(L"'WR[...]' notation unavailable"); - TL_IS_438 = Str__literal(L"malformed '{ , }' formula"); - TL_IS_439 = Str__literal(L"fail"); - TL_IS_440 = Str__literal(L"fail production"); - TL_IS_441 = Str__literal(L"fail nonterminal"); - TL_IS_442 = Str__literal(L"advance "); - TL_IS_443 = Str__literal(L"pass "); - TL_IS_444 = Str__literal(L"lookahead"); - TL_IS_445 = Str__literal(L"-"); - TL_IS_446 = Str__literal(L"-"); - TL_IS_447 = Str__literal(L"most_recent_result"); - TL_IS_448 = Str__literal(L"most_recent_result_p"); - TL_IS_449 = Str__literal(L"Syntax.preform"); - TL_IS_450 = Str__literal(L"Preform Language"); - TL_IS_451 = Str__literal(L"Preform Language"); - TL_IS_452 = Str__literal(L"weave tree"); - TL_IS_453 = Str__literal(L"document"); - TL_IS_454 = Str__literal(L"head"); - TL_IS_455 = Str__literal(L"body"); - TL_IS_456 = Str__literal(L"tail"); - TL_IS_457 = Str__literal(L"chapter footer"); - TL_IS_458 = Str__literal(L"chapter header"); - TL_IS_459 = Str__literal(L"section footer"); - TL_IS_460 = Str__literal(L"section header"); - TL_IS_461 = Str__literal(L"section purpose"); - TL_IS_462 = Str__literal(L"subheading"); - TL_IS_463 = Str__literal(L"bar"); - TL_IS_464 = Str__literal(L"pagebreak"); - TL_IS_465 = Str__literal(L"linebreak"); - TL_IS_466 = Str__literal(L"paragraph"); - TL_IS_467 = Str__literal(L"endnote"); - TL_IS_468 = Str__literal(L"figure"); - TL_IS_469 = Str__literal(L"extract"); - TL_IS_470 = Str__literal(L"audio"); - TL_IS_471 = Str__literal(L"video"); - TL_IS_472 = Str__literal(L"download"); - TL_IS_473 = Str__literal(L"material"); - TL_IS_474 = Str__literal(L"embed"); - TL_IS_475 = Str__literal(L"pmac"); - TL_IS_476 = Str__literal(L"vskip"); - TL_IS_477 = Str__literal(L"chapter"); - TL_IS_478 = Str__literal(L"section"); - TL_IS_479 = Str__literal(L"code line"); - TL_IS_480 = Str__literal(L"function usage"); - TL_IS_481 = Str__literal(L"commentary"); - TL_IS_482 = Str__literal(L"carousel slide"); - TL_IS_483 = Str__literal(L"toc"); - TL_IS_484 = Str__literal(L"toc line"); - TL_IS_485 = Str__literal(L"chapter_title_page"); - TL_IS_486 = Str__literal(L"defn"); - TL_IS_487 = Str__literal(L"source_code"); - TL_IS_488 = Str__literal(L"url"); - TL_IS_489 = Str__literal(L"footnote_cue"); - TL_IS_490 = Str__literal(L"footnote"); - TL_IS_491 = Str__literal(L"display line"); - TL_IS_492 = Str__literal(L"function defn"); - TL_IS_493 = Str__literal(L"item"); - TL_IS_494 = Str__literal(L"grammar index"); - TL_IS_495 = Str__literal(L"inline"); - TL_IS_496 = Str__literal(L"locale"); - TL_IS_497 = Str__literal(L"mathematics"); - TL_IS_498 = Str__literal(L"verbatim"); - TL_IS_499 = Str__literal(L"Weave Content"); - TL_IS_500 = Str__literal(L"plain"); - TL_IS_501 = Str__literal(L".txt"); - TL_IS_502 = Str__literal(L"TeX"); - TL_IS_503 = Str__literal(L".tex"); - TL_IS_504 = Str__literal(L"S"); - TL_IS_505 = Str__literal(L""); - TL_IS_506 = Str__literal(L"Figures"); - TL_IS_507 = Str__literal(L"weavesection"); - TL_IS_508 = Str__literal(L"weavesections"); - TL_IS_509 = Str__literal(L"weavesectionss"); - TL_IS_510 = Str__literal(L"weavesectionsss"); - TL_IS_511 = Str__literal(L"tweavesection"); - TL_IS_512 = Str__literal(L"tweavesections"); - TL_IS_513 = Str__literal(L"tweavesectionss"); - TL_IS_514 = Str__literal(L"tweavesectionsss"); - TL_IS_515 = Str__literal(L"nsweavesection"); - TL_IS_516 = Str__literal(L"nsweavesections"); - TL_IS_517 = Str__literal(L"HTML"); - TL_IS_518 = Str__literal(L".html"); - TL_IS_519 = Str__literal(L"ePub"); - TL_IS_520 = Str__literal(L".html"); - TL_IS_521 = Str__literal(L""); - TL_IS_522 = Str__literal(L"private copy"); - TL_IS_523 = Str__literal(L"Base"); - TL_IS_524 = Str__literal(L"Colours"); + TL_IS_339 = Str__literal(L"TeX Mathematics Notation"); + TL_IS_340 = Str__literal(L"Off"); + TL_IS_341 = Str__literal(L"Cross-References Notation"); + TL_IS_342 = Str__literal(L"Off"); + TL_IS_343 = Str__literal(L"http://"); + TL_IS_344 = Str__literal(L"https://"); + TL_IS_345 = Str__literal(L"this is a cue for a missing note"); + TL_IS_346 = Str__literal(L"Cross-References Notation"); + TL_IS_347 = Str__literal(L"Off"); + TL_IS_348 = Str__literal(L"http://"); + TL_IS_349 = Str__literal(L"https://"); + TL_IS_350 = Str__literal(L"misplaced definition"); + TL_IS_351 = Str__literal(L"unknown macro"); + TL_IS_352 = Str__literal(L"Dialects"); + TL_IS_353 = Str__literal(L"C"); + TL_IS_354 = Str__literal(L"Languages"); + TL_IS_355 = Str__literal(L"InC"); + TL_IS_356 = Str__literal(L"Name"); + TL_IS_357 = Str__literal(L"Details"); + TL_IS_358 = Str__literal(L"Extension"); + TL_IS_359 = Str__literal(L"Line Comment"); + TL_IS_360 = Str__literal(L"Whole Line Comment"); + TL_IS_361 = Str__literal(L"Multiline Comment Open"); + TL_IS_362 = Str__literal(L"Multiline Comment Close"); + TL_IS_363 = Str__literal(L"String Literal"); + TL_IS_364 = Str__literal(L"String Literal Escape"); + TL_IS_365 = Str__literal(L"Character Literal"); + TL_IS_366 = Str__literal(L"Character Literal Escape"); + TL_IS_367 = Str__literal(L"Binary Literal Prefix"); + TL_IS_368 = Str__literal(L"Octal Literal Prefix"); + TL_IS_369 = Str__literal(L"Hexadecimal Literal Prefix"); + TL_IS_370 = Str__literal(L"Negative Literal Prefix"); + TL_IS_371 = Str__literal(L"Shebang"); + TL_IS_372 = Str__literal(L"Line Marker"); + TL_IS_373 = Str__literal(L"Before Named Paragraph Expansion"); + TL_IS_374 = Str__literal(L"After Named Paragraph Expansion"); + TL_IS_375 = Str__literal(L"Start Definition"); + TL_IS_376 = Str__literal(L"Prolong Definition"); + TL_IS_377 = Str__literal(L"End Definition"); + TL_IS_378 = Str__literal(L"Start Ifdef"); + TL_IS_379 = Str__literal(L"Start Ifndef"); + TL_IS_380 = Str__literal(L"End Ifdef"); + TL_IS_381 = Str__literal(L"End Ifndef"); + TL_IS_382 = Str__literal(L"C-Like"); + TL_IS_383 = Str__literal(L"Suppress Disclaimer"); + TL_IS_384 = Str__literal(L"Supports Namespaces"); + TL_IS_385 = Str__literal(L"Function Declaration Notation"); + TL_IS_386 = Str__literal(L"Type Declaration Notation"); + TL_IS_387 = Str__literal(L"}"); + TL_IS_388 = Str__literal(L"unquoted"); + TL_IS_389 = Str__literal(L"{"); + TL_IS_390 = Str__literal(L"debug"); + TL_IS_391 = Str__literal(L"!string"); + TL_IS_392 = Str__literal(L"!function"); + TL_IS_393 = Str__literal(L"!definition"); + TL_IS_394 = Str__literal(L"!reserved"); + TL_IS_395 = Str__literal(L"!element"); + TL_IS_396 = Str__literal(L"!identifier"); + TL_IS_397 = Str__literal(L"!character"); + TL_IS_398 = Str__literal(L"!constant"); + TL_IS_399 = Str__literal(L"!plain"); + TL_IS_400 = Str__literal(L"!extract"); + TL_IS_401 = Str__literal(L"!comment"); + TL_IS_402 = Str__literal(L"true"); + TL_IS_403 = Str__literal(L"false"); + TL_IS_404 = Str__literal(L"both"); + TL_IS_405 = Str__literal(L"brackets"); + TL_IS_406 = Str__literal(L"characters"); + TL_IS_407 = Str__literal(L"coloured"); + TL_IS_408 = Str__literal(L"colouring"); + TL_IS_409 = Str__literal(L"debug"); + TL_IS_410 = Str__literal(L"false"); + TL_IS_411 = Str__literal(L"in"); + TL_IS_412 = Str__literal(L"instances"); + TL_IS_413 = Str__literal(L"keyword"); + TL_IS_414 = Str__literal(L"matches"); + TL_IS_415 = Str__literal(L"matching"); + TL_IS_416 = Str__literal(L"not"); + TL_IS_417 = Str__literal(L"of"); + TL_IS_418 = Str__literal(L"on"); + TL_IS_419 = Str__literal(L"optionally"); + TL_IS_420 = Str__literal(L"prefix"); + TL_IS_421 = Str__literal(L"runs"); + TL_IS_422 = Str__literal(L"spaced"); + TL_IS_423 = Str__literal(L"suffix"); + TL_IS_424 = Str__literal(L"true"); + TL_IS_425 = Str__literal(L"unquoted"); + TL_IS_426 = Str__literal(L"Structures"); + TL_IS_427 = Str__literal(L"Main::"); + TL_IS_428 = Str__literal(L"Tangled output generated by inweb: do not edit"); + TL_IS_429 = Str__literal(L"this programming language does not support @d"); + TL_IS_430 = Str__literal(L"this programming language does not support multiline @d"); + TL_IS_431 = Str__literal(L"Preform"); + TL_IS_432 = Str__literal(L"Preform"); + TL_IS_433 = Str__literal(L"Namespaces"); + TL_IS_434 = Str__literal(L"Being internally called, this function mustn't belong to a :: namespace"); + TL_IS_435 = Str__literal(L"Being externally called, this function must belong to a :: namespace"); + TL_IS_436 = Str__literal(L"Structures"); + TL_IS_437 = Str__literal(L"program ended with conditional compilation open"); + TL_IS_438 = Str__literal(L"conditional compilation too deeply nested"); + TL_IS_439 = Str__literal(L"found #endif without #ifdef or #ifndef"); + TL_IS_440 = Str__literal(L"Preform"); + TL_IS_441 = Str__literal(L"'WR[...]' notation unavailable"); + TL_IS_442 = Str__literal(L"malformed '{ , }' formula"); + TL_IS_443 = Str__literal(L"fail"); + TL_IS_444 = Str__literal(L"fail production"); + TL_IS_445 = Str__literal(L"fail nonterminal"); + TL_IS_446 = Str__literal(L"advance "); + TL_IS_447 = Str__literal(L"pass "); + TL_IS_448 = Str__literal(L"lookahead"); + TL_IS_449 = Str__literal(L"-"); + TL_IS_450 = Str__literal(L"-"); + TL_IS_451 = Str__literal(L"most_recent_result"); + TL_IS_452 = Str__literal(L"most_recent_result_p"); + TL_IS_453 = Str__literal(L"Syntax.preform"); + TL_IS_454 = Str__literal(L"Preform Language"); + TL_IS_455 = Str__literal(L"Preform Language"); + TL_IS_456 = Str__literal(L"weave tree"); + TL_IS_457 = Str__literal(L"document"); + TL_IS_458 = Str__literal(L"head"); + TL_IS_459 = Str__literal(L"body"); + TL_IS_460 = Str__literal(L"tail"); + TL_IS_461 = Str__literal(L"chapter footer"); + TL_IS_462 = Str__literal(L"chapter header"); + TL_IS_463 = Str__literal(L"section footer"); + TL_IS_464 = Str__literal(L"section header"); + TL_IS_465 = Str__literal(L"section purpose"); + TL_IS_466 = Str__literal(L"subheading"); + TL_IS_467 = Str__literal(L"bar"); + TL_IS_468 = Str__literal(L"pagebreak"); + TL_IS_469 = Str__literal(L"linebreak"); + TL_IS_470 = Str__literal(L"paragraph"); + TL_IS_471 = Str__literal(L"endnote"); + TL_IS_472 = Str__literal(L"figure"); + TL_IS_473 = Str__literal(L"extract"); + TL_IS_474 = Str__literal(L"audio"); + TL_IS_475 = Str__literal(L"video"); + TL_IS_476 = Str__literal(L"download"); + TL_IS_477 = Str__literal(L"material"); + TL_IS_478 = Str__literal(L"embed"); + TL_IS_479 = Str__literal(L"pmac"); + TL_IS_480 = Str__literal(L"vskip"); + TL_IS_481 = Str__literal(L"chapter"); + TL_IS_482 = Str__literal(L"section"); + TL_IS_483 = Str__literal(L"code line"); + TL_IS_484 = Str__literal(L"function usage"); + TL_IS_485 = Str__literal(L"commentary"); + TL_IS_486 = Str__literal(L"carousel slide"); + TL_IS_487 = Str__literal(L"toc"); + TL_IS_488 = Str__literal(L"toc line"); + TL_IS_489 = Str__literal(L"chapter_title_page"); + TL_IS_490 = Str__literal(L"defn"); + TL_IS_491 = Str__literal(L"source_code"); + TL_IS_492 = Str__literal(L"url"); + TL_IS_493 = Str__literal(L"footnote_cue"); + TL_IS_494 = Str__literal(L"footnote"); + TL_IS_495 = Str__literal(L"display line"); + TL_IS_496 = Str__literal(L"function defn"); + TL_IS_497 = Str__literal(L"item"); + TL_IS_498 = Str__literal(L"grammar index"); + TL_IS_499 = Str__literal(L"inline"); + TL_IS_500 = Str__literal(L"locale"); + TL_IS_501 = Str__literal(L"mathematics"); + TL_IS_502 = Str__literal(L"verbatim"); + TL_IS_503 = Str__literal(L"Weave Content"); + TL_IS_504 = Str__literal(L"plain"); + TL_IS_505 = Str__literal(L".txt"); + TL_IS_506 = Str__literal(L"TeX"); + TL_IS_507 = Str__literal(L".tex"); + TL_IS_508 = Str__literal(L"S"); + TL_IS_509 = Str__literal(L""); + TL_IS_510 = Str__literal(L"Figures"); + TL_IS_511 = Str__literal(L"weavesection"); + TL_IS_512 = Str__literal(L"weavesections"); + TL_IS_513 = Str__literal(L"weavesectionss"); + TL_IS_514 = Str__literal(L"weavesectionsss"); + TL_IS_515 = Str__literal(L"tweavesection"); + TL_IS_516 = Str__literal(L"tweavesections"); + TL_IS_517 = Str__literal(L"tweavesectionss"); + TL_IS_518 = Str__literal(L"tweavesectionsss"); + TL_IS_519 = Str__literal(L"nsweavesection"); + TL_IS_520 = Str__literal(L"nsweavesections"); + TL_IS_521 = Str__literal(L"HTML"); + TL_IS_522 = Str__literal(L".html"); + TL_IS_523 = Str__literal(L"ePub"); + TL_IS_524 = Str__literal(L".html"); TL_IS_525 = Str__literal(L""); - TL_IS_526 = Str__literal(L""); - TL_IS_527 = Str__literal(L"Breadcrumbs"); - TL_IS_528 = Str__literal(L"Title"); - TL_IS_529 = Str__literal(L"Short Title"); - TL_IS_530 = Str__literal(L"Short Title"); - TL_IS_531 = Str__literal(L"index.html"); - TL_IS_532 = Str__literal(L"S"); - TL_IS_533 = Str__literal(L"Sequential Section Ranges"); - TL_IS_534 = Str__literal(L"On"); - TL_IS_535 = Str__literal(L"Figures"); - TL_IS_536 = Str__literal(L"HTML"); - TL_IS_537 = Str__literal(L"Unable to find this HTML extract"); - TL_IS_538 = Str__literal(L"Audio"); - TL_IS_539 = Str__literal(L"Video"); - TL_IS_540 = Str__literal(L"Downloads"); - TL_IS_541 = Str__literal(L"Embedding"); - TL_IS_542 = Str__literal(L"Download.html"); - TL_IS_543 = Str__literal(L"Downloads are not supported"); + TL_IS_526 = Str__literal(L"private copy"); + TL_IS_527 = Str__literal(L"Base"); + TL_IS_528 = Str__literal(L"Colours"); + TL_IS_529 = Str__literal(L""); + TL_IS_530 = Str__literal(L""); + TL_IS_531 = Str__literal(L"Breadcrumbs"); + TL_IS_532 = Str__literal(L"Title"); + TL_IS_533 = Str__literal(L"Short Title"); + TL_IS_534 = Str__literal(L"Short Title"); + TL_IS_535 = Str__literal(L"index.html"); + TL_IS_536 = Str__literal(L"S"); + TL_IS_537 = Str__literal(L"Sequential Section Ranges"); + TL_IS_538 = Str__literal(L"On"); + TL_IS_539 = Str__literal(L"Figures"); + TL_IS_540 = Str__literal(L"HTML"); + TL_IS_541 = Str__literal(L"Unable to find this HTML extract"); + TL_IS_542 = Str__literal(L"Audio"); + TL_IS_543 = Str__literal(L"Video"); TL_IS_544 = Str__literal(L"Downloads"); - TL_IS_545 = Str__literal(L"Download file missing or empty"); - TL_IS_546 = Str__literal(L"File Name"); - TL_IS_547 = Str__literal(L"File URL"); - TL_IS_548 = Str__literal(L"File Details"); - TL_IS_549 = Str__literal(L" byte"); - TL_IS_550 = Str__literal(L" bytes"); - TL_IS_551 = Str__literal(L"kB"); - TL_IS_552 = Str__literal(L"MB"); - TL_IS_553 = Str__literal(L"GB"); - TL_IS_554 = Str__literal(L"405"); - TL_IS_555 = Str__literal(L"720"); - TL_IS_556 = Str__literal(L"Embedding"); - TL_IS_557 = Str__literal(L"This is not a supported service"); - TL_IS_558 = Str__literal(L"Content ID"); - TL_IS_559 = Str__literal(L"Content Width"); - TL_IS_560 = Str__literal(L"Content Height"); - TL_IS_561 = Str__literal(L"named-paragraph-link"); - TL_IS_562 = Str__literal(L"function-link"); - TL_IS_563 = Str__literal(L"Carousel"); - TL_IS_564 = Str__literal(L"carousel-number"); - TL_IS_565 = Str__literal(L"carousel-caption"); - TL_IS_566 = Str__literal(L"carousel-caption-above"); - TL_IS_567 = Str__literal(L"carousel-number-above"); - TL_IS_568 = Str__literal(L"carousel-caption-below"); - TL_IS_569 = Str__literal(L"carousel-number-below"); - TL_IS_570 = Str__literal(L"external"); - TL_IS_571 = Str__literal(L"internal"); - TL_IS_572 = Str__literal(L"Popups"); - TL_IS_573 = Str__literal(L"*"); - TL_IS_574 = Str__literal(L"paragraph-anchor"); - TL_IS_575 = Str__literal(L"Title"); - TL_IS_576 = Str__literal(L"Base"); - TL_IS_577 = Str__literal(L"Base.css"); - TL_IS_578 = Str__literal(L"TestingInweb"); - TL_IS_579 = Str__literal(L".txt"); - TL_IS_580 = Str__literal(L".pdf"); - TL_IS_581 = Str__literal(L"not"); - TL_IS_582 = Str__literal(L"leq"); - TL_IS_583 = Str__literal(L"geq"); - TL_IS_584 = Str__literal(L"sim"); - TL_IS_585 = Str__literal(L"hbox"); - TL_IS_586 = Str__literal(L"left"); - TL_IS_587 = Str__literal(L"right"); - TL_IS_588 = Str__literal(L"Rightarrow"); - TL_IS_589 = Str__literal(L"Leftrightarrow"); - TL_IS_590 = Str__literal(L"to"); - TL_IS_591 = Str__literal(L"rightarrow"); - TL_IS_592 = Str__literal(L"longrightarrow"); - TL_IS_593 = Str__literal(L"leftarrow"); - TL_IS_594 = Str__literal(L"longleftarrow"); - TL_IS_595 = Str__literal(L"lbrace"); - TL_IS_596 = Str__literal(L"mid"); - TL_IS_597 = Str__literal(L"rbrace"); - TL_IS_598 = Str__literal(L"cdot"); - TL_IS_599 = Str__literal(L"cdots"); - TL_IS_600 = Str__literal(L"dots"); - TL_IS_601 = Str__literal(L"times"); - TL_IS_602 = Str__literal(L"quad"); - TL_IS_603 = Str__literal(L"qquad"); - TL_IS_604 = Str__literal(L"TeX"); - TL_IS_605 = Str__literal(L"neq"); - TL_IS_606 = Str__literal(L"noteq"); - TL_IS_607 = Str__literal(L"ell"); - TL_IS_608 = Str__literal(L"log"); - TL_IS_609 = Str__literal(L"exp"); - TL_IS_610 = Str__literal(L"sin"); - TL_IS_611 = Str__literal(L"cos"); - TL_IS_612 = Str__literal(L"tan"); - TL_IS_613 = Str__literal(L"top"); - TL_IS_614 = Str__literal(L"Alpha"); - TL_IS_615 = Str__literal(L"Beta"); - TL_IS_616 = Str__literal(L"Gamma"); - TL_IS_617 = Str__literal(L"Delta"); - TL_IS_618 = Str__literal(L"Epsilon"); - TL_IS_619 = Str__literal(L"Zeta"); - TL_IS_620 = Str__literal(L"Eta"); - TL_IS_621 = Str__literal(L"Theta"); - TL_IS_622 = Str__literal(L"Iota"); - TL_IS_623 = Str__literal(L"Kappa"); - TL_IS_624 = Str__literal(L"Lambda"); - TL_IS_625 = Str__literal(L"Mu"); - TL_IS_626 = Str__literal(L"Nu"); - TL_IS_627 = Str__literal(L"Xi"); - TL_IS_628 = Str__literal(L"Omicron"); - TL_IS_629 = Str__literal(L"Pi"); - TL_IS_630 = Str__literal(L"Rho"); - TL_IS_631 = Str__literal(L"Varsigma"); - TL_IS_632 = Str__literal(L"Sigma"); - TL_IS_633 = Str__literal(L"Tau"); - TL_IS_634 = Str__literal(L"Upsilon"); - TL_IS_635 = Str__literal(L"Phi"); - TL_IS_636 = Str__literal(L"Chi"); - TL_IS_637 = Str__literal(L"Psi"); - TL_IS_638 = Str__literal(L"Omega"); - TL_IS_639 = Str__literal(L"alpha"); - TL_IS_640 = Str__literal(L"beta"); - TL_IS_641 = Str__literal(L"gamma"); - TL_IS_642 = Str__literal(L"delta"); - TL_IS_643 = Str__literal(L"epsilon"); - TL_IS_644 = Str__literal(L"zeta"); - TL_IS_645 = Str__literal(L"eta"); - TL_IS_646 = Str__literal(L"theta"); - TL_IS_647 = Str__literal(L"iota"); - TL_IS_648 = Str__literal(L"kappa"); - TL_IS_649 = Str__literal(L"lambda"); - TL_IS_650 = Str__literal(L"mu"); - TL_IS_651 = Str__literal(L"nu"); - TL_IS_652 = Str__literal(L"xi"); - TL_IS_653 = Str__literal(L"omicron"); - TL_IS_654 = Str__literal(L"pi"); - TL_IS_655 = Str__literal(L"rho"); - TL_IS_656 = Str__literal(L"varsigma"); - TL_IS_657 = Str__literal(L"sigma"); - TL_IS_658 = Str__literal(L"tau"); - TL_IS_659 = Str__literal(L"upsilon"); - TL_IS_660 = Str__literal(L"phi"); - TL_IS_661 = Str__literal(L"chi"); - TL_IS_662 = Str__literal(L"psi"); - TL_IS_663 = Str__literal(L"omega"); - TL_IS_664 = Str__literal(L"exists"); - TL_IS_665 = Str__literal(L"in"); - TL_IS_666 = Str__literal(L"forall"); - TL_IS_667 = Str__literal(L"cap"); - TL_IS_668 = Str__literal(L"emptyset"); - TL_IS_669 = Str__literal(L"subseteq"); - TL_IS_670 = Str__literal(L"land"); - TL_IS_671 = Str__literal(L"lor"); - TL_IS_672 = Str__literal(L"lnot"); - TL_IS_673 = Str__literal(L"sum"); - TL_IS_674 = Str__literal(L"prod"); - TL_IS_675 = Str__literal(L"n"); - TL_IS_676 = Str__literal(L"t"); - TL_IS_677 = Str__literal(L"exists"); - TL_IS_678 = Str__literal(L"forall"); - TL_IS_679 = Str__literal(L"platform-settings"); - TL_IS_680 = Str__literal(L"identity-settings"); - TL_IS_681 = Str__literal(L"modify-filenames"); - TL_IS_682 = Str__literal(L"original: ORIGINAL ?suffix: SUFFIX ?prefix: PREFIX"); - TL_IS_683 = Str__literal(L"component"); - TL_IS_684 = Str__literal(L"symbol: SYMBOL webname: WEBNAME path: PATH set: SET type: TYPE"); - TL_IS_685 = Str__literal(L"dependent-files"); - TL_IS_686 = Str__literal(L"?tool: TOOL ?module: MODULES ?tool-and-modules: BOTH"); - TL_IS_687 = Str__literal(L"components"); - TL_IS_688 = Str__literal(L"type: TYPE ?set: SET"); - TL_IS_689 = Str__literal(L"intest"); - TL_IS_690 = Str__literal(L"platform-settings.mk"); - TL_IS_691 = Str__literal(L"Materials"); - TL_IS_692 = Str__literal(L"platforms"); - TL_IS_693 = Str__literal(L"tool"); - TL_IS_694 = Str__literal(L"web"); - TL_IS_695 = Str__literal(L"module"); - TL_IS_696 = Str__literal(L"SYMBOL"); - TL_IS_697 = Str__literal(L"all"); - TL_IS_698 = Str__literal(L"tool"); - TL_IS_699 = Str__literal(L"web"); - TL_IS_700 = Str__literal(L"module"); + TL_IS_545 = Str__literal(L"Embedding"); + TL_IS_546 = Str__literal(L"Download.html"); + TL_IS_547 = Str__literal(L"Downloads are not supported"); + TL_IS_548 = Str__literal(L"Downloads"); + TL_IS_549 = Str__literal(L"Download file missing or empty"); + TL_IS_550 = Str__literal(L"File Name"); + TL_IS_551 = Str__literal(L"File URL"); + TL_IS_552 = Str__literal(L"File Details"); + TL_IS_553 = Str__literal(L" byte"); + TL_IS_554 = Str__literal(L" bytes"); + TL_IS_555 = Str__literal(L"kB"); + TL_IS_556 = Str__literal(L"MB"); + TL_IS_557 = Str__literal(L"GB"); + TL_IS_558 = Str__literal(L"405"); + TL_IS_559 = Str__literal(L"720"); + TL_IS_560 = Str__literal(L"Embedding"); + TL_IS_561 = Str__literal(L"This is not a supported service"); + TL_IS_562 = Str__literal(L"Content ID"); + TL_IS_563 = Str__literal(L"Content Width"); + TL_IS_564 = Str__literal(L"Content Height"); + TL_IS_565 = Str__literal(L"named-paragraph-link"); + TL_IS_566 = Str__literal(L"function-link"); + TL_IS_567 = Str__literal(L"Carousel"); + TL_IS_568 = Str__literal(L"carousel-number"); + TL_IS_569 = Str__literal(L"carousel-caption"); + TL_IS_570 = Str__literal(L"carousel-caption-above"); + TL_IS_571 = Str__literal(L"carousel-number-above"); + TL_IS_572 = Str__literal(L"carousel-caption-below"); + TL_IS_573 = Str__literal(L"carousel-number-below"); + TL_IS_574 = Str__literal(L"external"); + TL_IS_575 = Str__literal(L"internal"); + TL_IS_576 = Str__literal(L"Popups"); + TL_IS_577 = Str__literal(L"*"); + TL_IS_578 = Str__literal(L"paragraph-anchor"); + TL_IS_579 = Str__literal(L"Title"); + TL_IS_580 = Str__literal(L"Base"); + TL_IS_581 = Str__literal(L"Base.css"); + TL_IS_582 = Str__literal(L"TestingInweb"); + TL_IS_583 = Str__literal(L".txt"); + TL_IS_584 = Str__literal(L".pdf"); + TL_IS_585 = Str__literal(L"not"); + TL_IS_586 = Str__literal(L"leq"); + TL_IS_587 = Str__literal(L"geq"); + TL_IS_588 = Str__literal(L"sim"); + TL_IS_589 = Str__literal(L"hbox"); + TL_IS_590 = Str__literal(L"left"); + TL_IS_591 = Str__literal(L"right"); + TL_IS_592 = Str__literal(L"Rightarrow"); + TL_IS_593 = Str__literal(L"Leftrightarrow"); + TL_IS_594 = Str__literal(L"to"); + TL_IS_595 = Str__literal(L"rightarrow"); + TL_IS_596 = Str__literal(L"longrightarrow"); + TL_IS_597 = Str__literal(L"leftarrow"); + TL_IS_598 = Str__literal(L"longleftarrow"); + TL_IS_599 = Str__literal(L"lbrace"); + TL_IS_600 = Str__literal(L"mid"); + TL_IS_601 = Str__literal(L"rbrace"); + TL_IS_602 = Str__literal(L"cdot"); + TL_IS_603 = Str__literal(L"cdots"); + TL_IS_604 = Str__literal(L"dots"); + TL_IS_605 = Str__literal(L"times"); + TL_IS_606 = Str__literal(L"quad"); + TL_IS_607 = Str__literal(L"qquad"); + TL_IS_608 = Str__literal(L"TeX"); + TL_IS_609 = Str__literal(L"neq"); + TL_IS_610 = Str__literal(L"noteq"); + TL_IS_611 = Str__literal(L"ell"); + TL_IS_612 = Str__literal(L"log"); + TL_IS_613 = Str__literal(L"exp"); + TL_IS_614 = Str__literal(L"sin"); + TL_IS_615 = Str__literal(L"cos"); + TL_IS_616 = Str__literal(L"tan"); + TL_IS_617 = Str__literal(L"top"); + TL_IS_618 = Str__literal(L"Alpha"); + TL_IS_619 = Str__literal(L"Beta"); + TL_IS_620 = Str__literal(L"Gamma"); + TL_IS_621 = Str__literal(L"Delta"); + TL_IS_622 = Str__literal(L"Epsilon"); + TL_IS_623 = Str__literal(L"Zeta"); + TL_IS_624 = Str__literal(L"Eta"); + TL_IS_625 = Str__literal(L"Theta"); + TL_IS_626 = Str__literal(L"Iota"); + TL_IS_627 = Str__literal(L"Kappa"); + TL_IS_628 = Str__literal(L"Lambda"); + TL_IS_629 = Str__literal(L"Mu"); + TL_IS_630 = Str__literal(L"Nu"); + TL_IS_631 = Str__literal(L"Xi"); + TL_IS_632 = Str__literal(L"Omicron"); + TL_IS_633 = Str__literal(L"Pi"); + TL_IS_634 = Str__literal(L"Rho"); + TL_IS_635 = Str__literal(L"Varsigma"); + TL_IS_636 = Str__literal(L"Sigma"); + TL_IS_637 = Str__literal(L"Tau"); + TL_IS_638 = Str__literal(L"Upsilon"); + TL_IS_639 = Str__literal(L"Phi"); + TL_IS_640 = Str__literal(L"Chi"); + TL_IS_641 = Str__literal(L"Psi"); + TL_IS_642 = Str__literal(L"Omega"); + TL_IS_643 = Str__literal(L"alpha"); + TL_IS_644 = Str__literal(L"beta"); + TL_IS_645 = Str__literal(L"gamma"); + TL_IS_646 = Str__literal(L"delta"); + TL_IS_647 = Str__literal(L"epsilon"); + TL_IS_648 = Str__literal(L"zeta"); + TL_IS_649 = Str__literal(L"eta"); + TL_IS_650 = Str__literal(L"theta"); + TL_IS_651 = Str__literal(L"iota"); + TL_IS_652 = Str__literal(L"kappa"); + TL_IS_653 = Str__literal(L"lambda"); + TL_IS_654 = Str__literal(L"mu"); + TL_IS_655 = Str__literal(L"nu"); + TL_IS_656 = Str__literal(L"xi"); + TL_IS_657 = Str__literal(L"omicron"); + TL_IS_658 = Str__literal(L"pi"); + TL_IS_659 = Str__literal(L"rho"); + TL_IS_660 = Str__literal(L"varsigma"); + TL_IS_661 = Str__literal(L"sigma"); + TL_IS_662 = Str__literal(L"tau"); + TL_IS_663 = Str__literal(L"upsilon"); + TL_IS_664 = Str__literal(L"phi"); + TL_IS_665 = Str__literal(L"chi"); + TL_IS_666 = Str__literal(L"psi"); + TL_IS_667 = Str__literal(L"omega"); + TL_IS_668 = Str__literal(L"exists"); + TL_IS_669 = Str__literal(L"in"); + TL_IS_670 = Str__literal(L"forall"); + TL_IS_671 = Str__literal(L"cap"); + TL_IS_672 = Str__literal(L"emptyset"); + TL_IS_673 = Str__literal(L"subseteq"); + TL_IS_674 = Str__literal(L"land"); + TL_IS_675 = Str__literal(L"lor"); + TL_IS_676 = Str__literal(L"lnot"); + TL_IS_677 = Str__literal(L"sum"); + TL_IS_678 = Str__literal(L"prod"); + TL_IS_679 = Str__literal(L"n"); + TL_IS_680 = Str__literal(L"t"); + TL_IS_681 = Str__literal(L"exists"); + TL_IS_682 = Str__literal(L"forall"); + TL_IS_683 = Str__literal(L"platform-settings"); + TL_IS_684 = Str__literal(L"identity-settings"); + TL_IS_685 = Str__literal(L"modify-filenames"); + TL_IS_686 = Str__literal(L"original: ORIGINAL ?suffix: SUFFIX ?prefix: PREFIX"); + TL_IS_687 = Str__literal(L"component"); + TL_IS_688 = Str__literal(L"symbol: SYMBOL webname: WEBNAME path: PATH set: SET type: TYPE"); + TL_IS_689 = Str__literal(L"dependent-files"); + TL_IS_690 = Str__literal(L"?tool: TOOL ?module: MODULES ?tool-and-modules: BOTH"); + TL_IS_691 = Str__literal(L"components"); + TL_IS_692 = Str__literal(L"type: TYPE ?set: SET"); + TL_IS_693 = Str__literal(L"intest"); + TL_IS_694 = Str__literal(L"platform-settings.mk"); + TL_IS_695 = Str__literal(L"Materials"); + TL_IS_696 = Str__literal(L"platforms"); + TL_IS_697 = Str__literal(L"tool"); + TL_IS_698 = Str__literal(L"web"); + TL_IS_699 = Str__literal(L"module"); + TL_IS_700 = Str__literal(L"SYMBOL"); TL_IS_701 = Str__literal(L"all"); - TL_IS_702 = Str__literal(L"basics"); - TL_IS_703 = Str__literal(L"default.giscript"); - TL_IS_704 = Str__literal(L"tags"); - TL_IS_705 = Str__literal(L"bibliographic"); - TL_IS_706 = Str__literal(L"datum: DATUM of: ASSET"); - TL_IS_707 = Str__literal(L"Build Date"); - TL_IS_708 = Str__literal(L"Version Number"); - TL_IS_709 = Str__literal(L"Build Date"); - TL_IS_710 = Str__literal(L"Version Number"); - TL_IS_711 = Str__literal(L"inform6"); - TL_IS_712 = Str__literal(L"header.h"); - TL_IS_713 = Str__literal(L"(manifest).txt"); - TL_IS_714 = Str__literal(L"README.txt"); - TL_IS_715 = Str__literal(L"README.md"); - TL_IS_716 = Str__literal(L"docs"); - TL_IS_717 = Str__literal(L"web"); - TL_IS_718 = Str__literal(L"module"); - TL_IS_719 = Str__literal(L".inweb"); - TL_IS_720 = Str__literal(L".inweb"); - TL_IS_721 = Str__literal(L"docs"); - TL_IS_722 = Str__literal(L"Multiple cross-references might be meant here"); - TL_IS_723 = Str__literal(L"(main)"); + TL_IS_702 = Str__literal(L"tool"); + TL_IS_703 = Str__literal(L"web"); + TL_IS_704 = Str__literal(L"module"); + TL_IS_705 = Str__literal(L"all"); + TL_IS_706 = Str__literal(L"basics"); + TL_IS_707 = Str__literal(L"default.giscript"); + TL_IS_708 = Str__literal(L"tags"); + TL_IS_709 = Str__literal(L"bibliographic"); + TL_IS_710 = Str__literal(L"datum: DATUM of: ASSET"); + TL_IS_711 = Str__literal(L"Build Date"); + TL_IS_712 = Str__literal(L"Version Number"); + TL_IS_713 = Str__literal(L"Build Date"); + TL_IS_714 = Str__literal(L"Version Number"); + TL_IS_715 = Str__literal(L"inform6"); + TL_IS_716 = Str__literal(L"header.h"); + TL_IS_717 = Str__literal(L"(manifest).txt"); + TL_IS_718 = Str__literal(L"README.txt"); + TL_IS_719 = Str__literal(L"README.md"); + TL_IS_720 = Str__literal(L"docs"); + TL_IS_721 = Str__literal(L"web"); + TL_IS_722 = Str__literal(L"module"); + TL_IS_723 = Str__literal(L".inweb"); + TL_IS_724 = Str__literal(L".inweb"); + TL_IS_725 = Str__literal(L"docs"); + TL_IS_726 = Str__literal(L"Multiple cross-references might be meant here"); + TL_IS_727 = Str__literal(L"(main)"); } diff --git a/build.txt b/build.txt index 058d839..b13cdb7 100644 --- a/build.txt +++ b/build.txt @@ -1,3 +1,3 @@ Prerelease: beta -Build Date: 13 June 2022 -Build Number: 1B10 +Build Date: 16 June 2022 +Build Number: 1B11 diff --git a/docs/foundation-module/4-sm.html b/docs/foundation-module/4-sm.html index e242614..9c78d0d 100644 --- a/docs/foundation-module/4-sm.html +++ b/docs/foundation-module/4-sm.html @@ -198,7 +198,7 @@ thing plus a little extra, for efficiency's sake.

-int Str::len(text_stream *S) {
+int Str::len(text_stream *S) {
     return Streams::get_position(S);
 }
 
diff --git a/docs/foundation-module/5-htm.html b/docs/foundation-module/5-htm.html index dbb8574..4cfa942 100644 --- a/docs/foundation-module/5-htm.html +++ b/docs/foundation-module/5-htm.html @@ -593,30 +593,25 @@ can be removed. None of that removal happens here; we're just the bookkeeper.

-void HTML::begin_html_table(OUTPUT_STREAM, char *colour, int full_width,
+void HTML::begin_html_table(OUTPUT_STREAM, text_stream *classname, int full_width,
     int border, int cellspacing, int cellpadding, int height, int width) {
     TEMPORARY_TEXT(tab)
     WRITE_TO(tab, "border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\"",
         border, cellspacing, cellpadding);
-    if (colour) {
-        if (*colour == '*')
-            WRITE_TO(tab, "  style=\"background-image:url('inform:/%s');\"", colour+1);
-        else
-            WRITE_TO(tab, " bgcolor=\"%s\"", colour);
-    }
+    if (Str::len(classname) > 0) WRITE_TO(tab, " class=\"%S\"", classname);
     if (full_width) WRITE_TO(tab, " width=100%%");
     if (width > 0) WRITE_TO(tab, " width=\"%d\"", width);
     if (height > 0) WRITE_TO(tab, " height=\"%d\"", height);
     HTML_OPEN_WITH("table", "%S", tab);
     DISCARD_TEXT(tab)
 }
-void HTML::begin_html_table_bg(OUTPUT_STREAM, char *colour, int full_width,
-    int border, int cellspacing, int cellpadding, int height, int width, char *bg) {
+void HTML::begin_html_table_bg(OUTPUT_STREAM, text_stream *classname, int full_width,
+    int border, int cellspacing, int cellpadding, int height, int width, text_stream *bg) {
     TEMPORARY_TEXT(tab)
     WRITE_TO(tab, "border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\"",
         border, cellspacing, cellpadding);
-    if (bg) WRITE_TO(tab, " background=\"inform:/map_icons/%s\"", bg);
-    if (colour) WRITE_TO(tab, " bgcolor=\"%s\"", colour);
+    if (Str::len(bg) > 0) WRITE_TO(tab, " background=\"inform:/%S\"", bg);
+    if (Str::len(classname) > 0) WRITE_TO(tab, " class=\"%S\"", classname);
     if (full_width) WRITE_TO(tab, " width=100%%");
     if (width > 0) WRITE_TO(tab, " width=\"%d\"", width);
     if (height > 0) WRITE_TO(tab, " height=\"%d\"", height);
@@ -628,8 +623,11 @@ can be removed. None of that removal happens here; we're just the bookkeeper.
     if (width > 0) HTML_OPEN_WITH("td", "align=\"left\" valign=\"top\" width=\"%d\"", width)
     else HTML_OPEN_WITH("td", "align=\"left\" valign=\"top\"");
 }
-void HTML::first_html_column_nowrap(OUTPUT_STREAM, int width, char *colour) {
-    if (colour) HTML_OPEN_WITH("tr", "bgcolor=\"%s\"", colour) else HTML_OPEN("tr");
+void HTML::first_html_column_nowrap(OUTPUT_STREAM, int width, text_stream *classname) {
+    if (Str::len(classname) > 0)
+        HTML_OPEN_WITH("tr", "class=\"%S\"", classname)
+    else
+        HTML_OPEN("tr");
     TEMPORARY_TEXT(col)
     WRITE_TO(col, "style=\"white-space:nowrap;\" align=\"left\" valign=\"top\" height=\"20\"");
     if (width > 0) WRITE_TO(col, " width=\"%d\"", width);
@@ -644,8 +642,12 @@ can be removed. None of that removal happens here; we're just the bookkeeper.
     HTML_OPEN_WITH("td", "%S", col);
     DISCARD_TEXT(col)
 }
-void HTML::first_html_column_coloured(OUTPUT_STREAM, int width, char *colour, int cs) {
-    if (colour) HTML_OPEN_WITH("tr", "bgcolor=\"%s\"", colour) else HTML_OPEN("tr");
+void HTML::first_html_column_coloured(OUTPUT_STREAM, int width, text_stream *classname,
+    int cs) {
+    if (Str::len(classname) > 0)
+        HTML_OPEN_WITH("tr", "class=\"%S\"", classname)
+    else
+        HTML_OPEN("tr");
     TEMPORARY_TEXT(col)
     WRITE_TO(col, "nowrap=\"nowrap\" align=\"left\" valign=\"top\"");
     if (width > 0) WRITE_TO(col, " width=\"%d\"", width);
@@ -715,18 +717,18 @@ can be removed. None of that removal happens here; we're just the bookkeeper.
 define ROUND_BOX_BOTTOM 2
 
-void HTML::open_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) {
+void HTML::open_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) {
     HTML_OPEN_WITH("table",
         "width=\"100%%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" "
-        "style=\"background-color: #%s\"", html_colour);
+        "class=\"%S\"", classname);
     HTML_OPEN("tr");
     HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE);
-    if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, html_colour, "tl");
+    if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, classname, I"tl");
     HTML_CLOSE("td");
     HTML_OPEN("td");
     HTML_CLOSE("td");
     HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE);
-    if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, html_colour, "tr");
+    if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, classname, I"tr");
     HTML_CLOSE("td");
     HTML_CLOSE("tr");
     HTML_OPEN("tr");
@@ -735,29 +737,29 @@ can be removed. None of that removal happens here; we're just the bookkeeper.
     HTML_OPEN("td");
 }
 
-void HTML::close_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) {
+void HTML::close_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) {
     HTML_CLOSE("td");
     HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE);
     HTML_CLOSE("td");
     HTML_CLOSE("tr");
     HTML_OPEN("tr");
     HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE);
-    if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, html_colour, "bl");
+    if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, classname, I"bl");
     HTML_CLOSE("td");
     HTML_OPEN("td");
     HTML_CLOSE("td");
     HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE);
-    if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, html_colour, "br");
+    if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, classname, I"br");
     HTML_CLOSE("td");
     HTML_CLOSE("tr");
     HTML::end_html_table(OUT);
 }
 
-void HTML::box_corner(OUTPUT_STREAM, char *html_colour, char *corner) {
+void HTML::box_corner(OUTPUT_STREAM, text_stream *classname, text_stream *corner) {
     HTML_TAG_WITH("img",
-        "src=\"inform:/bg_images/%s_corner_%s.gif\" "
+        "src=\"inform:/bg_images/%S_corner_%S.gif\" "
         "width=\"%d\" height=\"%d\" border=\"0\" alt=\"...\"",
-        corner, html_colour, CORNER_SIZE, CORNER_SIZE);
+        corner, classname, CORNER_SIZE, CORNER_SIZE);
 }
 

§22. Miscellaneous.

diff --git a/docs/goldbach/goldbach.pdf b/docs/goldbach/goldbach.pdf index badd859a60ad1f8e6e37fd38981697b024bd71ea..3c48d451c50233fd2230b625ed94f245b3126b26 100644 GIT binary patch delta 138 zcmcb&f&bnH{)QID7N#xC{3o@{jEqf;Of9ty4Al(`)HS*Eee+XX5=&AQG+eBV42+Bn z%nYGQwp*TLUdQWf;B0IP6frk3b#ybZa5OWsG;%aCw6t_KGBa^Av^2F-upy*myViAP G6Gi|a+amA) delta 138 zcmcb&f&bnH{)QID7N#xC{3o@H4J}QKjZL%-4Al(`)HS*Eee+XX5=&AQG+eBV42+Bn z%nYGQwp*TLUdQWfX6|TeU}))T=<4ihWN7N@W@cdS;%4ORX6WYVXkcz>r(i=!$#$*l H%qENgJIW)n diff --git a/foundation-module/Chapter 5/HTML.w b/foundation-module/Chapter 5/HTML.w index fbefefa..caa7ddb 100644 --- a/foundation-module/Chapter 5/HTML.w +++ b/foundation-module/Chapter 5/HTML.w @@ -528,30 +528,25 @@ void HTML::begin_wide_html_table(OUTPUT_STREAM) { @ And some more general code: = -void HTML::begin_html_table(OUTPUT_STREAM, char *colour, int full_width, +void HTML::begin_html_table(OUTPUT_STREAM, text_stream *classname, int full_width, int border, int cellspacing, int cellpadding, int height, int width) { TEMPORARY_TEXT(tab) WRITE_TO(tab, "border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\"", border, cellspacing, cellpadding); - if (colour) { - if (*colour == '*') - WRITE_TO(tab, " style=\"background-image:url('inform:/%s');\"", colour+1); - else - WRITE_TO(tab, " bgcolor=\"%s\"", colour); - } + if (Str::len(classname) > 0) WRITE_TO(tab, " class=\"%S\"", classname); if (full_width) WRITE_TO(tab, " width=100%%"); if (width > 0) WRITE_TO(tab, " width=\"%d\"", width); if (height > 0) WRITE_TO(tab, " height=\"%d\"", height); HTML_OPEN_WITH("table", "%S", tab); DISCARD_TEXT(tab) } -void HTML::begin_html_table_bg(OUTPUT_STREAM, char *colour, int full_width, - int border, int cellspacing, int cellpadding, int height, int width, char *bg) { +void HTML::begin_html_table_bg(OUTPUT_STREAM, text_stream *classname, int full_width, + int border, int cellspacing, int cellpadding, int height, int width, text_stream *bg) { TEMPORARY_TEXT(tab) WRITE_TO(tab, "border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\"", border, cellspacing, cellpadding); - if (bg) WRITE_TO(tab, " background=\"inform:/map_icons/%s\"", bg); - if (colour) WRITE_TO(tab, " bgcolor=\"%s\"", colour); + if (Str::len(bg) > 0) WRITE_TO(tab, " background=\"inform:/%S\"", bg); + if (Str::len(classname) > 0) WRITE_TO(tab, " class=\"%S\"", classname); if (full_width) WRITE_TO(tab, " width=100%%"); if (width > 0) WRITE_TO(tab, " width=\"%d\"", width); if (height > 0) WRITE_TO(tab, " height=\"%d\"", height); @@ -563,8 +558,11 @@ void HTML::first_html_column(OUTPUT_STREAM, int width) { if (width > 0) HTML_OPEN_WITH("td", "align=\"left\" valign=\"top\" width=\"%d\"", width) else HTML_OPEN_WITH("td", "align=\"left\" valign=\"top\""); } -void HTML::first_html_column_nowrap(OUTPUT_STREAM, int width, char *colour) { - if (colour) HTML_OPEN_WITH("tr", "bgcolor=\"%s\"", colour) else HTML_OPEN("tr"); +void HTML::first_html_column_nowrap(OUTPUT_STREAM, int width, text_stream *classname) { + if (Str::len(classname) > 0) + HTML_OPEN_WITH("tr", "class=\"%S\"", classname) + else + HTML_OPEN("tr"); TEMPORARY_TEXT(col) WRITE_TO(col, "style=\"white-space:nowrap;\" align=\"left\" valign=\"top\" height=\"20\""); if (width > 0) WRITE_TO(col, " width=\"%d\"", width); @@ -579,8 +577,12 @@ void HTML::first_html_column_spaced(OUTPUT_STREAM, int width) { HTML_OPEN_WITH("td", "%S", col); DISCARD_TEXT(col) } -void HTML::first_html_column_coloured(OUTPUT_STREAM, int width, char *colour, int cs) { - if (colour) HTML_OPEN_WITH("tr", "bgcolor=\"%s\"", colour) else HTML_OPEN("tr"); +void HTML::first_html_column_coloured(OUTPUT_STREAM, int width, text_stream *classname, + int cs) { + if (Str::len(classname) > 0) + HTML_OPEN_WITH("tr", "class=\"%S\"", classname) + else + HTML_OPEN("tr"); TEMPORARY_TEXT(col) WRITE_TO(col, "nowrap=\"nowrap\" align=\"left\" valign=\"top\""); if (width > 0) WRITE_TO(col, " width=\"%d\"", width); @@ -650,18 +652,18 @@ void HTML::end_html_table(OUTPUT_STREAM) { @d ROUND_BOX_BOTTOM 2 = -void HTML::open_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) { +void HTML::open_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) { HTML_OPEN_WITH("table", "width=\"100%%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" " - "style=\"background-color: #%s\"", html_colour); + "class=\"%S\"", classname); HTML_OPEN("tr"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, html_colour, "tl"); + if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, classname, I"tl"); HTML_CLOSE("td"); HTML_OPEN("td"); HTML_CLOSE("td"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, html_colour, "tr"); + if (rounding & ROUND_BOX_TOP) HTML::box_corner(OUT, classname, I"tr"); HTML_CLOSE("td"); HTML_CLOSE("tr"); HTML_OPEN("tr"); @@ -670,29 +672,29 @@ void HTML::open_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) { HTML_OPEN("td"); } -void HTML::close_coloured_box(OUTPUT_STREAM, char *html_colour, int rounding) { +void HTML::close_coloured_box(OUTPUT_STREAM, text_stream *classname, int rounding) { HTML_CLOSE("td"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); HTML_CLOSE("td"); HTML_CLOSE("tr"); HTML_OPEN("tr"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, html_colour, "bl"); + if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, classname, I"bl"); HTML_CLOSE("td"); HTML_OPEN("td"); HTML_CLOSE("td"); HTML_OPEN_WITH("td", "width=\"%d\"", CORNER_SIZE); - if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, html_colour, "br"); + if (rounding & ROUND_BOX_BOTTOM) HTML::box_corner(OUT, classname, I"br"); HTML_CLOSE("td"); HTML_CLOSE("tr"); HTML::end_html_table(OUT); } -void HTML::box_corner(OUTPUT_STREAM, char *html_colour, char *corner) { +void HTML::box_corner(OUTPUT_STREAM, text_stream *classname, text_stream *corner) { HTML_TAG_WITH("img", - "src=\"inform:/bg_images/%s_corner_%s.gif\" " + "src=\"inform:/bg_images/%S_corner_%S.gif\" " "width=\"%d\" height=\"%d\" border=\"0\" alt=\"...\"", - corner, html_colour, CORNER_SIZE, CORNER_SIZE); + corner, classname, CORNER_SIZE, CORNER_SIZE); } @h Miscellaneous.