From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17121 invoked by alias); 1 Feb 2017 19:09:49 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 40479 Received: (qmail 22776 invoked from network); 1 Feb 2017 19:09:49 -0000 X-Qmail-Scanner-Diagnostics: from out1-smtp.messagingengine.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(66.111.4.25):SA:0(-0.7/5.0):. Processed in 1.612513 secs); 01 Feb 2017 19:09:49 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: d.s@daniel.shahaf.name X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at daniel.shahaf.name does not designate permitted sender hosts) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= daniel.shahaf.name; h=date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=mesmtp; bh=WS/UhWmUv2bJj0AHQA0uw4Jphq4=; b=WuFENN cFCQJ9z5p0lrumUfnRiQZIG0UWOWtvcHiRo0M9vPxe76jIwxlXK0WYkMCnZffG5X jrWhN2LRKEuMXXyE9sqF35AM45Rhm+k/h+UjmW0JcNKHJVgwA6HiYvILu5O/C+Or M3m86BIXq1w60bQNe+35AxQ3OLl+QgvLrf1F8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=smtpout; bh=WS/UhWmUv2bJj0AHQA0uw4Jphq4=; b=D6QXX pSO1+ZoV7M77V0ExZw1qhHN/74TgPZtiHuKjk6geZHCGP7f1VbEjqnL9CTmQxbCu k/qaEMLoLuv9YDQ+Rhnpuxb6kRdtETaT9i9lnEn3nNLQSpi/lPoZblLk7rreVKcq 2lbX3ydRrapqchEtC/iCYMf4TQwOHD5OvWMfkw= X-ME-Sender: X-Sasl-enc: qf9C+JgeRRhnPmak3B6MMc5OsFvSJixx5ZXZGxr888rW 1485976183 From: Daniel Shahaf To: zsh-workers@zsh.org Subject: [PATCH 3/4] vcs_info set-patch-format: Prepare for more code sharing between the callers. Date: Wed, 1 Feb 2017 19:05:44 +0000 Message-Id: <1485975945-26420-3-git-send-email-danielsh@fujitsu.shahaf.local2> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1485975945-26420-1-git-send-email-danielsh@fujitsu.shahaf.local2> References: <1485975945-26420-1-git-send-email-danielsh@fujitsu.shahaf.local2> This changes hook invocation order in the hg backend. --- Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 3 ++- Functions/VCS_Info/Backends/VCS_INFO_get_data_hg | 9 +++++---- Functions/VCS_Info/VCS_INFO_quilt | 3 ++- Functions/VCS_Info/VCS_INFO_set-patch-format | 3 +++ 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git index 9a46c4e..84a91a7 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git @@ -126,7 +126,8 @@ VCS_INFO_git_handle_patches () { VCS_INFO_set-patch-format 'git_patches_applied' 'git_applied_s' \ 'git_patches_unapplied' 'git_unapplied_s' \ - ":vcs_info:${vcs}:${usercontext}:${rrn}" gitmsg + ":vcs_info:${vcs}:${usercontext}:${rrn}" gitmsg \ + '' if VCS_INFO_hook 'set-patch-format' "${gitmsg}"; then zformat -f gitmisc "${gitmsg}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \ diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg index 1b1ddcd..32ecb1c 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg @@ -200,17 +200,18 @@ if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \ done < ${mqseriesfile} fi - VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \ - 'mqunapplied' 'unapplied_string' \ - ":vcs_info:${vcs}:${usercontext}:${rrn}" hgmqstring if VCS_INFO_hook 'gen-mqguards-string' "${mqguards[@]}"; then guards_string=${(j:,:)mqguards} else guards_string=${hook_com[guards-string]} fi - hook_com+=( guards "${guards_string}" guards-n ${#mqguards} ) + local -A extra_hook_com=( guards "${guards_string}" guards-n ${#mqguards} ) + VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \ + 'mqunapplied' 'unapplied_string' \ + ":vcs_info:${vcs}:${usercontext}:${rrn}" hgmqstring \ + extra_hook_com if VCS_INFO_hook 'set-patch-format' ${hgmqstring}; then zformat -f hgmqstring "${hgmqstring}" \ "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \ diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt index d6b7c2f..1874c8b 100644 --- a/Functions/VCS_Info/VCS_INFO_quilt +++ b/Functions/VCS_Info/VCS_INFO_quilt @@ -173,7 +173,8 @@ function VCS_INFO_quilt() { VCS_INFO_set-patch-format 'applied' 'applied_string' \ 'unapplied' 'unapplied_string' \ - ${context} qstring + ${context} qstring \ + '' if VCS_INFO_hook 'set-patch-format' ${qstring}; then zformat -f qstring "${qstring}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \ "n:${#applied}" "c:${#unapplied}" "a:${hook_com[all-n]}" diff --git a/Functions/VCS_Info/VCS_INFO_set-patch-format b/Functions/VCS_Info/VCS_INFO_set-patch-format index c061704..5534e48 100644 --- a/Functions/VCS_Info/VCS_INFO_set-patch-format +++ b/Functions/VCS_Info/VCS_INFO_set-patch-format @@ -8,6 +8,8 @@ # $4 - name of a parameter to store the unapplied-string in # $5 - context argument for use in zstyle getters # $6 - name of a parameter to store a patch-format format string in +# $7 - name of an assoc parameter with extra $hook_com key-value pairs for the +# set-patch-format hook invocation, or '' for none # # Output: # - $hook_com is overwritten and the keys 'applied', 'applied-n', @@ -48,4 +50,5 @@ unapplied "${(P)4}" ) hook_com[all-n]=$(( ${hook_com[applied-n]} + ${hook_com[unapplied-n]} )) + hook_com+=( ${7:+"${(@kvP)7}"} ) }