Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.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 | b1339234080e |
children | f142fa3c0a8c |
comparison
equal
deleted
inserted
replaced
10563:bb4561401c84 | 10564:6ded6243bde2 |
---|---|
1542 | 1542 |
1543 # description | 1543 # description |
1544 doc = gettext(entry[0].__doc__) | 1544 doc = gettext(entry[0].__doc__) |
1545 if not doc: | 1545 if not doc: |
1546 doc = _("(no help text available)") | 1546 doc = _("(no help text available)") |
1547 if hasattr(entry[0], 'definition'): # aliased command | |
1548 doc = _('alias for: hg %s\n\n%s') % (entry[0].definition, doc) | |
1547 if ui.quiet: | 1549 if ui.quiet: |
1548 doc = doc.splitlines()[0] | 1550 doc = doc.splitlines()[0] |
1549 keep = ui.verbose and ['verbose'] or [] | 1551 keep = ui.verbose and ['verbose'] or [] |
1550 formatted, pruned = minirst.format(doc, textwidth, keep=keep) | 1552 formatted, pruned = minirst.format(doc, textwidth, keep=keep) |
1551 ui.write("\n%s\n" % formatted) | 1553 ui.write("\n%s\n" % formatted) |