templatekw: inline showlist() into showbookmarks()
showlist() is the helper to build _hybrid object from a trivial list. It can't
be applied if each value has more than one items, 'bookmark' and 'current' in
this case.
This change is necessary to fix random failure of "{join(bookmarks, sep)}".
--- a/mercurial/templatekw.py Mon Mar 02 00:12:29 2015 -0600
+++ b/mercurial/templatekw.py Wed Feb 18 22:10:17 2015 +0900
@@ -199,10 +199,10 @@
"""
repo = args['ctx']._repo
bookmarks = args['ctx'].bookmarks()
- hybrid = showlist('bookmark', bookmarks, **args)
- for value in hybrid.values:
- value['current'] = repo._bookmarkcurrent
- return hybrid
+ current = repo._bookmarkcurrent
+ c = [{'bookmark': x, 'current': current} for x in bookmarks]
+ f = _showlist('bookmark', bookmarks, **args)
+ return _hybrid(f, c)
def showchildren(**args):
""":children: List of strings. The children of the changeset."""