Mercurial > hg
changeset 37230:63144f33c8bb
templatefilters: raise ProgrammingError if unencodable type passed to json()
This shouldn't happen for any template data types (though I know it does
because of some templater bugs.) Let's clarify it is a bug.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 18 Mar 2018 16:53:08 +0900 |
parents | 05db42732fce |
children | dc4bb1422f2b |
files | mercurial/templatefilters.py |
diffstat | 1 files changed, 1 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templatefilters.py Sun Mar 18 16:47:44 2018 +0900 +++ b/mercurial/templatefilters.py Sun Mar 18 16:53:08 2018 +0900 @@ -263,8 +263,7 @@ elif util.safehasattr(obj, '__iter__'): out = [json(i, paranoid) for i in obj] return '[' + ', '.join(out) + ']' - else: - raise TypeError('cannot encode type %s' % obj.__class__.__name__) + raise error.ProgrammingError('cannot encode %r' % obj) @templatefilter('lower', intype=bytes) def lower(text):