diff -r 3f808549d426 -r de9424647fe4 mercurial/minirst.py --- a/mercurial/minirst.py Mon Oct 06 07:29:38 2014 -0400 +++ b/mercurial/minirst.py Mon Oct 06 07:35:53 2014 -0400 @@ -654,9 +654,18 @@ if section: sections = getsections(blocks) blocks = [] - for name, nest, b in sections: + i = 0 + while i < len(sections): + name, nest, b = sections[i] if name == section: - blocks = b + blocks.extend(b) + + ## Also show all subnested sections + while i + 1 < len(sections) and sections[i + 1][1] > nest: + i += 1 + blocks.extend(sections[i][2]) + i += 1 + if style == 'html': text = formathtml(blocks) else: