diff mercurial/formatter.py @ 28954:f97a0bcfd7a1

templater: separate function to create templater from map file (API) New frommapfile() function will make it clear when template aliases will be loaded. They should be applied to command arguments and templates in hgrc, but not to map files. Otherwise, our stock styles and web templates (i.e map-file templates) could be modified unintentionally. Future patches will add "aliases" argument to __init__(), but not to frommapfile().
author Yuya Nishihara <yuya@tcha.org>
date Sun, 03 Apr 2016 23:26:48 +0900
parents bf35644b9f3a
children 78759f78a44e
line wrap: on
line diff
--- a/mercurial/formatter.py	Sun Apr 03 23:18:30 2016 +0900
+++ b/mercurial/formatter.py	Sun Apr 03 23:26:48 2016 +0900
@@ -190,7 +190,10 @@
 
 def gettemplater(ui, topic, spec):
     tmpl, mapfile = lookuptemplate(ui, topic, spec)
-    t = templater.templater(mapfile, {})
+    assert not (tmpl and mapfile)
+    if mapfile:
+        return templater.templater.frommapfile(mapfile)
+    t = templater.templater()
     if tmpl:
         t.cache[topic] = tmpl
     return t