diff options
author | Ralph Amissah <ralph@amissah.com> | 2017-01-18 18:21:18 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 |
commit | f1d8aac5386f98c912ede3db57999eeeed841f3c (patch) | |
tree | 243fd25b4c7b9d1a4d5cda03af4f33fa875da4d7 | |
parent | some reorganising, moved doc sections sequence keys, tuple change (diff) |
reset ocn on new document (much more re-initializing necessary)
-rw-r--r-- | org/ao_abstract_doc_source.org | 16 | ||||
-rw-r--r-- | src/sdp/ao_abstract_doc_source.d | 16 |
2 files changed, 22 insertions, 10 deletions
diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org index dbc44a0..f77a5ad 100644 --- a/org/ao_abstract_doc_source.org +++ b/org/ao_abstract_doc_source.org @@ -997,7 +997,9 @@ assert( if ((type["heading"] == State.on) && (line_occur["heading"] > State.off)) { /+ heading object (current line empty) +/ - obj_cite_number = ocn_emit(type["ocn_status"]); + obj_cite_number = (to!int(an_object["lev_markup_number"]) == 0) + ? (ocn_emit(3)) + : (obj_cite_number = ocn_emit(type["ocn_status"])); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -3517,11 +3519,15 @@ auto _para_match_( struct OCNemitter { int obj_cite_number, obj_cite_number_; int ocn_emitter(int ocn_status_flag) - in { assert(ocn_status_flag <= 2); } + in { assert(ocn_status_flag <= 3); } body { - obj_cite_number=(ocn_status_flag == 0) - ? ++obj_cite_number_ - : 0; + if (ocn_status_flag == 3) { + obj_cite_number = obj_cite_number_ = 1; + } else { + obj_cite_number=(ocn_status_flag == 0) + ? ++obj_cite_number_ + : 0; + } assert(obj_cite_number >= 0); return obj_cite_number; } diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d index d8eb7d2..9bb5def 100644 --- a/src/sdp/ao_abstract_doc_source.d +++ b/src/sdp/ao_abstract_doc_source.d @@ -696,7 +696,9 @@ template SiSUdocAbstraction() { if ((type["heading"] == State.on) && (line_occur["heading"] > State.off)) { /+ heading object (current line empty) +/ - obj_cite_number = ocn_emit(type["ocn_status"]); + obj_cite_number = (to!int(an_object["lev_markup_number"]) == 0) + ? (ocn_emit(3)) + : (obj_cite_number = ocn_emit(type["ocn_status"])); an_object["bookindex_nugget"] = ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : ""; bookindex_unordered_hashes = @@ -2842,11 +2844,15 @@ template SiSUdocAbstraction() { struct OCNemitter { int obj_cite_number, obj_cite_number_; int ocn_emitter(int ocn_status_flag) - in { assert(ocn_status_flag <= 2); } + in { assert(ocn_status_flag <= 3); } body { - obj_cite_number=(ocn_status_flag == 0) - ? ++obj_cite_number_ - : 0; + if (ocn_status_flag == 3) { + obj_cite_number = obj_cite_number_ = 1; + } else { + obj_cite_number=(ocn_status_flag == 0) + ? ++obj_cite_number_ + : 0; + } assert(obj_cite_number >= 0); return obj_cite_number; } |