From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24836 invoked by alias); 16 May 2018 10:15:21 -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: List-Unsubscribe: X-Seq: 42785 Received: (qmail 3019 invoked by uid 1010); 16 May 2018 10:15:21 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.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(210.118.77.12):SA:0(-6.9/5.0):. Processed in 2.416498 secs); 16 May 2018 10:15:21 -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=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS,SPF_PASS,T_DKIMWL_WL_HIGH,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20180516101513euoutp0258f83b8651b181a42d634963afd15a3d~vGHqBBu6g0290102901euoutp02k DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1526465713; bh=Nrb80t/+bjg7CXJgUXOSpuEKnPCZDeOIUmino2sdoC4=; h=Date:From:To:Subject:In-Reply-To:References:From; b=tehEZZqlBIuEAumEFQOdPilW4HQy3HXH/weubNjHt0bmlwA5FnZA+4sGYHF5SCnY2 tZRocz+AfHoIhoi41QVXAI+D7gLb0YH2heTq18RkUgvFFwCVXHsUa8H1HWcR+r4Pi8 MuivdE/AuFW4nVBMi8z2mJEcOnpV4i3pNjSdcO9Q= X-AuditID: cbfec7f4-6f9ff700000043e4-34-5afc04af6527 Date: Wed, 16 May 2018 11:15:08 +0100 From: Peter Stephenson To: Zsh workers Subject: Re: PATCH: functions completion missed -s and -x Message-ID: <20180516111508.2c8061b3@camnpupstephen.cam.scsc.local> In-Reply-To: <20685.1526464539@thecus> Organization: SCSC X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsWy7djPc7rrWf5EGfxbpmpxsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4MjasOMJe8I6r4vXPZewNjPM4uhg5OSQETCR+77jO3sXIxSEk sIJR4tuJF0wQTh+TxIMpqxghnF4miTfrPrB0MXKAtfyaUQ0RX84oMeXnDTa4oj+Pn7BCOGcY JY5/fwHlXGCUeLZrERvIRhYBVYlv6+6C2WwChhJTN81mBLFFgOJzTpxiBbGFBSwlThzewAiy jlfAWeLRc7Awp4CaRMvmP6wgYX4BIYkLzbYQP9hLHN1zkgnE5hUQlDg58wkLiM0sIC+x/e0c ZpATJAQ+s0nMeNjPBNHgIjHz2mN2CFtY4tXxLVC2jMT/nfOZIBqaGSXW3r/PBpHoYZSYtTgU wraW6Lt9Eew2ZgFNifW79CHCthLndt1mhIQQn8SNt4IQN/BJTNo2nRkizCvR0SYEUa0msaNp K+MERpVZSK6eheTqWQjzFzAyr2IUTy0tzk1PLTbKSy3XK07MLS7NS9dLzs/dxAhMBKf/Hf+y g3HXn6RDjAIcjEo8vCc2/44SYk0sK67MPcQowcGsJMKbyQsU4k1JrKxKLcqPLyrNSS0+xCjN waIkzhunURclJJCeWJKanZpakFoEk2Xi4JRqYFztuZEhI9zoJcNLxZWvshM3FhSc07yRX/Kr fb1fmsLe35+uvEtzlSqX6Nlpazzt47s3N54vVGC6ySg2bY62tqlOxv5PjfzJwjPn/futv7Ir zG6zqOXXwm4Hlhmr6nfyqT3IVOZaI/ThVBPTtgPX3lTPWPA95sTPz/8qvyht7TmX9+Hittnr yn4psRRnJBpqMRcVJwIAXnzCoAADAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupikeLIzCtJLcpLzFFi42I5/e/4Xd11LH+iDHp3SFscbH7I5MDoserg B6YAxig9m6L80pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9 jA0rjrAXvOOqeP1zGXsD4zyOLkYODgkBE4lfM6q7GLk4hASWMkpsX3OZqYuREyguI/Hpykd2 CFtY4s+1LjaIom4micMX7zNCOGcYJZ7sOMcC4VxglDj9YQ1YC4uAqsS3dXfZQGw2AUOJqZtm M4LYIkDxOSdOsYLYwgKWEicOb2AEOYNXwFni0XOwMKeAmkTL5j+sIGEhgUqJQ6ecQUx+ASGJ C822EPfYSxzdcxLsTl4BQYmTM5+wgNjMAjoSJ1YdY4aw5SW2v53DPIFReBaSsllIymYhKVvA yLyKUSS1tDg3PbfYSK84Mbe4NC9dLzk/dxMjMB62Hfu5ZQdj17vgQ4wCHIxKPLwnNv+OEmJN LCuuzD3EKMHBrCTCm8kLFOJNSaysSi3Kjy8qzUktPsRoCgyJicxSosn5wFjNK4k3NDU0t7A0 NDc2NzazUBLnPW9QGSUkkJ5YkpqdmlqQWgTTx8TBKdXAaL5Mjn3b4RsuHRqRXk5uRpMa1O7t Uc12znL616A5p8Bcuvi34ALFhC+R24LXHsysmHo05uwK07MWayfqMVzx4lvPJqcmPEFU5NBl xr0sTB9ZPN5GfnF7HftYL21B913tJ32vW4u/iK0Me/L0rNe5rnCXeQ9S5SY65ifXvFjxrTmP MeQz1ylPJZbijERDLeai4kQAwYCngp0CAAA= X-CMS-MailID: 20180516101510eucas1p2239056d16410bf554ab42c77742ce560 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-MTR: 20180516101510eucas1p2239056d16410bf554ab42c77742ce560 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180516095641epcas4p240d76877aedbddfc42d29ce1b3945ee5 X-RootMTR: 20180516095641epcas4p240d76877aedbddfc42d29ce1b3945ee5 References: <20685.1526464539@thecus> On Wed, 16 May 2018 11:55:39 +0200 Oliver Kiddle wrote: > On the subject of math functions, is it not inconsistent with > everything else that redefining a math function results in a > "function already exists" error rather than being silent. If I > re-source my .zshrc, it is silent apart from these errors. Yes, and this unusual interface doesn't appear to be documented, either. pws diff --git a/Src/builtin.c b/Src/builtin.c index 931605c..1cba97d 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -3199,7 +3199,7 @@ bin_functions(char *name, char **argv, Options ops, int func) pflags |= PRINT_NAMEONLY; if (OPT_MINUS(ops,'M') || OPT_PLUS(ops,'M')) { - MathFunc p, q; + MathFunc p, q, prev; /* * Add/remove/list function as mathematical. */ @@ -3331,15 +3331,10 @@ bin_functions(char *name, char **argv, Options ops, int func) p->maxargs = maxargs; queue_signals(); - for (q = mathfuncs; q; q = q->next) { + for (q = mathfuncs, prev = NULL; q; prev = q, q = q->next) { if (!strcmp(q->name, funcname)) { - unqueue_signals(); - zwarnnam(name, "-M %s: function already exists", - funcname); - zsfree(p->name); - zsfree(p->module); - zfree(p, sizeof(struct mathfunc)); - return 1; + removemathfunc(prev, q); + break; } }