diff --git a/doc/gendoc.py b/doc/gendoc.py --- a/doc/gendoc.py +++ b/doc/gendoc.py @@ -157,16 +157,7 @@ def commandprinter(ui, cmdtable, section def allextensionnames(): - extensionnames = [] - - extensionsdictionary = extensions.enabled()[0] - extensionnames.extend(extensionsdictionary.keys()) - - extensionsdictionary = extensions.disabled()[0] - extensionnames.extend(extensionsdictionary.keys()) - - return extensionnames - + return extensions.enabled().keys() + extensions.disabled().keys() if __name__ == "__main__": show_doc(sys.stdout) diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2752,8 +2752,7 @@ def help_(ui, name=None, with_version=Fa doc = gettext(mod.__doc__).splitlines()[0] msg = help.listexts(_("'%s' is provided by the following " - "extension:") % cmd, {ext: doc}, len(ext), - indent=4) + "extension:") % cmd, {ext: doc}, indent=4) ui.write(minirst.format(msg, textwidth)) ui.write('\n\n') ui.write(_('use "hg help extensions" for information on enabling ' @@ -2799,8 +2798,7 @@ def help_(ui, name=None, with_version=Fa helplist(header) if name != 'shortlist': - exts, maxlength = extensions.enabled() - text = help.listexts(_('enabled extensions:'), exts, maxlength) + text = help.listexts(_('enabled extensions:'), extensions.enabled()) if text: ui.write("\n%s\n" % minirst.format(text, textwidth)) diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -230,20 +230,15 @@ def disabled(): paths = _disabledpaths() if not paths: - return None, 0 + return None exts = {} - maxlength = 0 for name, path in paths.iteritems(): doc = _disabledhelp(path) - if not doc: - continue + if doc: + exts[name] = doc - exts[name] = doc - if len(name) > maxlength: - maxlength = len(name) - - return exts, maxlength + return exts def disabledext(name): '''find a specific disabled extension from hgext. returns desc''' @@ -299,11 +294,9 @@ def disabledcmd(ui, cmd, strict=False): def enabled(): '''return a dict of {name: desc} of extensions, and the max name length''' exts = {} - maxlength = 0 for ename, ext in extensions(): doc = (gettext(ext.__doc__) or _('(no help text available)')) ename = ename.split('.')[-1] - maxlength = max(len(ename), maxlength) exts[ename] = doc.splitlines()[0].strip() - return exts, maxlength + return exts diff --git a/mercurial/help.py b/mercurial/help.py --- a/mercurial/help.py +++ b/mercurial/help.py @@ -43,10 +43,11 @@ def moduledoc(file): return ''.join(result) -def listexts(header, exts, maxlength, indent=1): +def listexts(header, exts, indent=1): '''return a text listing of the given extensions''' if not exts: return '' + maxlength = max(len(e) for e in exts) result = '\n%s\n\n' % header for name, desc in sorted(exts.iteritems()): result += '%s%-*s %s\n' % (' ' * indent, maxlength + 2, @@ -55,13 +56,8 @@ def listexts(header, exts, maxlength, in def extshelp(): doc = loaddoc('extensions')() - - exts, maxlength = extensions.enabled() - doc += listexts(_('enabled extensions:'), exts, maxlength) - - exts, maxlength = extensions.disabled() - doc += listexts(_('disabled extensions:'), exts, maxlength) - + doc += listexts(_('enabled extensions:'), extensions.enabled()) + doc += listexts(_('disabled extensions:'), extensions.disabled()) return doc def loaddoc(topic): diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -408,7 +408,7 @@ class hgsubrepo(abstractsubrepo): if r == '' and not ignoreupdate: # no state recorded return True w = self._repo[None] - if r != w.p1().node() and not ignoreupdate: + if r != w.p1().hex() and not ignoreupdate: # different version checked out return True return w.dirty() # working directory changed