mercurial/templater.py
changeset 28831 6b86ce3e3576
parent 28696 efa192203623
child 28837 d54a7410307f
--- a/mercurial/templater.py	Thu Apr 07 14:10:49 2016 -0700
+++ b/mercurial/templater.py	Sun Apr 03 11:20:50 2016 +0900
@@ -1011,8 +1011,11 @@
     def __call__(self, t, **mapping):
         ttype = t in self.map and self.map[t][0] or 'default'
         if ttype not in self.ecache:
-            self.ecache[ttype] = engines[ttype](self.load,
-                                                 self.filters, self.defaults)
+            try:
+                ecls = engines[ttype]
+            except KeyError:
+                raise error.Abort(_('invalid template engine: %s') % ttype)
+            self.ecache[ttype] = ecls(self.load, self.filters, self.defaults)
         proc = self.ecache[ttype]
 
         stream = proc.process(t, mapping)