# HG changeset patch # User Yuya Nishihara # Date 1267453664 -32400 # Node ID 6ded6243bde2836f2e97f8b509a60f8ec66f461a # Parent bb4561401c84d84df6a82784338d25b747779bce 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. diff -r bb4561401c84 -r 6ded6243bde2 mercurial/commands.py --- 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 [] diff -r bb4561401c84 -r 6ded6243bde2 mercurial/dispatch.py --- 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):