# HG changeset patch # User Martin von Zweigbergk # Date 1596148146 25200 # Node ID d9a502a0a9caca0ae80162587e2e02af50ca2978 # Parent 3b27ed8e324ec01483fa8a36a652cf12b4af8ccb templater: unroll loop over mapfile directories I'll rewrite the handling of the `templatedir()` case in the next patch, so the two cases will be more different and the loop won't make as much sense. Differential Revision: https://phab.mercurial-scm.org/D8895 diff -r 3b27ed8e324e -r d9a502a0a9ca mercurial/templater.py --- a/mercurial/templater.py Tue Aug 04 10:51:25 2020 -0700 +++ b/mercurial/templater.py Thu Jul 30 15:29:06 2020 -0700 @@ -829,17 +829,22 @@ conf = config.config() def include(rel, remap, sections): - templatedirs = [base, templatedir()] - for dir in templatedirs: - if dir is None: - continue - abs = os.path.normpath(os.path.join(dir, rel)) + subresource = None + if base: + abs = os.path.normpath(os.path.join(base, rel)) if os.path.isfile(abs): - data = util.posixfile(abs, b'rb').read() - conf.parse( - abs, data, sections=sections, remap=remap, include=include - ) - break + subresource = util.posixfile(abs, b'rb') + if not subresource: + dir = templatedir() + if dir: + abs = os.path.normpath(os.path.join(dir, rel)) + if os.path.isfile(abs): + subresource = util.posixfile(abs, b'rb') + if subresource: + data = subresource.read() + conf.parse( + abs, data, sections=sections, remap=remap, include=include, + ) data = fp.read() conf.parse(mapfile, data, remap={b'': b'templates'}, include=include)