diff options
Diffstat (limited to 'src/sdp')
| -rw-r--r-- | src/sdp/ao_abstract_doc_source.d | 16 | 
1 files changed, 11 insertions, 5 deletions
| 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;        } | 
