# HG changeset patch # User Yuya Nishihara # Date 1528515366 -32400 # Node ID 0e0d03d09ecd0b81324bc56ca8e4ac6489d76271 # Parent 1a05e205832a929374c010b2dc6a1c65a60186a3 templater: rename mappable to hybriditem as it is the primary use case This frees up the name 'mappable' for new interface type. diff -r 1a05e205832a -r 0e0d03d09ecd mercurial/templatekw.py --- a/mercurial/templatekw.py Fri Jun 08 23:32:33 2018 +0900 +++ b/mercurial/templatekw.py Sat Jun 09 12:36:06 2018 +0900 @@ -31,7 +31,6 @@ ) _hybrid = templateutil.hybrid -_mappable = templateutil.mappable hybriddict = templateutil.hybriddict hybridlist = templateutil.hybridlist compatdict = templateutil.compatdict @@ -469,7 +468,8 @@ f = context.process('manifest', mapping) # TODO: perhaps 'ctx' should be dropped from mapping because manifest # rev and node are completely different from changeset's. - return _mappable(f, None, f, lambda x: {'rev': mrev, 'node': mhex}) + return templateutil.hybriditem(f, None, f, + lambda x: {'rev': mrev, 'node': mhex}) @templatekeyword('obsfate', requires={'ui', 'repo', 'ctx'}) def showobsfate(context, mapping): diff -r 1a05e205832a -r 0e0d03d09ecd mercurial/templater.py --- a/mercurial/templater.py Fri Jun 08 23:32:33 2018 +0900 +++ b/mercurial/templater.py Sat Jun 09 12:36:06 2018 +0900 @@ -42,7 +42,7 @@ represents a list/dict of printable values, which can also be converted to mappings by % operator. -mappable +hybriditem represents a scalar printable value, also supports % operator. mappinggenerator, mappinglist diff -r 1a05e205832a -r 0e0d03d09ecd mercurial/templateutil.py --- a/mercurial/templateutil.py Fri Jun 08 23:32:33 2018 +0900 +++ b/mercurial/templateutil.py Sat Jun 09 12:36:06 2018 +0900 @@ -215,7 +215,7 @@ if util.safehasattr(val, '_makemap'): # a nested hybrid list/dict, which has its own way of map operation return val - return mappable(None, key, val, self._makemap) + return hybriditem(None, key, val, self._makemap) def itermaps(self, context): makemap = self._makemap @@ -243,7 +243,7 @@ for k, v in xs.iteritems()} return [unwrapvalue(context, mapping, x) for x in xs] -class mappable(wrapped): +class hybriditem(wrapped): """Wrapper for non-list/dict object to support map operation This class allows us to handle both: