# HG changeset patch # User Yuya Nishihara # Date 1469246923 -32400 # Node ID bdc81970853df8bdf0f470095af334d5b51b2ba6 # Parent b76ea1384bf2d536ee48b7c43b156d44b5faa2b6 templatekw: change joinfmt to a mandatory argument of _hybrid object We've fixed several bugs caused by the misuse of the default joinfmt. Make it more explicit to prevent future bugs. dict.values()[0] is replaced by dict[element] as showlist() knows what the key is. diff -r b76ea1384bf2 -r bdc81970853d mercurial/templatekw.py --- a/mercurial/templatekw.py Mon Jul 18 23:12:09 2016 +0900 +++ b/mercurial/templatekw.py Sat Jul 23 13:08:43 2016 +0900 @@ -26,14 +26,11 @@ # "{get(extras, key)}" class _hybrid(object): - def __init__(self, gen, values, makemap, joinfmt=None): + def __init__(self, gen, values, makemap, joinfmt): self.gen = gen self.values = values self._makemap = makemap - if joinfmt: - self.joinfmt = joinfmt - else: - self.joinfmt = lambda x: x.values()[0] + self.joinfmt = joinfmt def __iter__(self): return self.gen def itermaps(self): @@ -53,7 +50,7 @@ if not element: element = name f = _showlist(name, values, plural, separator, **args) - return _hybrid(f, values, lambda x: {element: x}) + return _hybrid(f, values, lambda x: {element: x}, lambda d: d[element]) def _showlist(name, values, plural=None, separator=' ', **args): '''expand set of values.