diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -349,12 +349,13 @@ def disabledcmd(ui, cmd, strict=False): raise error.UnknownCommand(cmd) -def enabled(): +def enabled(shortname=True): '''return a dict of {name: desc} of extensions''' exts = {} for ename, ext in extensions(): doc = (gettext(ext.__doc__) or _('(no help text available)')) - ename = ename.split('.')[-1] + if shortname: + ename = ename.split('.')[-1] exts[ename] = doc.splitlines()[0].strip() return exts diff --git a/mercurial/help.py b/mercurial/help.py --- a/mercurial/help.py +++ b/mercurial/help.py @@ -103,10 +103,11 @@ def topicmatch(kw): cmdname = cmd.split('|')[0].lstrip('^') results['commands'].append((cmdname, summary)) for name, docs in itertools.chain( - extensions.enabled().iteritems(), + extensions.enabled(False).iteritems(), extensions.disabled().iteritems()): # extensions.load ignores the UI argument mod = extensions.load(None, name, '') + name = name.split('.')[-1] if lowercontains(name) or lowercontains(docs): # extension docs are already translated results['extensions'].append((name, docs.splitlines()[0])) diff --git a/tests/test-help.t b/tests/test-help.t --- a/tests/test-help.t +++ b/tests/test-help.t @@ -773,6 +773,12 @@ Test help hooks Test keyword search help + $ cat > prefixedname.py < '''matched against word "clone" + > ''' + > EOF + $ echo '[extensions]' >> $HGRCPATH + $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH $ hg help -k clone Topics: @@ -792,7 +798,8 @@ Test keyword search help Extensions: - relink recreates hardlinks between repository clones + prefixedname matched against word "clone" + relink recreates hardlinks between repository clones Extension Commands: