[PATCH 2 of 4] templater: make get(dict, key) return a single value

Yuya Nishihara yuya at tcha.org
Sat Jan 16 06:47:51 CST 2016


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1452920012 -32400
#      Sat Jan 16 13:53:32 2016 +0900
# Node ID 45706351a9bbc0060956521951ab319ffbd22b76
# Parent  34bd032d95483c8bbdcd6269d0cc04f921e3abdc
templater: make get(dict, key) return a single value

This is necessary to obtain a _hybrid object from a dict. If get() yields
a value, it would be stringified.

I see no benefit to make get() lazy, so this patch just changes "yield" to
"return".

diff --git a/mercurial/templater.py b/mercurial/templater.py
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -432,7 +432,7 @@ def get(context, mapping, args):
         raise error.ParseError(_("get() expects a dict as first argument"))
 
     key = args[1][0](context, mapping, args[1][1])
-    yield dictarg.get(key)
+    return dictarg.get(key)
 
 def if_(context, mapping, args):
     """:if(expr, then[, else]): Conditionally execute based on the result of


More information about the Mercurial-devel mailing list