Mercurial > hg-stable
changeset 10564:6ded6243bde2 stable
alias: fixes exception when displaying translated help text
__doc__ of aliased command shouldn't cointain non-ASCII characters,
because it'll be gettext-ed later by commands.help_().
Here gettext can raise UnicodeDecodeError.
Once concatenated two translatable strings into one, it become untranslatable.
So this patch moves 'alias for:' from dispatch.cmdalias to commands.help_,
where help texts are translated.
'alias for:' was introduced by 6e8a16dd3e30.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 01 Mar 2010 23:27:44 +0900 |
parents | bb4561401c84 |
children | 70dea42c9406 |
files | mercurial/commands.py mercurial/dispatch.py |
diffstat | 2 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Mon Mar 01 22:47:39 2010 +0100 +++ b/mercurial/commands.py Mon Mar 01 23:27:44 2010 +0900 @@ -1544,6 +1544,8 @@ doc = gettext(entry[0].__doc__) if not doc: doc = _("(no help text available)") + if hasattr(entry[0], 'definition'): # aliased command + doc = _('alias for: hg %s\n\n%s') % (entry[0].definition, doc) if ui.quiet: doc = doc.splitlines()[0] keep = ui.verbose and ['verbose'] or []
--- a/mercurial/dispatch.py Mon Mar 01 22:47:39 2010 +0100 +++ b/mercurial/dispatch.py Mon Mar 01 23:27:44 2010 +0900 @@ -208,8 +208,7 @@ if self.help.startswith("hg " + cmd): # drop prefix in old-style help lines so hg shows the alias self.help = self.help[4 + len(cmd):] - self.__doc__ = _("alias for: hg %s\n\n%s") \ - % (definition, self.fn.__doc__) + self.__doc__ = self.fn.__doc__ except error.UnknownCommand: def fn(ui, *args):