[PATCH 5 of 7] templater: extract type conversion from evalfuncarg()
Yuya Nishihara
yuya at tcha.org
Sun Mar 25 01:15:52 EDT 2018
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1521806601 -32400
# Fri Mar 23 21:03:21 2018 +0900
# Node ID 974b91e77122678881e9618d1682cfe0cf02d367
# Parent 8b71d63fb9cc8c635fab41b872b8db6d5279a58a
templater: extract type conversion from evalfuncarg()
Needed by the subsequent patches.
diff --git a/mercurial/templateutil.py b/mercurial/templateutil.py
--- a/mercurial/templateutil.py
+++ b/mercurial/templateutil.py
@@ -287,7 +287,12 @@ def evalrawexp(context, mapping, arg):
def evalfuncarg(context, mapping, arg):
"""Evaluate given argument as value type"""
- thing = evalrawexp(context, mapping, arg)
+ return _unwrapvalue(evalrawexp(context, mapping, arg))
+
+# TODO: unify this with unwrapvalue() once the bug of templatefunc.join()
+# is fixed. we can't do that right now because join() has to take a generator
+# of byte strings as it is, not a lazy byte string.
+def _unwrapvalue(thing):
thing = unwrapvalue(thing)
# evalrawexp() may return string, generator of strings or arbitrary object
# such as date tuple, but filter does not want generator.
More information about the Mercurial-devel
mailing list