# HG changeset patch # User Yuya Nishihara # Date 2018-03-17 11:58:28 # Node ID b4630e332a99423d1e95163083dcc08eea773cb0 # Parent 8c84dc8264dc29c779cd37b7dff9c3606bf61fc4 templater: drop unneeded generator from mappable object Per the definition of the show() interface, it can return a bytes. diff --git a/mercurial/templateutil.py b/mercurial/templateutil.py --- a/mercurial/templateutil.py +++ b/mercurial/templateutil.py @@ -113,15 +113,11 @@ class mappable(wrapped): """ def __init__(self, gen, key, value, makemap): - if gen is not None: - self._gen = gen # generator or function returning generator + self._gen = gen # generator or function returning generator self._key = key self._value = value # may be generator of strings self._makemap = makemap - def _gen(self): - yield pycompat.bytestr(self._value) - def tomap(self): return self._makemap(self._key) @@ -131,6 +127,8 @@ class mappable(wrapped): def show(self, context, mapping): # TODO: switch gen to (context, mapping) API? gen = self._gen + if gen is None: + return pycompat.bytestr(self._value) if callable(gen): return gen() return gen