# HG changeset patch # User Yuya Nishihara # Date 1584277298 -32400 # Node ID e3e44e6e72456ad244bb85449d6e6eb53c64c65e # Parent fc1fa3a07af60641c96fd3b8e2b40e1ab2eba17a templater: fix cbor() filter to accept smartset So the wrapper type can return a bare smartset. diff -r fc1fa3a07af6 -r e3e44e6e7245 mercurial/templatefilters.py --- a/mercurial/templatefilters.py Sun Mar 15 15:12:44 2020 +0900 +++ b/mercurial/templatefilters.py Sun Mar 15 22:01:38 2020 +0900 @@ -18,6 +18,7 @@ node, pycompat, registrar, + smartset, templateutil, url, util, @@ -108,6 +109,9 @@ @templatefilter(b'cbor') def cbor(obj): """Any object. Serializes the object to CBOR bytes.""" + if isinstance(obj, smartset.abstractsmartset): + # cborutil is stricter about type than json() filter + obj = list(obj) return b''.join(cborutil.streamencode(obj)) diff -r fc1fa3a07af6 -r e3e44e6e7245 mercurial/templateutil.py --- a/mercurial/templateutil.py Sun Mar 15 15:12:44 2020 +0900 +++ b/mercurial/templateutil.py Sun Mar 15 22:01:38 2020 +0900 @@ -474,7 +474,7 @@ return bool(self._revs) def tovalue(self, context, mapping): - return list(self._revs) + return self._revs class _mappingsequence(wrapped):