mercurial/minirst.py
changeset 26237 1c6f7cc52da9
parent 26170 61124bf8485f
child 26421 4b0fc75f9403
--- a/mercurial/minirst.py	Sun Sep 13 16:30:21 2015 -0400
+++ b/mercurial/minirst.py	Thu Sep 10 10:48:20 2015 -0400
@@ -722,6 +722,20 @@
                 nest += i
             level = nest.index(i) + 1
             nest = nest[:level]
+            for i in range(1, len(secs) + 1):
+                sec = secs[-i]
+                if sec[1] < level:
+                    break
+                siblings = [a for a in sec[2] if a['type'] == 'definition']
+                if siblings:
+                    siblingindent = siblings[-1]['indent']
+                    indent = b['indent']
+                    if siblingindent < indent:
+                        level += 1
+                        break
+                    elif siblingindent == indent:
+                        level = sec[1]
+                        break
             secs.append((getname(b), level, [b]))
         else:
             if not secs: