summaryrefslogtreecommitdiff
path: root/Functions/VCS_Info/Backends
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2020-08-08 07:29:34 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2020-08-09 08:07:01 +0000
commit5448e1611d2cc4cb436fedfc3e7ff0f1ebfc766b (patch)
tree62911241550cf4575faa4f72f23c8b520eebf22e /Functions/VCS_Info/Backends
parente2be2d061a2ea1c941a3316349d6aa81c48fc378 (diff)
downloadzsh-5448e1611d2cc4cb436fedfc3e7ff0f1ebfc766b.tar.gz
zsh-5448e1611d2cc4cb436fedfc3e7ff0f1ebfc766b.zip
47303: vcs_info hg: Fix changing the expansion of %g (hook_com[guards]) in the set-patch-format hook (regression from workers/40480).
To reproduce, go to a hg repository with active mq guards and configure vcs_info as follows: zstyle '*' get-unapplied true zstyle ':vcs_info:*set-patch-format*' hooks f zstyle '*' patch-format '[%g : %G]' zstyle '*' nopatch-format '[%g : %G]' zstyle '*' formats '%m' +vi-f () { hook_com[guards]+=XXX } The regression was first released in 5.3.1-test-2, over three years ago.
Diffstat (limited to 'Functions/VCS_Info/Backends')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_hg8
1 files changed, 6 insertions, 2 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
index 9f61aeaf4..f7e9d6f45 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
@@ -217,12 +217,16 @@ if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \
fi
local -A extra_hook_com=( guards "${guards_string}" guards-n ${#mqguards} )
- local -a extra_zformats=( "g:${extra_hook_com[guards]}" "G:${#mqguards}" )
+
+ (( ${+functions[VCS_INFO_hg_extra_zformats]} )) ||
+ VCS_INFO_hg_extra_zformats() {
+ reply=( "g:${hook_com[guards]}" "G:${#mqguards}" )
+ }
VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \
'mqunapplied' 'unapplied_string' \
":vcs_info:${vcs}:${usercontext}:${rrn}" hgmqstring \
- extra_hook_com extra_zformats
+ extra_hook_com VCS_INFO_hg_extra_zformats
hgmqstring=$REPLY
fi