view tests/test-install.t @ 20661:7e627fe63e5e stable

templater: avoid recursive evaluation of string literals completely Changeset 3d8bfe2ecf6d (released with 2.8.1) fixed "recursively evaluate string literals as templates" problem (issue4103) by introducing "_evalifliteral()". But some parts in template expressions below are still processed by the combination of "compiletemplate()" and "runtemplate()", and may cause same problem unexpectedly. - 'init' and 'hang' of 'fill(text, width, init, hang)' - 'expr' of 'sub(pat, repl, expr)' - 'label' of 'label(label, expr)' This patch processes them by "_evalifliteral()" instead of the combination of "compiletemplate()" and "runtemplate()" to avoid recursive evaluation of string literals completely.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Mon, 10 Mar 2014 01:01:42 +0900
parents bdd248666dbc
children 5614f8cf0861
line wrap: on
line source

hg debuginstall
  $ hg debuginstall
  checking encoding (ascii)...
  checking Python lib (*lib*)... (glob)
  checking installed modules (*mercurial)... (glob)
  checking templates (*mercurial?templates)... (glob)
  checking commit editor...
  checking username...
  no problems detected

hg debuginstall with no username
  $ HGUSER= hg debuginstall
  checking encoding (ascii)...
  checking Python lib (*lib*)... (glob)
  checking installed modules (*mercurial)... (glob)
  checking templates (*mercurial?templates)... (glob)
  checking commit editor...
  checking username...
   no username supplied (see "hg help config")
   (specify a username in your configuration file)
  1 problems detected, please check your install!
  [1]