dit.pos() = it->range.start;
str += " " + dit.paragraph().asString(it->range.start, it->range.end);
docstring const & author = author_list.get(it->change.author).name();
- Toc::const_iterator it = change_list.item(0, author);
+ Toc::iterator it = change_list.item(0, author);
if (it == change_list.end()) {
change_list.push_back(TocItem(dit, 0, author));
change_list.push_back(TocItem(dit, 1, str));
- } else {
- it++;
- change_list.insert(it, TocItem(dit, 1, str));
+ continue;
+ }
+ for (++it; it != change_list.end(); ++it) {
+ if (it->depth() == 0 && it->str() != author)
+ break;
}
+ change_list.insert(it, TocItem(dit, 1, str));
}
}