##// END OF EJS Templates
templater: avoid recursive evaluation of string literals completely...
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.

File last commit:

r18628:52305554 default
r20661:7e627fe6 stable
Show More
changelogentry.tmpl
14 lines | 586 B | application/x-cheetah | CheetahLexer
<div>
<a class="title" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"><span class="age">{date|rfc822date}</span>{desc|strip|firstline|escape|nonempty}<span class="logtags"> {inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a>
</div>
<div class="title_text">
<div class="log_link">
<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a><br/>
</div>
<i>{author|obfuscate} [{date|rfc822date}] rev {rev}</i><br/>
</div>
<div class="log_body">
{desc|strip|escape|websub|addbreaks|nonempty}
<br/>
<br/>
</div>