From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12380 invoked by alias); 7 Feb 2017 04:33:41 -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: 40508 Received: (qmail 14223 invoked from network); 7 Feb 2017 04:33:41 -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 0.806765 secs); 07 Feb 2017 04:33:41 -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=fLCTOOf6otGLHKja1JBgIJxw5sI=; b=llViZU t/Dqo2EcJnYRWD9+ya/g+pwJnRKMF3oBnp/tvF9xLFD3A8EuVh0LcXpbx78f8kR6 GUodsdD0/+ciEZiPs1YIn7dL83zBfTETxlKkcZShOJJ+B5Wk+92GDdHloK5hU9E1 s9AIxlD77CmXY7+wjgzccwY1+uV8rd1IC/t30= 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=fLCTOOf6otGLHKja1JBgIJxw5sI=; b=k2Hg9 fI05F6ai67epdOmWd+ZT00+wtF/72gjKn8t87O5MHW/2/L2HQpSZRg/r0mkSyFJW +ltsQ9b6rUZYMwSBeSOnmFJu+GayURblNsJ/rAx5gEjkmofkqybQe8fA9rr9TUuO CsCD/HRdTVn0l6sPF0WwRyV23/R3+tgrf0frRQ= X-ME-Sender: X-Sasl-enc: Qt6inx5FAxm1AtRBQ1WL3RfZse92TZ+xaE2w8g4vue0r 1486442013 From: Daniel Shahaf To: zsh-workers@zsh.org Subject: [PATCH] Make $functions re-settable. Date: Tue, 7 Feb 2017 04:28:50 +0000 Message-Id: <1486441730-20788-1-git-send-email-danielsh@fujitsu.shahaf.local2> X-Mailer: git-send-email 2.1.4 In-Reply-To: <20170206190308.GA16316@breadbox.private.spodhuis.org> References: <20170206190308.GA16316@breadbox.private.spodhuis.org> --- Unlike the standard hash setter, setfunctions() wasn't checking that ht != pm->u.hash. Rather than reimplement that, I chose (perhaps overzealously) to delegate to the standard setter. Cheers, Daniel Src/Modules/parameter.c | 4 ++-- Test/V06parameter.ztst | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c index 6e62287..c251e4f 100644 --- a/Src/Modules/parameter.c +++ b/Src/Modules/parameter.c @@ -330,7 +330,7 @@ unsetpmfunction(Param pm, UNUSED(int exp)) /**/ static void -setfunctions(UNUSED(Param pm), HashTable ht, int dis) +setfunctions(Param pm, HashTable ht, int dis) { int i; HashNode hn; @@ -349,7 +349,7 @@ setfunctions(UNUSED(Param pm), HashTable ht, int dis) setfunction(hn->nam, ztrdup(getstrvalue(&v)), dis); } - deleteparamtable(ht); + hashsetfn(pm, ht); } /**/ diff --git a/Test/V06parameter.ztst b/Test/V06parameter.ztst index 10e0a27..27d5878 100644 --- a/Test/V06parameter.ztst +++ b/Test/V06parameter.ztst @@ -86,6 +86,12 @@ >I have been autoloaded >$mydir/myfunc + functions+=(a 'echo foo'); a + functions+=(a 'echo bar'); a +0:$functions can be appended to twice +>foo +>bar + %clean rm -f autofn functrace.zsh rocky3.zsh sourcedfile myfunc