diff -r 307ee8883975 -r 54355c243042 mercurial/templateutil.py --- a/mercurial/templateutil.py Mon Mar 19 20:39:06 2018 +0900 +++ b/mercurial/templateutil.py Sun Mar 18 15:14:58 2018 +0900 @@ -342,6 +342,7 @@ return stringify(thing) _unwrapfuncbytype = { + None: _unwrapvalue, bytes: stringify, int: unwrapinteger, } @@ -400,8 +401,9 @@ def runfilter(context, mapping, data): arg, filt = data - thing = evalfuncarg(context, mapping, arg) + thing = evalrawexp(context, mapping, arg) try: + thing = unwrapastype(thing, getattr(filt, '_intype', None)) return filt(thing) except (ValueError, AttributeError, TypeError): sym = findsymbolicname(arg)