diff -r fc810d950278 -r d1c998d7b103 mercurial/commands.py --- a/mercurial/commands.py Sun Dec 13 10:35:03 2015 -0800 +++ b/mercurial/commands.py Sun Dec 13 11:04:45 2015 -0800 @@ -4367,11 +4367,16 @@ keep.append(sys.platform.lower()) section = None + subtopic = None if name and '.' in name: name, section = name.split('.', 1) section = section.lower() - - text = help.help_(ui, name, **opts) + if '.' in section: + subtopic, section = section.split('.', 1) + else: + subtopic = section + + text = help.help_(ui, name, subtopic=subtopic, **opts) formatted, pruned = minirst.format(text, textwidth, keep=keep, section=section)