Mercurial > public > mercurial-scm > hg
comparison mercurial/help.py @ 28058:ff6e8dc659f8
help: don't crash in keyword search if an extension fails to provide docs
Not all external extensions provide docs; if you use such an extension, you
will experience a crash if you use "hg help --keyword <word>", and <word>
happens to match the extension name.
author | Simon Farnsworth <simonfar@fb.com> |
---|---|
date | Wed, 10 Feb 2016 01:48:58 -0800 |
parents | 512f883c234c |
children | 045fe7042510 |
comparison
equal
deleted
inserted
replaced
28055:92e8e3f20a6f | 28058:ff6e8dc659f8 |
---|---|
147 continue | 147 continue |
148 results['commands'].append((cmdname, summary)) | 148 results['commands'].append((cmdname, summary)) |
149 for name, docs in itertools.chain( | 149 for name, docs in itertools.chain( |
150 extensions.enabled(False).iteritems(), | 150 extensions.enabled(False).iteritems(), |
151 extensions.disabled().iteritems()): | 151 extensions.disabled().iteritems()): |
152 if not docs: | |
153 continue | |
152 mod = extensions.load(ui, name, '') | 154 mod = extensions.load(ui, name, '') |
153 name = name.rpartition('.')[-1] | 155 name = name.rpartition('.')[-1] |
154 if lowercontains(name) or lowercontains(docs): | 156 if lowercontains(name) or lowercontains(docs): |
155 # extension docs are already translated | 157 # extension docs are already translated |
156 results['extensions'].append((name, docs.splitlines()[0])) | 158 results['extensions'].append((name, docs.splitlines()[0])) |