diff options
32 files changed, 170 insertions, 210 deletions
| diff --git a/org/default_misc.org b/org/default_misc.org index cc4083e..8988f3e 100644 --- a/org/default_misc.org +++ b/org/default_misc.org @@ -243,7 +243,6 @@ import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    std.uni,    std.utf, diff --git a/org/imports.org b/org/imports.org index 45705a4..fd6998e 100644 --- a/org/imports.org +++ b/org/imports.org @@ -38,7 +38,6 @@ public import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    // std.uni,    std.utf, @@ -68,7 +67,6 @@ public import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    // std.uni,    std.utf; diff --git a/org/in_source_files.org b/org/in_source_files.org index 20d8d0a..cb95fda 100644 --- a/org/in_source_files.org +++ b/org/in_source_files.org @@ -296,23 +296,21 @@ static template spineRawMarkupContent() {        auto raw = MarkupRawUnit();        string[] insert_file_list;        string[] images_list; -      auto t +      Tuple!(char[], char[][], string[], string[]) t          = raw.markupSourceHeaderContentRawLineTupleArray(source_txt_str);        auto header_raw = t[0];        auto sourcefile_body_content = t[1];        if (fn_src.match(rgx.src_fn_master)) { // filename with path needed if master file (.ssm) not otherwise          auto ins = Inserts(); -        auto tu +        Tuple!(char[][], string[], string[]) tu            = ins.scan_master_src_for_insert_files_and_import_content(_opt_action, sourcefile_body_content, fn_src); -        static assert(!isTypeTuple!(tu));          sourcefile_body_content = tu[0];          insert_file_list = tu[1].dup;          images_list = tu[2].dup;        } else if (_opt_action.source || _opt_action.pod) {          auto ins = Inserts(); -        auto tu +        Tuple!(char[][], string[], string[]) tu            = ins.scan_master_src_for_insert_files_and_import_content(_opt_action, sourcefile_body_content, fn_src); -        static assert(!isTypeTuple!(tu));          images_list = tu[2].dup;        }        string header_type = ""; @@ -348,7 +346,7 @@ static template spineRawMarkupContent() {        } // end src subdoc (inserts) loop        <<meta_inserts_scan_post>>      } -    auto scan_master_src_for_insert_files_and_import_content(O)( +    Tuple!(char[][], string[], string[]) scan_master_src_for_insert_files_and_import_content(O)(        O        _opt_action,        char[][] sourcefile_body_content,        string   fn_src @@ -457,14 +455,14 @@ auto markupSourceReadIn(in string fn_src) {  #+name: meta_markup_source_raw_tuple_of_header_and_body  #+BEGIN_SRC d -auto markupSourceHeaderContentRawLineTupleArray(in string source_txt_str) @safe { +Tuple!(char[], char[][], string[], string[]) markupSourceHeaderContentRawLineTupleArray(in string source_txt_str) @safe {    string[] file_insert_list = [];    string[] images_list = [];    char[][] hc = header0Content1(source_txt_str);    char[] header = hc[0];    char[] source_txt = hc[1]; -  auto source_line_arr = markupSourceLineArray(source_txt); -  auto t = tuple( +  char[][] source_line_arr = markupSourceLineArray(source_txt); +  Tuple!(char[], char[][], string[], string[]) t = tuple(      header,      source_line_arr,      file_insert_list, @@ -487,8 +485,8 @@ final char[][] getInsertMarkupSourceContentRawLineArray(      "not a dr markup filename: «" ~      fn_src_insert  ~ "»"    ); -  auto source_txt_str = readInMarkupSource(fn_src_insert); -  auto source_line_arr = markupSourceLineArray(source_txt_str); +  string source_txt_str = readInMarkupSource(fn_src_insert); +  char[][] source_line_arr = markupSourceLineArray(source_txt_str);    return source_line_arr;  }  #+END_SRC @@ -584,7 +582,7 @@ if (type1["curly_code"] == 1) {  #+name: meta_inserts_scan_post  #+BEGIN_SRC d -auto t = tuple( +Tuple!(char[][], string[]) t = tuple(    contents_insert,    _images  ); @@ -689,7 +687,7 @@ debug(insert_file) {    writeln(__LINE__);    writeln(contents.length);  } -auto t = tuple( +Tuple!(char[][], string[], string[]) t = tuple(    contents,    insert_file_list,    images diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index 4b270e0..746f712 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -35,7 +35,6 @@ import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    std.uni,    std.utf, @@ -61,7 +60,6 @@ import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    std.utf,    std.conv : to; @@ -351,7 +349,6 @@ static template contentYAMLtoSpineStruct() {      std.regex,      std.stdio,      std.string, -    std.traits,      std.typecons,      std.utf,      std.conv : to; @@ -1168,7 +1165,6 @@ static template contentJSONtoSpineStruct() {      std.regex,      std.stdio,      std.string, -    std.traits,      std.typecons,      std.utf,      std.conv : to; diff --git a/org/meta_debugs.org b/org/meta_debugs.org index f070ada..f17c363 100644 --- a/org/meta_debugs.org +++ b/org/meta_debugs.org @@ -63,7 +63,6 @@ import    std.range,    std.regex,    std.string, -  std.traits,    std.typecons,    std.utf,    std.conv : to; diff --git a/org/metaverse.org b/org/metaverse.org index 500b6ac..c7f3481 100644 --- a/org/metaverse.org +++ b/org/metaverse.org @@ -1550,7 +1550,6 @@ if (the_document_body_section.length > 0) {  #+BEGIN_SRC d  auto en_tuple    = note_section.endnote_objects(obj_cite_digits, opt_action); -static assert(!isTypeTuple!(en_tuple));  auto the_endnotes_section = en_tuple[0];  obj_cite_digits = en_tuple[1];  debug(endnotes) { @@ -1766,7 +1765,6 @@ auto bi_tuple      opt_action,    );  destroy(bookindex_unordered_hashes); -static assert(!isTypeTuple!(bi_tuple));  auto the_bookindex_section = bi_tuple[0];  obj_cite_digits = bi_tuple[1];  debug(bookindex) { @@ -5402,7 +5400,7 @@ static struct ObjInlineMarkupMunge {  #+name: meta_emitters_obj_inline_markup_munge  #+BEGIN_SRC d -  auto footnotes_endnotes_markup_and_number_or_stars()(string obj_txt_in, bool reset_note_numbers) @safe { +  Tuple!(string, bool, bool, bool) footnotes_endnotes_markup_and_number_or_stars()(string obj_txt_in, bool reset_note_numbers) @safe {      /+ endnotes (regular) +/      bool flg_notes_reg  = false;      bool flg_notes_star = false; @@ -5458,7 +5456,7 @@ static struct ObjInlineMarkupMunge {      } else {        obj_txt_out = obj_txt_in;      } -    auto t = tuple( +    Tuple!(string, bool, bool, bool) t = tuple(        obj_txt_out,        flg_notes_reg,        flg_notes_star, @@ -5472,7 +5470,7 @@ static struct ObjInlineMarkupMunge {  #+name: meta_emitters_obj_inline_markup_munge  #+BEGIN_SRC d -  private auto object_notes_and_links_()( +  private Tuple!(string, bool, bool, bool, bool, bool) object_notes_and_links_()(      string obj_txt_in,      bool reset_note_numbers=false    ) @safe { @@ -5506,7 +5504,7 @@ static struct ObjInlineMarkupMunge {        obj_txt_in = obj_txt_in          .replaceAll(rgx.para_inline_link_anchor, "┃$1┃");      } -    auto ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers); +    Tuple!(string, bool, bool, bool) ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers);      obj_txt_out = ftn[0];      debug(footnotes) {        writeln(obj_txt_out, tail); @@ -5519,7 +5517,7 @@ static struct ObjInlineMarkupMunge {          writeln(m.hit);        }      } -    auto t = tuple( +    Tuple!(string, bool, bool, bool, bool, bool) t = tuple(        obj_txt_out,        ftn[1],        ftn[2], @@ -5530,7 +5528,7 @@ static struct ObjInlineMarkupMunge {      return t;    }    auto init() { -    auto t = object_notes_and_links_(""); +    Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_("");      return t;    }    invariant() { @@ -5551,7 +5549,7 @@ static struct ObjInlineMarkupMunge {       .replaceFirst(rgx.heading, "")       .replaceFirst(rgx.object_number_off_all, "")       .strip; -    auto t = object_notes_and_links_(obj_txt["munge"], reset_note_numbers); +    Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"], reset_note_numbers);      debug(munge) {        writeln(__LINE__);        writeln(obj_txt_in); @@ -5578,7 +5576,7 @@ static struct ObjInlineMarkupMunge {      obj_txt["munge"]=(obj_txt_in)        .replaceFirst(rgx.para_attribs, "")        .replaceFirst(rgx.object_number_off_all, ""); -    auto t = object_notes_and_links_(obj_txt["munge"]); +    Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);      debug(munge) {        writeln(__LINE__);        writeln(obj_txt_in); @@ -5614,7 +5612,7 @@ static struct ObjInlineMarkupMunge {  #+BEGIN_SRC d    auto munge_group(string obj_txt_in) @safe {      obj_txt["munge"]=obj_txt_in; -    auto t = object_notes_and_links_(obj_txt["munge"]); +    Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);      return t;    }    invariant() { @@ -5634,7 +5632,7 @@ static struct ObjInlineMarkupMunge {  #+BEGIN_SRC d    auto munge_block()(string obj_txt_in) @safe {      obj_txt["munge"]=obj_txt_in; -    auto t = object_notes_and_links_(obj_txt["munge"]); +    Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);      return t;    }    invariant() { @@ -5654,7 +5652,7 @@ static struct ObjInlineMarkupMunge {  #+BEGIN_SRC d    auto munge_verse()(string obj_txt_in) @safe {      obj_txt["munge"]=obj_txt_in; -    auto t = object_notes_and_links_(obj_txt["munge"]); +    Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);      return t;    }    invariant() { @@ -5809,7 +5807,7 @@ static struct ObjInlineMarkup {        obj_notes_and_links["image_no_dimensions"] = x[5];        break;      } -    auto t = tuple( +    Tuple!(string, string, bool, bool, bool, bool) t = tuple(        obj_txt["munge"],        anchor_tag,        obj_notes_and_links["notes_reg"], diff --git a/org/out_harvest_metadata.org b/org/out_harvest_metadata.org index 9c954a0..7a27ebf 100644 --- a/org/out_harvest_metadata.org +++ b/org/out_harvest_metadata.org @@ -48,7 +48,6 @@ import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    std.uni,    std.utf, diff --git a/org/out_latex.org b/org/out_latex.org index 4e0ff3e..b88324e 100644 --- a/org/out_latex.org +++ b/org/out_latex.org @@ -861,24 +861,24 @@ auto tablarize(O)(    string _tablenote;    foreach(row_idx, row; _table_rows) {      _table_cols = row.split(rgx.table_delimiter_col); -      _table ~= ""; -      foreach(col_idx, cell; _table_cols) { -        if ((_table_cols.length == 1) -        && (_table_rows.length <= row_idx+2)) { // check row_idx+2 (rather than == ++row_idx) -          _tablenote ~= cell; -        } else { -          // // _table ~= "\\bfseries "; -          // _table ~= cell; -          // _table ~= (_table_cols.length > (col_idx + 1)) ? "&" : ""; -          _table ~= format(q"┃%s%s┃", -            cell, -            (_table_cols.length > (col_idx + 1)) ? "&" : "" -          ); -        } +    _table ~= ""; +    foreach(col_idx, cell; _table_cols) { +      if ((_table_cols.length == 1) +      && (_table_rows.length <= row_idx+2)) { // check row_idx+2 (rather than == ++row_idx) +        _tablenote ~= cell; +      } else { +        // // _table ~= "\\bfseries "; +        // _table ~= cell; +        // _table ~= (_table_cols.length > (col_idx + 1)) ? "&" : ""; +        _table ~= format(q"┃%s%s┃", +          cell, +          (_table_cols.length > (col_idx + 1)) ? "&" : "" +        );        } -      _table ~= "\\\\";      } -  auto t = tuple( +    _table ~= "\\\\"; +  } +  Tuple!(string, string) t = tuple(      _table,      _tablenote,    ); diff --git a/org/out_odt.org b/org/out_odt.org index 59e731c..3092aa5 100644 --- a/org/out_odt.org +++ b/org/out_odt.org @@ -373,13 +373,13 @@ string _font_face(string _txt){      .replaceAll(rgx.inline_strike,      "<del>$1</del>")      .replaceAll(rgx.inline_insert,      "<ins>$1</ins>")      .replaceAll(rgx.inline_cite,        "<cite>$1</cite>") -    .replaceAll(rgx.inline_emphasis,    format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃","$1")) -    .replaceAll(rgx.inline_bold,        format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃","$1")) -    .replaceAll(rgx.inline_italics,     format(q"┃<text:span text:style-name="Span_italic">%s</text:span>┃","$1")) -    .replaceAll(rgx.inline_underscore,  format(q"┃<text:span text:style-name="Span_underscore">%s</text:span>┃","$1")) +    .replaceAll(rgx.inline_emphasis,    format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃",       "$1")) +    .replaceAll(rgx.inline_bold,        format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃",       "$1")) +    .replaceAll(rgx.inline_italics,     format(q"┃<text:span text:style-name="Span_italic">%s</text:span>┃",     "$1")) +    .replaceAll(rgx.inline_underscore,  format(q"┃<text:span text:style-name="Span_underscore">%s</text:span>┃", "$1"))      .replaceAll(rgx.inline_superscript, format(q"┃<text:span text:style-name="Span_superscript">%s</text:span>┃","$1")) -    .replaceAll(rgx.inline_subscript,   format(q"┃<text:span text:style-name="Span_subscript">%s</text:span>┃","$1")) -    .replaceAll(rgx.inline_mono,        format(q"┃<text:span text:style-name="Span_monospace">%s</text:span>┃","$1")); +    .replaceAll(rgx.inline_subscript,   format(q"┃<text:span text:style-name="Span_subscript">%s</text:span>┃",  "$1")) +    .replaceAll(rgx.inline_mono,        format(q"┃<text:span text:style-name="Span_monospace">%s</text:span>┃",  "$1"));    return _txt;  }  #+END_SRC @@ -764,7 +764,7 @@ string code(O,M)(  #+name: odt_format_objects  #+BEGIN_SRC d -auto tablarize(O)( +Tuple!(string, string) tablarize(O)(    const        O    obj,    string            _txt,  ) @safe { @@ -792,7 +792,7 @@ auto tablarize(O)(        }        _table ~= "</table:table-row>";      } -  auto t = tuple( +  Tuple!(string, string) t = tuple(      _table,      _tablenote,    ); @@ -814,7 +814,7 @@ string table(O,M)(    assert(obj.metainfo.is_of_type    == "block");    assert(obj.metainfo.is_a          == "table");    string _o_txt_odt = markup(obj); -  auto t = tablarize(obj, _o_txt_odt); +  Tuple!(string, string) t = tablarize(obj, _o_txt_odt);    string _note = t[1];    _o_txt_odt = format(q"┃  <table:table table:name="Table%s" table:style-name="Table1"> diff --git a/org/out_sqlite.org b/org/out_sqlite.org index 0f61a03..0d1bbef 100644 --- a/org/out_sqlite.org +++ b/org/out_sqlite.org @@ -673,7 +673,7 @@ string inline_notes_scroll(M,O)(  #+name: sanitize_and_munge_inline_html  #+BEGIN_SRC d -auto inline_notes_seg(M,O)( +Tuple!(string, string) inline_notes_seg(M,O)(                 M     doc_matters,    const        O     obj,    string             _txt, @@ -706,7 +706,7 @@ auto inline_notes_seg(M,O)(        writeln(__LINE__, " endnote: ", obj.metainfo.is_a, ": ", obj.text);      }    } -  auto t = tuple( +  Tuple!(string, string) t = tuple(      _txt,      _endnotes,    ); @@ -926,7 +926,7 @@ string html_table(M,O)(    assert(obj.metainfo.is_of_section == "body");    assert(obj.metainfo.is_of_type    == "block");    assert(obj.metainfo.is_a          == "table"); -  auto _tablarize(O)( +  Tuple!(string, string) _tablarize(O)(      const O         obj,            string    _txt,    ) { @@ -961,14 +961,14 @@ string html_table(M,O)(          }          _table ~= "</tr>";        } -    auto t = tuple( +    Tuple!(string, string) t = tuple(        _table,        _tablenote,      );      return t;    }    string _txt = munge_html(doc_matters, obj); -  auto t = _tablarize(obj, _txt); +  Tuple!(string, string) t = _tablarize(obj, _txt);    _txt = t[0];    string _note = t[1];    string o = format(q"┃<p class="%s"> diff --git a/org/out_xmls.org b/org/out_xmls.org index 8821cca..5cbe430 100644 --- a/org/out_xmls.org +++ b/org/out_xmls.org @@ -262,9 +262,7 @@ string inline_search_form(M)(      _db,      );    } else { -    _form = format(q"┃%s┃", -      "", -    ); +    _form = format(q"┃%s┃", "");    }    o = format(q"┃<div class="flex-menu-option">%s      </div>┃", @@ -598,7 +596,7 @@ string inline_notes_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto inline_notes_seg(O,M)( +Tuple!(string, string[]) inline_notes_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -656,7 +654,7 @@ auto inline_notes_seg(O,M)(        writeln(__LINE__, " endnote: ", obj.metainfo.is_a, ": ", obj.text);      }    } -  auto t = tuple( +  Tuple!(string, string[]) t = tuple(      _txt,      _endnotes,    ); @@ -930,7 +928,7 @@ string heading_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto heading_seg(O,M)( +Tuple!(string, string[]) heading_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -941,7 +939,7 @@ auto heading_seg(O,M)(    _txt = t[0];    string[] _endnotes = t[1];    string o = heading(_txt, obj, doc_matters, _xml_type); -  auto u = tuple( +  Tuple!(string, string[]) u = tuple(      o,      _endnotes,    ); @@ -1025,7 +1023,7 @@ string para_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto para_seg(O,M)( +Tuple!(string, string[]) para_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -1036,7 +1034,7 @@ auto para_seg(O,M)(    _txt = t[0].to!string;    string[] _endnotes = t[1];    string o = para(_txt, obj, doc_matters); -  auto u = tuple( +  Tuple!(string, string[]) u = tuple(      o,      _endnotes,    ); @@ -1107,7 +1105,7 @@ string quote_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto quote_seg(O,M)( +Tuple!(string, string[]) quote_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -1118,7 +1116,7 @@ auto quote_seg(O,M)(    _txt = t[0].to!string;    string[] _endnotes = t[1];    string o = quote(_txt, obj, doc_matters); -  auto u = tuple( +  Tuple!(string, string[]) u = tuple(      o,      _endnotes,    ); @@ -1190,7 +1188,7 @@ string group_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto group_seg(O,M)( +Tuple!(string, string[]) group_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -1201,7 +1199,7 @@ auto group_seg(O,M)(    _txt = t[0].to!string;    string[] _endnotes = t[1];    string o = group(_txt, obj, doc_matters); -  auto u = tuple( +  Tuple!(string, string[]) u = tuple(      o,      _endnotes,    ); @@ -1269,7 +1267,7 @@ string block_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto block_seg(O,M)( +Tuple!(string, string[]) block_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -1280,7 +1278,7 @@ auto block_seg(O,M)(    _txt = t[0].to!string;    string[] _endnotes = t[1];    string o = block(_txt, obj, doc_matters); -  auto u = tuple( +  Tuple!(string, string[]) u = tuple(      o,      _endnotes,    ); @@ -1348,7 +1346,7 @@ string verse_scroll(O,M)(  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto verse_seg(O,M)( +Tuple!(string, string[]) verse_seg(O,M)(    string          _txt,    const        O  obj,                 M  doc_matters, @@ -1359,7 +1357,7 @@ auto verse_seg(O,M)(    _txt = t[0].to!string;    string[] _endnotes = t[1];    string o = verse(_txt, obj, doc_matters); -  auto u = tuple( +  Tuple!(string, string[]) u = tuple(      o,      _endnotes,    ); @@ -1443,7 +1441,7 @@ align="left|right|center"  #+name: xhtml_format_objects  #+BEGIN_SRC d -auto tablarize(O)( +Tuple!(string, string) tablarize(O)(    string            _txt,    const        O    obj,  ) @safe { @@ -1453,24 +1451,24 @@ auto tablarize(O)(    string _tablenote;    foreach(row_idx, row; _table_rows) {      _table_cols = row.split(rgx.table_delimiter_col); -      _table ~= "<tr>"; -      foreach(col_idx, cell; _table_cols) { -        if ((_table_cols.length == 1) -        && (_table_rows.length <= row_idx+2)) { -          _tablenote ~= cell; -        } else { -          string _col_is = (row_idx == 0 && obj.table.heading) ? "th" : "td"; -          string _align = ("style=\"text-align:" -          ~ ((obj.table.column_aligns[col_idx] == "l") -          ? "left\"" : "right\"")); -          _table ~= "<" ~ _col_is ~ " width=\"" ~ obj.table.column_widths[col_idx].to!string ~ "%\" " ~ _align ~ ">"; -          _table ~= cell; -          _table ~= "</" ~ _col_is ~ ">"; -        } +    _table ~= "<tr>"; +    foreach(col_idx, cell; _table_cols) { +      if ((_table_cols.length == 1) +      && (_table_rows.length <= row_idx+2)) { +        _tablenote ~= cell; +      } else { +        string _col_is = (row_idx == 0 && obj.table.heading) ? "th" : "td"; +        string _align = ("style=\"text-align:" +        ~ ((obj.table.column_aligns[col_idx] == "l") +        ? "left\"" : "right\"")); +        _table ~= "<" ~ _col_is ~ " width=\"" ~ obj.table.column_widths[col_idx].to!string ~ "%\" " ~ _align ~ ">"; +        _table ~= cell; +        _table ~= "</" ~ _col_is ~ ">";        } -      _table ~= "</tr>";      } -  auto t = tuple( +    _table ~= "</tr>"; +  } +  Tuple!(string, string) t = tuple(      _table,      _tablenote,    ); diff --git a/org/output_show.org b/org/output_show.org index 5d3f4f8..7ce14f2 100644 --- a/org/output_show.org +++ b/org/output_show.org @@ -434,7 +434,6 @@ import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    std.uni,    std.utf, diff --git a/org/spine.org b/org/spine.org index ced7e3b..1ecf248 100644 --- a/org/spine.org +++ b/org/spine.org @@ -1015,7 +1015,6 @@ if ((_opt_action.debug_do)    writeln("--->\nstepX commence → (document abstraction)");  }  auto t = spineAbstraction!()(_env, program_info, _opt_action, manifest, _make_and_meta_struct); -static assert(!isTypeTuple!(t));  static assert(t.length==2);  auto doc_abstraction = t[dAM.abstraction];  auto doc_matters = t[dAM.matters]; @@ -1231,7 +1230,6 @@ if ((_opt_action.debug_do)  }  auto _header_body_insertfilelist_imagelist    = spineRawMarkupContent!()(_opt_action, _manifest.src.path_and_fn); -static assert(!isTypeTuple!(_header_body_insertfilelist_imagelist));  static assert(_header_body_insertfilelist_imagelist.length==4);  if ((_opt_action.debug_do)  || (_opt_action.very_verbose) @@ -1308,7 +1306,6 @@ auto da = docAbstraction!()(    _manifest,    true,  ); -static assert(!isTypeTuple!(da));  static assert(da.length==2);  auto doc_abstraction = da[docAbst.doc_abstract_obj]; /+ head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~ blurb; +/  auto _doc_has_struct = da[docAbst.doc_has]; diff --git a/src/doc_reform/io_in/read_source_files.d b/src/doc_reform/io_in/read_source_files.d index 933868b..bf8702b 100644 --- a/src/doc_reform/io_in/read_source_files.d +++ b/src/doc_reform/io_in/read_source_files.d @@ -44,23 +44,21 @@ static template spineRawMarkupContent() {        auto raw = MarkupRawUnit();        string[] insert_file_list;        string[] images_list; -      auto t +      Tuple!(char[], char[][], string[], string[]) t          = raw.markupSourceHeaderContentRawLineTupleArray(source_txt_str);        auto header_raw = t[0];        auto sourcefile_body_content = t[1];        if (fn_src.match(rgx.src_fn_master)) { // filename with path needed if master file (.ssm) not otherwise          auto ins = Inserts(); -        auto tu +        Tuple!(char[][], string[], string[]) tu            = ins.scan_master_src_for_insert_files_and_import_content(_opt_action, sourcefile_body_content, fn_src); -        static assert(!isTypeTuple!(tu));          sourcefile_body_content = tu[0];          insert_file_list = tu[1].dup;          images_list = tu[2].dup;        } else if (_opt_action.source || _opt_action.pod) {          auto ins = Inserts(); -        auto tu +        Tuple!(char[][], string[], string[]) tu            = ins.scan_master_src_for_insert_files_and_import_content(_opt_action, sourcefile_body_content, fn_src); -        static assert(!isTypeTuple!(tu));          images_list = tu[2].dup;        }        string header_type = ""; @@ -127,14 +125,14 @@ static template spineRawMarkupContent() {        auto source_txt_str = readInMarkupSource(fn_src);        return source_txt_str;      } -    auto markupSourceHeaderContentRawLineTupleArray(in string source_txt_str) @safe { +    Tuple!(char[], char[][], string[], string[]) markupSourceHeaderContentRawLineTupleArray(in string source_txt_str) @safe {        string[] file_insert_list = [];        string[] images_list = [];        char[][] hc = header0Content1(source_txt_str);        char[] header = hc[0];        char[] source_txt = hc[1]; -      auto source_line_arr = markupSourceLineArray(source_txt); -      auto t = tuple( +      char[][] source_line_arr = markupSourceLineArray(source_txt); +      Tuple!(char[], char[][], string[], string[]) t = tuple(          header,          source_line_arr,          file_insert_list, @@ -151,8 +149,8 @@ static template spineRawMarkupContent() {          "not a dr markup filename: «" ~          fn_src_insert  ~ "»"        ); -      auto source_txt_str = readInMarkupSource(fn_src_insert); -      auto source_line_arr = markupSourceLineArray(source_txt_str); +      string source_txt_str = readInMarkupSource(fn_src_insert); +      char[][] source_line_arr = markupSourceLineArray(source_txt_str);        return source_line_arr;      }    } @@ -236,13 +234,13 @@ static template spineRawMarkupContent() {            }          }        } // end src subdoc (inserts) loop -      auto t = tuple( +      Tuple!(char[][], string[]) t = tuple(          contents_insert,          _images        );        return t;      } -    auto scan_master_src_for_insert_files_and_import_content(O)( +    Tuple!(char[][], string[], string[]) scan_master_src_for_insert_files_and_import_content(O)(        O        _opt_action,        char[][] sourcefile_body_content,        string   fn_src @@ -332,7 +330,7 @@ static template spineRawMarkupContent() {          writeln(__LINE__);          writeln(contents.length);        } -      auto t = tuple( +      Tuple!(char[][], string[], string[]) t = tuple(          contents,          insert_file_list,          images diff --git a/src/doc_reform/io_out/latex.d b/src/doc_reform/io_out/latex.d index a97a697..ceab202 100644 --- a/src/doc_reform/io_out/latex.d +++ b/src/doc_reform/io_out/latex.d @@ -569,24 +569,24 @@ auto tablarize(O)(    string _tablenote;    foreach(row_idx, row; _table_rows) {      _table_cols = row.split(rgx.table_delimiter_col); -      _table ~= ""; -      foreach(col_idx, cell; _table_cols) { -        if ((_table_cols.length == 1) -        && (_table_rows.length <= row_idx+2)) { // check row_idx+2 (rather than == ++row_idx) -          _tablenote ~= cell; -        } else { -          // // _table ~= "\\bfseries "; -          // _table ~= cell; -          // _table ~= (_table_cols.length > (col_idx + 1)) ? "&" : ""; -          _table ~= format(q"┃%s%s┃", -            cell, -            (_table_cols.length > (col_idx + 1)) ? "&" : "" -          ); -        } +    _table ~= ""; +    foreach(col_idx, cell; _table_cols) { +      if ((_table_cols.length == 1) +      && (_table_rows.length <= row_idx+2)) { // check row_idx+2 (rather than == ++row_idx) +        _tablenote ~= cell; +      } else { +        // // _table ~= "\\bfseries "; +        // _table ~= cell; +        // _table ~= (_table_cols.length > (col_idx + 1)) ? "&" : ""; +        _table ~= format(q"┃%s%s┃", +          cell, +          (_table_cols.length > (col_idx + 1)) ? "&" : "" +        );        } -      _table ~= "\\\\";      } -  auto t = tuple( +    _table ~= "\\\\"; +  } +  Tuple!(string, string) t = tuple(      _table,      _tablenote,    ); diff --git a/src/doc_reform/io_out/odt.d b/src/doc_reform/io_out/odt.d index 6e792a5..1a553d1 100644 --- a/src/doc_reform/io_out/odt.d +++ b/src/doc_reform/io_out/odt.d @@ -243,13 +243,13 @@ template formatODT() {          .replaceAll(rgx.inline_strike,      "<del>$1</del>")          .replaceAll(rgx.inline_insert,      "<ins>$1</ins>")          .replaceAll(rgx.inline_cite,        "<cite>$1</cite>") -        .replaceAll(rgx.inline_emphasis,    format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃","$1")) -        .replaceAll(rgx.inline_bold,        format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃","$1")) -        .replaceAll(rgx.inline_italics,     format(q"┃<text:span text:style-name="Span_italic">%s</text:span>┃","$1")) -        .replaceAll(rgx.inline_underscore,  format(q"┃<text:span text:style-name="Span_underscore">%s</text:span>┃","$1")) +        .replaceAll(rgx.inline_emphasis,    format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃",       "$1")) +        .replaceAll(rgx.inline_bold,        format(q"┃<text:span text:style-name="Span_bold">%s</text:span>┃",       "$1")) +        .replaceAll(rgx.inline_italics,     format(q"┃<text:span text:style-name="Span_italic">%s</text:span>┃",     "$1")) +        .replaceAll(rgx.inline_underscore,  format(q"┃<text:span text:style-name="Span_underscore">%s</text:span>┃", "$1"))          .replaceAll(rgx.inline_superscript, format(q"┃<text:span text:style-name="Span_superscript">%s</text:span>┃","$1")) -        .replaceAll(rgx.inline_subscript,   format(q"┃<text:span text:style-name="Span_subscript">%s</text:span>┃","$1")) -        .replaceAll(rgx.inline_mono,        format(q"┃<text:span text:style-name="Span_monospace">%s</text:span>┃","$1")); +        .replaceAll(rgx.inline_subscript,   format(q"┃<text:span text:style-name="Span_subscript">%s</text:span>┃",  "$1")) +        .replaceAll(rgx.inline_mono,        format(q"┃<text:span text:style-name="Span_monospace">%s</text:span>┃",  "$1"));        return _txt;      }      auto _obj_num(O)(O obj) @safe { // NOT USED YET @@ -519,7 +519,7 @@ template formatODT() {        _o_txt_odt = _block;        return _o_txt_odt;      } -    auto tablarize(O)( +    Tuple!(string, string) tablarize(O)(        const        O    obj,        string            _txt,      ) @safe { @@ -547,7 +547,7 @@ template formatODT() {            }            _table ~= "</table:table-row>";          } -      auto t = tuple( +      Tuple!(string, string) t = tuple(          _table,          _tablenote,        ); @@ -563,7 +563,7 @@ template formatODT() {        assert(obj.metainfo.is_of_type    == "block");        assert(obj.metainfo.is_a          == "table");        string _o_txt_odt = markup(obj); -      auto t = tablarize(obj, _o_txt_odt); +      Tuple!(string, string) t = tablarize(obj, _o_txt_odt);        string _note = t[1];        _o_txt_odt = format(q"┃      <table:table table:name="Table%s" table:style-name="Table1"> diff --git a/src/doc_reform/io_out/package.d b/src/doc_reform/io_out/package.d index 1f11046..6bc66ea 100644 --- a/src/doc_reform/io_out/package.d +++ b/src/doc_reform/io_out/package.d @@ -10,7 +10,6 @@ public import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    // std.uni,    std.utf; diff --git a/src/doc_reform/io_out/sqlite.d b/src/doc_reform/io_out/sqlite.d index 0995fe1..c779e00 100644 --- a/src/doc_reform/io_out/sqlite.d +++ b/src/doc_reform/io_out/sqlite.d @@ -406,7 +406,7 @@ template SQLiteFormatAndLoadObject() {          }          return _txt;        } -      auto inline_notes_seg(M,O)( +      Tuple!(string, string) inline_notes_seg(M,O)(                       M     doc_matters,          const        O     obj,          string             _txt, @@ -439,7 +439,7 @@ template SQLiteFormatAndLoadObject() {              writeln(__LINE__, " endnote: ", obj.metainfo.is_a, ": ", obj.text);            }          } -        auto t = tuple( +        Tuple!(string, string) t = tuple(            _txt,            _endnotes,          ); @@ -582,7 +582,7 @@ template SQLiteFormatAndLoadObject() {          assert(obj.metainfo.is_of_section == "body");          assert(obj.metainfo.is_of_type    == "block");          assert(obj.metainfo.is_a          == "table"); -        auto _tablarize(O)( +        Tuple!(string, string) _tablarize(O)(            const O         obj,                  string    _txt,          ) { @@ -617,14 +617,14 @@ template SQLiteFormatAndLoadObject() {                }                _table ~= "</tr>";              } -          auto t = tuple( +          Tuple!(string, string) t = tuple(              _table,              _tablenote,            );            return t;          }          string _txt = munge_html(doc_matters, obj); -        auto t = _tablarize(obj, _txt); +        Tuple!(string, string) t = _tablarize(obj, _txt);          _txt = t[0];          string _note = t[1];          string o = format(q"┃<p class="%s"> diff --git a/src/doc_reform/io_out/xmls.d b/src/doc_reform/io_out/xmls.d index 4cb7507..739c379 100644 --- a/src/doc_reform/io_out/xmls.d +++ b/src/doc_reform/io_out/xmls.d @@ -176,9 +176,7 @@ template outputXHTMLs() {          _db,          );        } else { -        _form = format(q"┃%s┃", -          "", -        ); +        _form = format(q"┃%s┃", "");        }        o = format(q"┃<div class="flex-menu-option">%s          </div>┃", @@ -467,7 +465,7 @@ template outputXHTMLs() {        }        return _txt;      } -    auto inline_notes_seg(O,M)( +    Tuple!(string, string[]) inline_notes_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -525,7 +523,7 @@ template outputXHTMLs() {            writeln(__LINE__, " endnote: ", obj.metainfo.is_a, ": ", obj.text);          }        } -      auto t = tuple( +      Tuple!(string, string[]) t = tuple(          _txt,          _endnotes,        ); @@ -754,7 +752,7 @@ template outputXHTMLs() {        string o = heading(_txt, obj, doc_matters);        return o;      } -    auto heading_seg(O,M)( +    Tuple!(string, string[]) heading_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -765,7 +763,7 @@ template outputXHTMLs() {        _txt = t[0];        string[] _endnotes = t[1];        string o = heading(_txt, obj, doc_matters, _xml_type); -      auto u = tuple( +      Tuple!(string, string[]) u = tuple(          o,          _endnotes,        ); @@ -830,7 +828,7 @@ template outputXHTMLs() {        string o = para(_txt, obj, doc_matters);        return o;      } -    auto para_seg(O,M)( +    Tuple!(string, string[]) para_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -841,7 +839,7 @@ template outputXHTMLs() {        _txt = t[0].to!string;        string[] _endnotes = t[1];        string o = para(_txt, obj, doc_matters); -      auto u = tuple( +      Tuple!(string, string[]) u = tuple(          o,          _endnotes,        ); @@ -893,7 +891,7 @@ template outputXHTMLs() {        string o = quote(_txt, obj, doc_matters);        return o;      } -    auto quote_seg(O,M)( +    Tuple!(string, string[]) quote_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -904,7 +902,7 @@ template outputXHTMLs() {        _txt = t[0].to!string;        string[] _endnotes = t[1];        string o = quote(_txt, obj, doc_matters); -      auto u = tuple( +      Tuple!(string, string[]) u = tuple(          o,          _endnotes,        ); @@ -957,7 +955,7 @@ template outputXHTMLs() {        string o = group(_txt, obj, doc_matters);        return o;      } -    auto group_seg(O,M)( +    Tuple!(string, string[]) group_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -968,7 +966,7 @@ template outputXHTMLs() {        _txt = t[0].to!string;        string[] _endnotes = t[1];        string o = group(_txt, obj, doc_matters); -      auto u = tuple( +      Tuple!(string, string[]) u = tuple(          o,          _endnotes,        ); @@ -1017,7 +1015,7 @@ template outputXHTMLs() {        string o = block(_txt, obj, doc_matters);        return o;      } -    auto block_seg(O,M)( +    Tuple!(string, string[]) block_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -1028,7 +1026,7 @@ template outputXHTMLs() {        _txt = t[0].to!string;        string[] _endnotes = t[1];        string o = block(_txt, obj, doc_matters); -      auto u = tuple( +      Tuple!(string, string[]) u = tuple(          o,          _endnotes,        ); @@ -1077,7 +1075,7 @@ template outputXHTMLs() {        string o = verse(_txt, obj, doc_matters);        return o;      } -    auto verse_seg(O,M)( +    Tuple!(string, string[]) verse_seg(O,M)(        string          _txt,        const        O  obj,                     M  doc_matters, @@ -1088,13 +1086,13 @@ template outputXHTMLs() {        _txt = t[0].to!string;        string[] _endnotes = t[1];        string o = verse(_txt, obj, doc_matters); -      auto u = tuple( +      Tuple!(string, string[]) u = tuple(          o,          _endnotes,        );        return u;      } -    auto tablarize(O)( +    Tuple!(string, string) tablarize(O)(        string            _txt,        const        O    obj,      ) @safe { @@ -1104,24 +1102,24 @@ template outputXHTMLs() {        string _tablenote;        foreach(row_idx, row; _table_rows) {          _table_cols = row.split(rgx.table_delimiter_col); -          _table ~= "<tr>"; -          foreach(col_idx, cell; _table_cols) { -            if ((_table_cols.length == 1) -            && (_table_rows.length <= row_idx+2)) { -              _tablenote ~= cell; -            } else { -              string _col_is = (row_idx == 0 && obj.table.heading) ? "th" : "td"; -              string _align = ("style=\"text-align:" -              ~ ((obj.table.column_aligns[col_idx] == "l") -              ? "left\"" : "right\"")); -              _table ~= "<" ~ _col_is ~ " width=\"" ~ obj.table.column_widths[col_idx].to!string ~ "%\" " ~ _align ~ ">"; -              _table ~= cell; -              _table ~= "</" ~ _col_is ~ ">"; -            } +        _table ~= "<tr>"; +        foreach(col_idx, cell; _table_cols) { +          if ((_table_cols.length == 1) +          && (_table_rows.length <= row_idx+2)) { +            _tablenote ~= cell; +          } else { +            string _col_is = (row_idx == 0 && obj.table.heading) ? "th" : "td"; +            string _align = ("style=\"text-align:" +            ~ ((obj.table.column_aligns[col_idx] == "l") +            ? "left\"" : "right\"")); +            _table ~= "<" ~ _col_is ~ " width=\"" ~ obj.table.column_widths[col_idx].to!string ~ "%\" " ~ _align ~ ">"; +            _table ~= cell; +            _table ~= "</" ~ _col_is ~ ">";            } -          _table ~= "</tr>";          } -      auto t = tuple( +        _table ~= "</tr>"; +      } +      Tuple!(string, string) t = tuple(          _table,          _tablenote,        ); diff --git a/src/doc_reform/meta/conf_make_meta_json.d b/src/doc_reform/meta/conf_make_meta_json.d index 95f9c2a..4f33108 100644 --- a/src/doc_reform/meta/conf_make_meta_json.d +++ b/src/doc_reform/meta/conf_make_meta_json.d @@ -11,7 +11,6 @@ static template contentJSONtoSpineStruct() {      std.regex,      std.stdio,      std.string, -    std.traits,      std.typecons,      std.utf,      std.conv : to; diff --git a/src/doc_reform/meta/conf_make_meta_structs.d b/src/doc_reform/meta/conf_make_meta_structs.d index 7f220aa..c1d6f2c 100644 --- a/src/doc_reform/meta/conf_make_meta_structs.d +++ b/src/doc_reform/meta/conf_make_meta_structs.d @@ -6,7 +6,6 @@ import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    std.utf,    std.conv : to; diff --git a/src/doc_reform/meta/conf_make_meta_yaml.d b/src/doc_reform/meta/conf_make_meta_yaml.d index 1467fea..69ec567 100644 --- a/src/doc_reform/meta/conf_make_meta_yaml.d +++ b/src/doc_reform/meta/conf_make_meta_yaml.d @@ -12,7 +12,6 @@ static template contentYAMLtoSpineStruct() {      std.regex,      std.stdio,      std.string, -    std.traits,      std.typecons,      std.utf,      std.conv : to; diff --git a/src/doc_reform/meta/doc_debugs.d b/src/doc_reform/meta/doc_debugs.d index 4a9a591..2815e4f 100644 --- a/src/doc_reform/meta/doc_debugs.d +++ b/src/doc_reform/meta/doc_debugs.d @@ -18,7 +18,6 @@ template spineDebugs() {      std.range,      std.regex,      std.string, -    std.traits,      std.typecons,      std.utf,      std.conv : to; diff --git a/src/doc_reform/meta/metadoc.d b/src/doc_reform/meta/metadoc.d index e45139d..0db5d96 100644 --- a/src/doc_reform/meta/metadoc.d +++ b/src/doc_reform/meta/metadoc.d @@ -52,7 +52,6 @@ template spineAbstraction() {      }      auto _header_body_insertfilelist_imagelist        = spineRawMarkupContent!()(_opt_action, _manifest.src.path_and_fn); -    static assert(!isTypeTuple!(_header_body_insertfilelist_imagelist));      static assert(_header_body_insertfilelist_imagelist.length==4);      if ((_opt_action.debug_do)      || (_opt_action.very_verbose) @@ -95,7 +94,6 @@ template spineAbstraction() {        _manifest,        true,      ); -    static assert(!isTypeTuple!(da));      static assert(da.length==2);      auto doc_abstraction = da[docAbst.doc_abstract_obj]; /+ head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~ blurb; +/      auto _doc_has_struct = da[docAbst.doc_has]; diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d index 5e61237..99de32c 100644 --- a/src/doc_reform/meta/metadoc_from_src.d +++ b/src/doc_reform/meta/metadoc_from_src.d @@ -1186,7 +1186,6 @@ template docAbstraction() {                                                                                  /+ ↓ post loop markup document/text +/      auto en_tuple        = note_section.endnote_objects(obj_cite_digits, opt_action); -    static assert(!isTypeTuple!(en_tuple));      auto the_endnotes_section = en_tuple[0];      obj_cite_digits = en_tuple[1];      debug(endnotes) { @@ -1338,7 +1337,6 @@ template docAbstraction() {          opt_action,        );      destroy(bookindex_unordered_hashes); -    static assert(!isTypeTuple!(bi_tuple));      auto the_bookindex_section = bi_tuple[0];      obj_cite_digits = bi_tuple[1];      debug(bookindex) { @@ -4327,7 +4325,7 @@ template docAbstraction() {        }        return obj_txt_in;      } -    auto footnotes_endnotes_markup_and_number_or_stars()(string obj_txt_in, bool reset_note_numbers) @safe { +    Tuple!(string, bool, bool, bool) footnotes_endnotes_markup_and_number_or_stars()(string obj_txt_in, bool reset_note_numbers) @safe {        /+ endnotes (regular) +/        bool flg_notes_reg  = false;        bool flg_notes_star = false; @@ -4383,7 +4381,7 @@ template docAbstraction() {        } else {          obj_txt_out = obj_txt_in;        } -      auto t = tuple( +      Tuple!(string, bool, bool, bool) t = tuple(          obj_txt_out,          flg_notes_reg,          flg_notes_star, @@ -4391,7 +4389,7 @@ template docAbstraction() {        );        return t;      } -    private auto object_notes_and_links_()( +    private Tuple!(string, bool, bool, bool, bool, bool) object_notes_and_links_()(        string obj_txt_in,        bool reset_note_numbers=false      ) @safe { @@ -4425,7 +4423,7 @@ template docAbstraction() {          obj_txt_in = obj_txt_in            .replaceAll(rgx.para_inline_link_anchor, "┃$1┃");        } -      auto ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers); +      Tuple!(string, bool, bool, bool) ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers);        obj_txt_out = ftn[0];        debug(footnotes) {          writeln(obj_txt_out, tail); @@ -4438,7 +4436,7 @@ template docAbstraction() {            writeln(m.hit);          }        } -      auto t = tuple( +      Tuple!(string, bool, bool, bool, bool, bool) t = tuple(          obj_txt_out,          ftn[1],          ftn[2], @@ -4449,7 +4447,7 @@ template docAbstraction() {        return t;      }      auto init() { -      auto t = object_notes_and_links_(""); +      Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_("");        return t;      }      invariant() { @@ -4462,7 +4460,7 @@ template docAbstraction() {         .replaceFirst(rgx.heading, "")         .replaceFirst(rgx.object_number_off_all, "")         .strip; -      auto t = object_notes_and_links_(obj_txt["munge"], reset_note_numbers); +      Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"], reset_note_numbers);        debug(munge) {          writeln(__LINE__);          writeln(obj_txt_in); @@ -4477,7 +4475,7 @@ template docAbstraction() {        obj_txt["munge"]=(obj_txt_in)          .replaceFirst(rgx.para_attribs, "")          .replaceFirst(rgx.object_number_off_all, ""); -      auto t = object_notes_and_links_(obj_txt["munge"]); +      Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);        debug(munge) {          writeln(__LINE__);          writeln(obj_txt_in); @@ -4494,21 +4492,21 @@ template docAbstraction() {      }      auto munge_group(string obj_txt_in) @safe {        obj_txt["munge"]=obj_txt_in; -      auto t = object_notes_and_links_(obj_txt["munge"]); +      Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);        return t;      }      invariant() {      }      auto munge_block()(string obj_txt_in) @safe {        obj_txt["munge"]=obj_txt_in; -      auto t = object_notes_and_links_(obj_txt["munge"]); +      Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);        return t;      }      invariant() {      }      auto munge_verse()(string obj_txt_in) @safe {        obj_txt["munge"]=obj_txt_in; -      auto t = object_notes_and_links_(obj_txt["munge"]); +      Tuple!(string, bool, bool, bool, bool, bool) t = object_notes_and_links_(obj_txt["munge"]);        return t;      }      invariant() { @@ -4618,7 +4616,7 @@ template docAbstraction() {          obj_notes_and_links["image_no_dimensions"] = x[5];          break;        } -      auto t = tuple( +      Tuple!(string, string, bool, bool, bool, bool) t = tuple(          obj_txt["munge"],          anchor_tag,          obj_notes_and_links["notes_reg"], diff --git a/src/doc_reform/meta/metadoc_harvest.d b/src/doc_reform/meta/metadoc_harvest.d index 362ba34..4bb62ae 100644 --- a/src/doc_reform/meta/metadoc_harvest.d +++ b/src/doc_reform/meta/metadoc_harvest.d @@ -13,7 +13,6 @@ template spineMetaDocHarvest() {        std.regex,        std.stdio,        std.string, -      std.traits,        std.typecons,        std.uni,        std.utf, diff --git a/src/doc_reform/meta/metadoc_show_config.d b/src/doc_reform/meta/metadoc_show_config.d index 6e18516..b71fbab 100644 --- a/src/doc_reform/meta/metadoc_show_config.d +++ b/src/doc_reform/meta/metadoc_show_config.d @@ -12,7 +12,6 @@ template spineShowConfig() {        std.regex,        std.stdio,        std.string, -      std.traits,        std.typecons,        std.uni,        std.utf, diff --git a/src/doc_reform/meta/metadoc_show_make.d b/src/doc_reform/meta/metadoc_show_make.d index ed334d0..e656a29 100644 --- a/src/doc_reform/meta/metadoc_show_make.d +++ b/src/doc_reform/meta/metadoc_show_make.d @@ -12,7 +12,6 @@ template spineShowMake() {        std.regex,        std.stdio,        std.string, -      std.traits,        std.typecons,        std.uni,        std.utf, diff --git a/src/doc_reform/meta/metadoc_show_metadata.d b/src/doc_reform/meta/metadoc_show_metadata.d index e860452..0bd6854 100644 --- a/src/doc_reform/meta/metadoc_show_metadata.d +++ b/src/doc_reform/meta/metadoc_show_metadata.d @@ -12,7 +12,6 @@ template spineShowMetaData() {        std.regex,        std.stdio,        std.string, -      std.traits,        std.typecons,        std.uni,        std.utf, diff --git a/src/doc_reform/meta/metadoc_show_summary.d b/src/doc_reform/meta/metadoc_show_summary.d index 71d8d87..9f2e34b 100644 --- a/src/doc_reform/meta/metadoc_show_summary.d +++ b/src/doc_reform/meta/metadoc_show_summary.d @@ -13,7 +13,6 @@ template spineMetaDocSummary() {        std.regex,        std.stdio,        std.string, -      std.traits,        std.typecons,        std.uni,        std.utf, diff --git a/src/doc_reform/meta/package.d b/src/doc_reform/meta/package.d index 2981b6a..89334c0 100644 --- a/src/doc_reform/meta/package.d +++ b/src/doc_reform/meta/package.d @@ -10,7 +10,6 @@ public import    std.regex,    std.stdio,    std.string, -  std.traits,    std.typecons,    // std.uni,    std.utf, diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d index 2ee081c..134854e 100755 --- a/src/doc_reform/spine.d +++ b/src/doc_reform/spine.d @@ -759,7 +759,6 @@ void main(string[] args) {              writeln("--->\nstepX commence → (document abstraction)");            }            auto t = spineAbstraction!()(_env, program_info, _opt_action, manifest, _make_and_meta_struct); -          static assert(!isTypeTuple!(t));            static assert(t.length==2);            auto doc_abstraction = t[dAM.abstraction];            auto doc_matters = t[dAM.matters]; @@ -875,7 +874,6 @@ void main(string[] args) {              writeln("--->\nstepX commence → (document abstraction)");            }            auto t = spineAbstraction!()(_env, program_info, _opt_action, manifest, _make_and_meta_struct); -          static assert(!isTypeTuple!(t));            static assert(t.length==2);            auto doc_abstraction = t[dAM.abstraction];            auto doc_matters = t[dAM.matters]; | 
