diff -r f79237942dec -r 256581484c7f mercurial/templater.py --- a/mercurial/templater.py Thu Jun 21 22:23:43 2018 +0900 +++ b/mercurial/templater.py Thu Jun 21 22:27:30 2018 +0900 @@ -872,6 +872,8 @@ self.defaults = defaults self._resources = resources self._loader = loader(cache, aliases) + self._proc = engine(self._loader.load, self._filters, self.defaults, + self._resources) self._minchunk, self._maxchunk = minchunk, maxchunk @classmethod @@ -923,8 +925,7 @@ def generate(self, t, mapping): """Return a generator that renders the specified named template and yields chunks""" - proc = engine(self.load, self._filters, self.defaults, self._resources) - stream = proc.process(t, mapping) + stream = self._proc.process(t, mapping) if self._minchunk: stream = util.increasingchunks(stream, min=self._minchunk, max=self._maxchunk)