From 270285733442a46cd157ade4600e4073e255a563 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Mon, 23 Jan 2017 18:15:35 +0000 Subject: 40403/0002: vcs_info set-patch-format helper: Part #2. Not all callers reset ${hook_com}, but those that don't, immediately overwrite it a few lines later. --- Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 8 ++------ Functions/VCS_Info/Backends/VCS_INFO_get_data_hg | 11 ++--------- Functions/VCS_Info/VCS_INFO_quilt | 8 ++------ Functions/VCS_Info/VCS_INFO_set-patch-format | 10 ++++++++++ 4 files changed, 16 insertions(+), 21 deletions(-) (limited to 'Functions') diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git index 9e0749cf5..974f393cf 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git @@ -125,12 +125,8 @@ VCS_INFO_git_handle_patches () { git_patches_unapplied=(${(Oa)git_patches_unapplied}) (( git_all = ${#git_patches_applied} + ${#git_patches_unapplied} )) - VCS_INFO_set-patch-format 'git_patches_applied' 'git_applied_s' - if VCS_INFO_hook 'gen-unapplied-string' "${git_patches_unapplied[@]}"; then - git_unapplied_s=${#git_patches_unapplied} - else - git_unapplied_s=${hook_com[unapplied-string]} - fi + VCS_INFO_set-patch-format 'git_patches_applied' 'git_applied_s' \ + 'git_patches_unapplied' 'git_unapplied_s' if (( ${#git_patches_applied} )); then zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" patch-format gitmsg || gitmsg="%p (%n applied)" diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg index 19bec7af1..90164fb52 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg @@ -203,15 +203,8 @@ if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \ done < ${mqseriesfile} fi - VCS_INFO_set-patch-format 'mqpatches' 'applied_string' - if VCS_INFO_hook 'gen-unapplied-string' "${mqunapplied[@]}"; then - unapplied_string=${#mqunapplied} - else - unapplied_string=${hook_com[unapplied-string]} - fi - - hook_com=() - + VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \ + 'mqunapplied' 'unapplied_string' if VCS_INFO_hook 'gen-mqguards-string' "${mqguards[@]}"; then guards_string=${(j:,:)mqguards} else diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt index dd3f4959b..1872fc7fa 100644 --- a/Functions/VCS_Info/VCS_INFO_quilt +++ b/Functions/VCS_Info/VCS_INFO_quilt @@ -173,12 +173,8 @@ function VCS_INFO_quilt() { all=( ${(Oa)applied} ${unapplied} ) - VCS_INFO_set-patch-format 'applied' 'applied_string' - if VCS_INFO_hook 'gen-unapplied-string' "${unapplied[@]}"; then - unapplied_string="${#unapplied}" - else - unapplied_string=${hook_com[unapplied-string]} - fi + VCS_INFO_set-patch-format 'applied' 'applied_string' \ + 'unapplied' 'unapplied_string' if (( ${#applied} )); then zstyle -s "${context}" patch-format qstring || qstring="%p (%n applied)" diff --git a/Functions/VCS_Info/VCS_INFO_set-patch-format b/Functions/VCS_Info/VCS_INFO_set-patch-format index 310df9625..0bbd4742b 100644 --- a/Functions/VCS_Info/VCS_INFO_set-patch-format +++ b/Functions/VCS_Info/VCS_INFO_set-patch-format @@ -4,6 +4,8 @@ # Parameters: # $1 - name of an array parameter to be the argument to gen-applied-string # $2 - name of a parameter to store the applied-string in +# $3 - name of an array parameter to be the argument to gen-unapplied-string +# $4 - name of a parameter to store the unapplied-string in { local REPLY if VCS_INFO_hook 'gen-applied-string' "${(@P)1}"; then @@ -17,4 +19,12 @@ fi : ${(P)2::=$REPLY} hook_com=() + + if VCS_INFO_hook 'gen-unapplied-string' "${(@P)3}"; then + REPLY=${(P)#3} + else + REPLY=${hook_com[unapplied-string]} + fi + : ${(P)4::=$REPLY} + hook_com=() } -- cgit 1.4.1