comparison mercurial/dispatch.py @ 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 d216fa04e48a
children 5f091fc1bab7 16df09a54113
comparison
equal deleted inserted replaced
10563:bb4561401c84 10564:6ded6243bde2
206 if cmd not in commands.norepo.split(' '): 206 if cmd not in commands.norepo.split(' '):
207 self.norepo = False 207 self.norepo = False
208 if self.help.startswith("hg " + cmd): 208 if self.help.startswith("hg " + cmd):
209 # drop prefix in old-style help lines so hg shows the alias 209 # drop prefix in old-style help lines so hg shows the alias
210 self.help = self.help[4 + len(cmd):] 210 self.help = self.help[4 + len(cmd):]
211 self.__doc__ = _("alias for: hg %s\n\n%s") \ 211 self.__doc__ = self.fn.__doc__
212 % (definition, self.fn.__doc__)
213 212
214 except error.UnknownCommand: 213 except error.UnknownCommand:
215 def fn(ui, *args): 214 def fn(ui, *args):
216 ui.warn(_("alias '%s' resolves to unknown command '%s'\n") \ 215 ui.warn(_("alias '%s' resolves to unknown command '%s'\n") \
217 % (self.name, cmd)) 216 % (self.name, cmd))