Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templateutil.py @ 38240:8bded7eae26c
templater: consistently join() string-like object per character (BC)
The old behavior was copied from join() of a lazy generator string, which
was unified to the behavior of join() of a byte string by the previous patch.
This patch fixes the mappable type to do the same.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 21 Apr 2018 17:15:11 +0900 |
parents | 7824783a6d5e |
children | 7701c2d4a438 |
line wrap: on
line diff
--- a/mercurial/templateutil.py Sat Apr 21 17:00:21 2018 +0900 +++ b/mercurial/templateutil.py Sat Apr 21 17:15:11 2018 +0900 @@ -189,12 +189,8 @@ yield self.tomap() def join(self, context, mapping, sep): - # TODO: just copies the old behavior where a value was a generator - # yielding one item, but reconsider about it. join() over a string - # has no consistent result because a string may be a bytes, or a - # generator yielding an item, or a generator yielding multiple items. - # Preserving all of the current behaviors wouldn't make any sense. - return self.show(context, mapping) + w = makewrapped(context, mapping, self._value) + return w.join(context, mapping, sep) def show(self, context, mapping): # TODO: switch gen to (context, mapping) API?