aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sdp/ao_abstract_doc_source.d16
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;
}