Comments
Patch
@@ -1011,8 +1011,11 @@ class templater(object):
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)
@@ -44,4 +44,11 @@
0 97e5f848f0936960273bbf75be6388cd0350a32b -1 0000000000000000000000000000000000000000
-1 0000000000000000000000000000000000000000 -1 0000000000000000000000000000000000000000
+invalid engine type:
+
+ $ echo 'changeset = unknown:changeset.txt' > unknownenginemap
+ $ hg log --style=./unknownenginemap
+ abort: invalid template engine: unknown
+ [255]
+
$ cd ..