Mercurial > hg-stable
changeset 28462:dbba18ba26d4
templater: make label() just fail if ui object isn't available
Silent failure hides bugs and makes it harder to track down the issue. It's
worse than raising exception.
In future patches, I plan to sort out template functions that require 'ui',
'ctx', 'fctx', etc. so that incompatible functions are excluded and the doc can
say in which context these functions are usable.
@templatefunc('label', requires=('ui',))
def label(context, mapping, args):
...
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 09 Mar 2016 23:59:26 +0900 |
parents | b433233e25d9 |
children | 19b4a2087dfc |
files | mercurial/templater.py |
diffstat | 1 files changed, 1 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templater.py Fri Mar 11 21:55:44 2016 +0900 +++ b/mercurial/templater.py Wed Mar 09 23:59:26 2016 +0900 @@ -547,12 +547,8 @@ # i18n: "label" is a keyword raise error.ParseError(_("label expects two arguments")) + ui = mapping['ui'] thing = evalstring(context, mapping, args[1]) - - ui = mapping.get('ui', '') - if isinstance(ui, str): - return thing - # preserve unknown symbol as literal so effects like 'red', 'bold', # etc. don't need to be quoted label = evalstringliteral(context, mapping, args[0])