##// END OF EJS Templates
templater: pass (context, mapping) down to unwraphybrid()...
templater: pass (context, mapping) down to unwraphybrid() See the subsequent patches for why. I initially thought it would be wrong to pass a mapping to flatten() and stringify() since these functions may be applied to a tree of generators, where each node should be bound to the mapping when it was evaluated. But, actually that isn't a problem. If an intermediate node has to override a mapping dict, it can do on unwraphybrid() and yield "unwrapped" generator of byte strings: "{f(g(v))}" # literal template example. ^^^^ # g() want to override a mapping, so it returns a wrapped # object 'G{V}' with partial mapping 'lm' attached. ^^^^^^^ # f() stringifies 'G{V}', starting from a mapping 'm'. # when unwrapping 'G{}', it updates 'm' with 'lm', and # passes it to 'V'. This structure is important for the formatter (and the hgweb) to build a static template keyword, which can't access a mapping dict until evaluation phase.

File last commit:

r32080:fcddcf44 stable
r37290:7d3bc1d4 default
Show More
linux-wheel-centos5-blacklist
3 lines | 59 B | text/plain | TextLexer
/ contrib / linux-wheel-centos5-blacklist
test-convert-git.t
test-subrepo-git.t
test-patchbomb-tls.t