From 22cea68385b57a1593f5751e49cfdd41d8067997 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 13 Jul 2017 07:44:03 -0400 Subject: 0.18.0 rename meta from ao (considered adr) --- org/ao_debugs.org | 873 ------------------------------------------------------ 1 file changed, 873 deletions(-) delete mode 100644 org/ao_debugs.org (limited to 'org/ao_debugs.org') diff --git a/org/ao_debugs.org b/org/ao_debugs.org deleted file mode 100644 index 1111d55..0000000 --- a/org/ao_debugs.org +++ /dev/null @@ -1,873 +0,0 @@ -#+TITLE: sdp abstraction summary and debugs -#+AUTHOR: Ralph Amissah -#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] -#+DESCRIPTION for documents - structuring, publishing in multiple formats and search -#+KEYWORDS -#+LANGUAGE: en -#+STARTUP: indent content -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t -#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc -#+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+PROPERTY: header-args :padline no :exports code :noweb yes -#+EXPORT_SELECT_TAGS: export -#+EXPORT_EXCLUDE_TAGS: noexport -#+FILETAGS: :sdp:rel:ao: -#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n) - -[[./sdp.org][sdp]] [[./][org/]] -* 1. abstraction debugs :module:sdp:ao_doc_debugs: -** 0. module template - -#+BEGIN_SRC d :tangle ../src/sdp/ao/doc_debugs.d -/++ - output debugs -+/ -module sdp.ao.doc_debugs; -template SiSUdebugs() { - <> - auto SiSUdebugs(S,T)( - auto return ref const S contents, - auto return ref T doc_matters, - ) { - mixin SiSUrgxInit; - mixin InternalMarkup; - <> - <> - debug(checkdoc) { - if ((doc_matters.opt_action["debug"])) { - <> - <> - } - } - } -} -#+END_SRC - -** imports - -#+name: debug_imports -#+BEGIN_SRC d -import - sdp.ao.defaults, - sdp.ao.rgx; -import - std.algorithm, - std.array, - std.container, - std.exception, - std.json, - std.stdio, - std.file, - std.path, - std.range, - std.regex, - std.string, - std.traits, - std.typecons, - std.utf, - std.conv : to; -#+END_SRC - -** initialize :report: - -#+name: initialize -#+BEGIN_SRC d -auto rgx = Rgx(); -auto markup = InlineMarkup(); -string key; -#+END_SRC - -** (parent) :parent: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(parent) { - writefln( - "%s:%s", - __FILE__, - __LINE__, - ); - foreach (key; doc_matters.keys_seq.seg) { - foreach (obj; contents[key]) { - if (obj.use != "empty") { - if (obj.is_a == "heading") { - writefln( - "%s node: %s heading: %s %s", - obj.obj_cite_number, - obj.node, - obj.heading_lev_markup, - obj.text, - ); - } - } - } - } -} -#+END_SRC - -** (dumpdoc) :objects: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(dumpdoc) { - writefln( - "%s\n%s:%s", - "-------------------------------", - __FILE__, - __LINE__, - ); - foreach (obj; contents[key]) { - if (obj.use != "empty") { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -** (segnames) :objects: - -#+name: ao_output_debugs_checkdoc -#+BEGIN_SRC d -debug(checkdoc) { - void out_segnames(S,T)( - auto return ref const S contents, - auto return ref T doc_matters, - ) { - foreach (key; doc_matters.keys_seq.seg) { - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - if (obj.heading_lev_markup == 4) { - writeln(obj.ptr_html_segnames, ". (", doc_matters.segnames[obj.ptr_html_segnames], ") -> ", obj.text); - } - } - } - } - } -} -#+END_SRC - -** shared output section arrange -*** out toc - -#+name: ao_output_debugs_checkdoc -#+BEGIN_SRC d -debug(checkdoc) { - void out_toc(S)( - auto return ref const S contents, - string key, - ) { - if (contents[key].length > 1) { - string indent_spaces; - foreach (obj; contents[key]) { - indent_spaces=markup.indent_by_spaces_provided(obj.indent_hang); - writefln( - "%s%s", - indent_spaces, - obj.text - ); - } - } - } -} -#+END_SRC - -*** out endnotes :endnotes: - -#+name: ao_output_debugs_checkdoc -#+BEGIN_SRC d -debug(checkdoc) { - void out_endnotes(S)( - auto return ref const S contents, - string key, - ) { - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s]\n%s", - obj.is_a, - obj.text - ); - } - } - } -} -#+END_SRC - -*** out bookindex :bookindex: - -#+name: ao_output_debugs_checkdoc -#+BEGIN_SRC d -debug(checkdoc) { - void out_bookindex(S)( - auto return ref const S contents, - string key, - ) { - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } - } -} -#+END_SRC - -** sections -*** heading_section :heading: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_head) { - key="head"; - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -*** toc_section (seg & scroll) -**** toc - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_toc) { - key="toc_seg"; - out_toc(contents, key); -} -#+END_SRC - -**** toc seg - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_toc_seg) { - key="toc_seg"; - out_toc(contents, key); -} -#+END_SRC - -**** toc scroll - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_toc_scroll) { - key="toc_scroll"; - out_toc(contents, key); -} -#+END_SRC - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(segnames) { - writeln(__LINE__); - out_segnames(contents, doc_matters); -} -#+END_SRC - -*** body_section :body: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_body) { - key="body"; - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -*** dom structure :body: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(toc_nav_dom) { - enum DomTags { none, open, close, close_and_open, open_still, } - foreach (sect; doc_matters.keys_seq.seg) { - foreach (obj; contents[sect]) { - if (obj.is_a == "heading") { - foreach_reverse (k; 0 .. 7) { - switch (obj.dom_markedup[k]) { - case DomTags.close : - writeln(markup.indent_by_spaces_provided(k), ""); - break; - case DomTags.close_and_open : - writeln(markup.indent_by_spaces_provided(k), ""); - writeln(markup.indent_by_spaces_provided(k), - "<", k, ">", obj.text, - " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn); - break; - case DomTags.open : - writeln(markup.indent_by_spaces_provided(k), - "<", k, ">", obj.text, - " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn); - break; - default : - break; - } - } - } - } - } - writeln("--------------------"); - foreach (sect; doc_matters.keys_seq.seg) { - foreach (obj; contents[sect]) { - if (obj.is_a == "heading") { - foreach_reverse (k; 0 .. 7) { - switch (obj.dom_collapsed[k]) { - case DomTags.close : - writeln(markup.indent_by_spaces_provided(k), ""); - break; - case DomTags.close_and_open : - writeln(markup.indent_by_spaces_provided(k), ""); - writeln(markup.indent_by_spaces_provided(k), - "<", k, ">", obj.text, - " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn); - break; - case DomTags.open : - writeln(markup.indent_by_spaces_provided(k), - "<", k, ">", obj.text, - " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn); - break; - default : - break; - } - } - } - } - } -} -#+END_SRC - -*** endnotes_section (seg & scroll) :endnotes: -**** endnotes - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_endnotes) { - key="endnotes"; - out_endnotes(contents, key); -} -#+END_SRC - -**** endnotes seg - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_endnotes_seg) { - key="endnotes"; - out_endnotes(contents, key); -} -#+END_SRC - -*** glossary_section :glossary: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_glossary) { - key="glossary"; - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -*** bibliography_section (seg & scroll) :bibliography: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_bibliography) { - key="bibliography"; - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -*** bookindex_section (seg & scroll) :bookindex: -**** bookindex - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_bookindex) { - key="bookindex_seg"; - out_bookindex(contents, key); -} -#+END_SRC - -**** bookindex seg - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_bookindex_seg) { - key="bookindex_seg"; - out_bookindex(contents, key); -} -#+END_SRC - -**** bookindex scroll - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(section_bookindex_scroll) { - key="bookindex_scroll"; - out_bookindex(contents, key); -} -#+END_SRC - -*** section_blurb :blurb: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(blurb_section) { - key="blurb"; - if (contents[key].length > 1) { - foreach (obj; contents[key]) { - writefln( - "[%s][%s]\n%s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -** (objects) :objects: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(objects) { - writefln( - "%s\n%s:%s", - "-------------------------------", - __FILE__, - __LINE__, - ); - foreach (obj; contents[key]) { - if (obj.use != "empty") { - writefln( - "* [%s][%s] %s", - obj.obj_cite_number, - obj.is_a, - obj.text - ); - } - } -} -#+END_SRC - -** (headermakejson) :json:header: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(headermakejson) { - writefln( - "%s\n%s\n%s", - "document header, metadata & make instructions:", - doc_matters.dochead_meta, - ptr_head_main, - ); - foreach (main_header; ptr_head_main) { - switch (main_header) { - case "make": - foreach (sub_header; ptr_head_sub_make) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - default: - break; - } - } -} -#+END_SRC - -** (headermetadatajson) :json:header: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(headermetadatajson) { - writefln( - "%s\n%s\n%s", - "document header, metadata & make instructions:", - doc_matters.dochead_meta, - ptr_head_main, - ); - foreach (main_header; ptr_head_main) { - switch (main_header) { - case "creator": - foreach (sub_header; ptr_head_sub_creator) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "title": - foreach (sub_header; ptr_head_sub_title) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "rights": - foreach (sub_header; ptr_head_sub_rights) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "date": - foreach (sub_header; ptr_head_sub_date) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "original": - foreach (sub_header; ptr_head_sub_original) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "classify": - foreach (sub_header; ptr_head_sub_classify) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "identifier": - foreach (sub_header; ptr_head_sub_identifier) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "notes": - foreach (sub_header; ptr_head_sub_notes) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - case "publisher": - foreach (sub_header; ptr_head_sub_publisher) { - if (doc_matters.dochead_meta[main_header][sub_header].to!string.length > 2) { - writefln( - "%s:%s: %s", - main_header, - sub_header, - doc_matters.dochead_meta[main_header][sub_header] - ); - } - } - break; - default: - break; - } - } -} -#+END_SRC - -** anchor tags - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(anchor) { - writefln( - "%s\n%s:%s", - "-------------------------------", - __FILE__, - __LINE__, - ); - foreach (k; doc_matters.keys_seq.seg) { - foreach (obj; contents[k]) { - if (obj.is_a == "heading") { - writefln( - "%s~ [%s] %s %s", - obj.marked_up_level, - obj.obj_cite_number, - obj.anchor_tags, - // "[", obj["is"], "] ", - obj.text - ); - } - } - } -} -#+END_SRC - -** (headings) :headings: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(heading) { // heading - foreach (k; doc_matters.keys_seq.seg) { - foreach (o; contents[k]) { - if (o.is_a == "heading") { - writefln( - "%s* %s\n (markup level: %s; collapsed level: %s)", - replicate(" ", o.heading_lev_markup), - strip(o.text), - o.heading_lev_markup, - o.heading_lev_collapsed, - ); - } - } - } -} -#+END_SRC - -** (summary) [+1] :summary: - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(headings) { - writefln( - "%s\n%s:%s", - "-------------------------------", - __FILE__, - __LINE__, - ); - foreach (k; doc_matters.keys_seq.seg) { - foreach (obj; contents[k]) { - if (obj.is_a == "heading") { - writefln( - "%s~ [%s] %s", - obj.marked_up_level, - obj.obj_cite_number, - // "[", obj["is"], "] ", - obj.text - ); - } - } - } -} -#+END_SRC - -#+name: ao_output_debugs -#+BEGIN_SRC d -debug(summary) { - string[string] check = [ - "last_obj_cite_number" : "NA [debug \"checkdoc\" not run]", - ]; -} -#+END_SRC - -*** compare number of obj_cite_number for known sisu markup output (checkdoc) - -#+name: ao_output_debugs_summary -#+BEGIN_SRC d -debug(checkdoc) { - if (auto mfn=match(doc_matters.source_filename, rgx.src_fn)) { - if (doc_matters.opt_action["assertions"]) { - switch (mfn.captures[2]) { - // live manual: - case "live-manual.ssm": - assert(check["last_obj_cite_number"] == - "1019","last obj_cite_number should be: 1019 (check test, document is frequently updated)"); // ok - break; - // sisu_markup: - case "sisu_markup.sst": - assert(check["last_obj_cite_number"] == - "297","last obj_cite_number expected to be: 297 rather than " ~ check["last_obj_cite_number"]); // ok - // assert(check["last_obj_cite_number"] == "297","last obj_cite_number expected to be: 297 rather than " ~ check["last_obj_cite_number"]); - // notes for first divergance study sisu headings 247 250 - // sisu has issue with code that contains heading 1~ which results in no obj_cite_number! ?? - // sisu currently has incorrect last body obj_cite_number of 294! - // bug in sisu? attend - break; - // sisu-markup-samples: - case "accelerando.charles_stross.sst": - assert(check["last_obj_cite_number"] == - "2861","last obj_cite_number expected to be: 2861 rather than " ~ check["last_obj_cite_number"]); // ok - break; - case "alices_adventures_in_wonderland.lewis_carroll.sst": - assert(check["last_obj_cite_number"] == - "805","last obj_cite_number expected to be: 805 rather than " ~ check["last_obj_cite_number"]); // 808 - break; - case "autonomy_markup0.sst": - assert(check["last_obj_cite_number"] == - "77","last obj_cite_number expected to be: 77 rather than " ~ check["last_obj_cite_number"]); // ok endnotes - // assert(check["last_obj_cite_number"] == "78","last obj_cite_number expected to be: 78 rather than " ~ check["last_obj_cite_number"]); - break; - case "content.cory_doctorow.sst": - assert(check["last_obj_cite_number"] == - "953","last obj_cite_number expected to be: 953 rather than " ~ check["last_obj_cite_number"]); // 1007 way off, check obj_cite_number off switches - // assert(check["last_obj_cite_number"] == "953","last obj_cite_number expected to be: 953 rather than " ~ check["last_obj_cite_number"]); - break; - case "democratizing_innovation.eric_von_hippel.sst": - // fixed ERROR! range violation, broken check! endnotes, bookindex, biblio - // error in bookindex ... (ch1; ch6; ch8 ) - assert(check["last_obj_cite_number"] == - "905","last obj_cite_number expected to be: 905 rather than " ~ check["last_obj_cite_number"]); // 911 - break; - case "down_and_out_in_the_magic_kingdom.cory_doctorow.sst": - assert(check["last_obj_cite_number"] == - "1417","last obj_cite_number expected to be: 1417 rather than " ~ check["last_obj_cite_number"]); // 1455 check obj_cite_number off switches - break; - case "for_the_win.cory_doctorow.sst": - assert(check["last_obj_cite_number"] == - "3510","last obj_cite_number expected to be: 3510 rather than " ~ check["last_obj_cite_number"]); // 3569 check obj_cite_number off switches - break; - case "free_as_in_freedom_2.richard_stallman_and_the_free_software_revolution.sam_williams.richard_stallman.sst": - assert(check["last_obj_cite_number"] == - "1082","last obj_cite_number expected to be: 1082 rather than " ~ check["last_obj_cite_number"]); // check 1079 too few - break; - case "free_culture.lawrence_lessig.sst": - assert(check["last_obj_cite_number"] == - "1330","last obj_cite_number expected to be: 1330 rather than " ~ check["last_obj_cite_number"]); // 1312 - // fixed ERROR! range violation, broken check! - // error in bookindex ... sections piracy (ch1) & property (ch10 market concentration) fixed - break; - case "free_for_all.peter_wayner.sst": // endnotes, bookindex, biblio - assert(check["last_obj_cite_number"] == - "1559","last obj_cite_number expected to be: 1559 rather than " ~ check["last_obj_cite_number"]); // 1560, check obj_cite_number off switches, has endnotes so 2 too many - // assert(check["last_obj_cite_number"] == "1559","last obj_cite_number expected to be: 1559 rather than " ~ check["last_obj_cite_number"]); - break; - case "gpl2.fsf.sst": - assert(check["last_obj_cite_number"] == - "65","last obj_cite_number expected to be: 65 rather than " ~ check["last_obj_cite_number"]); // ok endnotes? check - // assert(check["last_obj_cite_number"] == "66","last obj_cite_number expected to be: 66 rather than " ~ check["last_obj_cite_number"]); - break; - case "gpl3.fsf.sst": - assert(check["last_obj_cite_number"] == - "123","last obj_cite_number expected to be: 123 rather than " ~ check["last_obj_cite_number"]); // ok - break; - case "gullivers_travels.jonathan_swift.sst": - assert(check["last_obj_cite_number"] == - "668","last obj_cite_number expected to be: 668 rather than " ~ check["last_obj_cite_number"]); // 674 - break; - case "little_brother.cory_doctorow.sst": - assert(check["last_obj_cite_number"] == - "3130","last obj_cite_number expected to be: 3130 rather than " ~ check["last_obj_cite_number"]); // 3204, check obj_cite_number off switches - break; - case "the_cathedral_and_the_bazaar.eric_s_raymond.sst": - assert(check["last_obj_cite_number"] == - "258","last obj_cite_number expected to be: 258 rather than " ~ check["last_obj_cite_number"]); // ok - break; - case "the_public_domain.james_boyle.sst": - assert(check["last_obj_cite_number"] == - "970","last obj_cite_number expected to be: 970 rather than " ~ check["last_obj_cite_number"]); // 978 - break; - case "the_wealth_of_networks.yochai_benkler.sst": // endnotes, bookindex - assert(check["last_obj_cite_number"] == - "829","last obj_cite_number expected to be: 829 rather than " ~ check["last_obj_cite_number"]); // ok - // assert(check["last_obj_cite_number"] == "832","last obj_cite_number expected to be: 832 rather than " ~ check["last_obj_cite_number"]); - // has endnotes and bookindex, issue with sisu.rb - break; - case "through_the_looking_glass.lewis_carroll.sst": - assert(check["last_obj_cite_number"] == - "949","last obj_cite_number expected to be: 949 rather than " ~ check["last_obj_cite_number"]); // 955 - break; - case "two_bits.christopher_kelty.sst": // endnotes, bookindex, biblio - assert(check["last_obj_cite_number"] == - "1190","last obj_cite_number expected to be: 1190 rather than " ~ check["last_obj_cite_number"]); // 1191 - // assert(check["last_obj_cite_number"] == "1193","last obj_cite_number expected to be: 1193 rather than " ~ check["last_obj_cite_number"]); // 1191 ok? - // has endnotes and bookindex, issue with sisu.rb - break; - // fixed ERROR! range violation! - // error in bookindex ... (ch3 the movement) - case "un_contracts_international_sale_of_goods_convention_1980.sst": - assert(check["last_obj_cite_number"] == - "377","last obj_cite_number expected to be: 377 rather than " ~ check["last_obj_cite_number"]); // ok - break; - case "viral_spiral.david_bollier.sst": // endnotes, bookindex - assert(check["last_obj_cite_number"] == - "1078","last obj_cite_number expected to be: 1078 rather than " ~ check["last_obj_cite_number"]); // 1100 - // fixed ERROR! range violation! - // error in bookindex ... (ch7 ... building the cc machine, an extra semi colon) - break; - default: - writeln(doc_matters.source_filename); - break; - } - } - } -} -#+END_SRC -- cgit v1.2.3