# HG changeset patch
# User Yuya Nishihara <y...@tcha.org>
# Date 1519537338 -32400
#      Sun Feb 25 14:42:18 2018 +0900
# Node ID c5d3987504112f372d4d25dfa7e6dec1eb58d1af
# Parent  6b3af7c365816188dea95c2a10b0ddcb50f818b8
log: do not invoke templatekw.showobsfate() as a function

Prepares for switching to the (context, mapping) API. I tried, but it appeared
not an one-off change to extract a non-template function from showobsfate(),
which deeply depends on the templater internals.

diff --git a/mercurial/logcmdutil.py b/mercurial/logcmdutil.py
--- a/mercurial/logcmdutil.py
+++ b/mercurial/logcmdutil.py
@@ -278,7 +278,12 @@ class changesetprinter(object):
         self._showpatch(ctx)
 
     def _showobsfate(self, ctx):
-        obsfate = templatekw.showobsfate(repo=self.repo, ctx=ctx, ui=self.ui)
+        # TODO: do not depend on templater
+        tres = formatter.templateresources(self.repo.ui, self.repo)
+        t = formatter.maketemplater(self.repo.ui, '{join(obsfate, "\n")}',
+                                    defaults=templatekw.keywords,
+                                    resources=tres)
+        obsfate = t.render({'ctx': ctx, 'revcache': {}}).splitlines()
 
         if obsfate:
             for obsfateline in obsfate:
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to