##// 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:

r31126:1b065fa2 default
r37290:7d3bc1d4 default
Show More
mercurial.ini
98 lines | 2.4 KiB | text/x-ini | IniLexer
; System-wide Mercurial config file.
;
; !!! Do Not Edit This File !!!
;
; This file will be replaced by the installer on every upgrade.
; Editing this file can cause strange side effects on Vista.
;
; http://bitbucket.org/tortoisehg/stable/issue/135
;
; To change settings you see in this file, override (or enable) them in
; your user Mercurial.ini file, where USERNAME is your Windows user name:
;
; XP or older - C:\Documents and Settings\USERNAME\Mercurial.ini
; Vista or later - C:\Users\USERNAME\Mercurial.ini
[ui]
; editor used to enter commit logs, etc. Most text editors will work.
editor = notepad
; show changed files and be a bit more verbose if True
; verbose = True
; colorize commands output
; color = auto
; username data to appear in commits
; it usually takes the form: Joe User <joe.user@host.com>
; username = Joe User <j.user@example.com>
; In order to push/pull over ssh you must specify an ssh tool
;ssh = "C:\Progra~1\TortoiseSVN\bin\TortoisePlink.exe" -ssh -2
;ssh = C:\cygwin\bin\ssh
;
; For more information about mercurial extensions, start here
; https://www.mercurial-scm.org/wiki/UsingExtensions
;
; Extensions shipped with Mercurial
;
[extensions]
;acl =
;blackbox =
;bugzilla =
;children =
;churn =
;convert =
;eol =
;extdiff =
;fetch =
;gpg =
;hgk =
;highlight =
;histedit =
;interhg =
;largefiles =
;keyword =
;mq =
;notify =
;pager =
;patchbomb =
;progress =
;purge =
;rebase =
;record =
;relink =
;schemes =
;share =
;shelve =
;transplant =
;win32mbcs =
;zeroconf =
;
; Define external diff commands
;
[extdiff]
;cmd.bc3diff = C:\Program Files\Beyond Compare 3\BCompare.exe
;cmd.vdiff = C:\Progra~1\TortoiseSVN\bin\TortoiseMerge.exe
;cmd.vimdiff = gvim.exe
;opts.vimdiff = -f "+next" "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"
[hgk]
; Replace the following with your path to hgk, uncomment it and
; install ActiveTcl (or another win32 port like tclkit)
; path="C:\Program Files\Mercurial\Contrib\hgk.tcl"
; vdiff=vdiff
;
; The git extended diff format can represent binary files, file
; permission changes, and rename information that the normal patch format
; cannot describe. However it is also not compatible with tools which
; expect normal patches. so enable git patches at your own risk.
;
[diff]
;git = false
;nodates = false