From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26424 invoked by alias); 15 Nov 2016 12:38:43 -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: 39947 Received: (qmail 27915 invoked from network); 15 Nov 2016 12:38:43 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.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.11):SA:0(-7.8/5.0):. Processed in 1.845711 secs); 15 Nov 2016 12:38:43 -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=-7.8 required=5.0 tests=RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f1-f79f46d0000008eb-7c-582aff6f1f61 Date: Tue, 15 Nov 2016 12:28:27 +0000 From: Peter Stephenson To: "zsh-workers@zsh.org" Subject: Re: [PATCH] Optimization of getarrvalue() Message-id: <20161115122827.354880e2@pwslap01u.europe.root.pri> In-reply-to: Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsWy7djP87r5/7UiDH7dFLQ42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGWcWz2EtWMxR0buquoHxFFsXIweHhICJRNcp8S5GTiBTTOLC vfVAYS4OIYGljBLH7/xggXB6mSRWr7rAClFlIrFwyVlWiMQyRomN76cwQTjTmCQ62l4xg1QJ CZxhlOh/EgeROMsosXjKdlaQfSwCqhJzt1eA1LAJGEpM3TSbEcQWEdCXuPjnFpgtLGAkcfjs NrA5vAL2Ep8mTGQHsTkFXCXa925jArH5geqv/v3EBHGRvcTMK2cYIeoFJX5MvscCYjML6Ehs 2/aYHcKWl9i85i0zRP1/Noljk2Ug3peV2HQAKuwicWDHSagnhSVeHd/CDmHLSFye3M0CYfcz Sjzp9gV5S0JgBqPE6TM72CAS1hJ9ty8yQuzik5i0bTozxHxeYJgIQZR4SOydexYq7Cjx4J31 BEbFWUiOnoXk6FlIjl7AyLyKUSS1tDg3PbXYSK84Mbe4NC9dLzk/dxMjMP5P/zv+cQfj+xNW hxgFOBiVeHh3HNWMEGJNLCuuzD3EKMHBrCTCK/ddK0KINyWxsiq1KD++qDQntfgQozQHi5I4 754FV8KFBNITS1KzU1MLUotgskwcnFINjFMmc+t/D2p8ekZR0ejdwytu3RfaS5eolnH6/pS8 K7DuaB6Xc/qLhT9PTj4y2zDsipzyH+M6uY8RttFZC6bHfXq/dYHXxS47nqlTudX8pXo5pLlm 6jZ0Bb5PkDq5zaHSPE2vx4NdPokxSUXxt4/IstVe2x7179rN/G4Fl5jEt5MVf2OtA/eyKbEU ZyQaajEXFScCACWP4Uv7AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKIsWRmVeSWpSXmKPExsVy+t/xy7rB/7UiDH4d07Y42PyQyYHRY9XB D0wBjFFuNhmpiSmpRQqpecn5KZl56bZKoSFuuhZKCnmJuam2ShG6viFBSgpliTmlQJ6RARpw cA5wD1bSt0twyzizeA5rwWKOit5V1Q2Mp9i6GDk5JARMJBYuOcsKYYtJXLi3HijOxSEksIRR 4uzzZ+wQzgwmiYn/VrFAOOcYJXb/64LKnGWUmPLxMXMXIwcHi4CqxNztFSCj2AQMJaZums0I YosI6Etc/HMLzBYWMJI4fHYbM4jNK2Av8WnCRHYQm1PAVaJ97zYmiJlHmSTu9TWzgCT4gZqv /v3EBHGfvcTMK2cYIZoFJX5MvgdWwyygJbF5WxMrhC0vsXnNW7AFQgLqEjfu7mafwCg8C0nL LCQts5C0LGBkXsUoklpanJueW2ykV5yYW1yal66XnJ+7iREYRduO/dyyg7HrXfAhRgEORiUe 3h1HNSOEWBPLiitzDzFKcDArifDKfdeKEOJNSaysSi3Kjy8qzUktPsRoCgyYicxSosn5wAjP K4k3NDE0tzQ0MrawMDcyUhLnnfrhSriQQHpiSWp2ampBahFMHxMHp1QD4zreS1NtV+lqrvI4 ZB3E9H0Hx2t7y7MSoYx87qJMfyY9McuZ8mTlW+7UP9s6A94mn+P4u+dj7Lz/qTcnX7WrnmOT Y+7hsupL5Ql+Zo1HleGb69WYv364oMF2g6F2nkDk0jxDv2W748W7O4+8nqqle2U/f6Ci2DdN d3WZfW/8g+w/F0+Vu2EprcRSnJFoqMVcVJwIAE5McaO4AgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20161115122830eucas1p2a37abb3e8ab31e0e5ce8e186dad247dc X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20161108201233epcas1p1e2900e2d67af8b8558ebdb70eb7ad480 X-RootMTR: 20161108201233epcas1p1e2900e2d67af8b8558ebdb70eb7ad480 References: <1478635899.1897979.781551353.05792438@webmail.messagingengine.com> <20161109114207.6b929440@pwslap01u.europe.root.pri> <161109080328.ZM6075@torch.brasslantern.com> On Mon, 14 Nov 2016 21:32:19 +0900 Jun T. wrote: > The problem comes from the last line of _sequence: > > "${(@)argv[1,minus-1]}" .... "${(@)argv[minus+1,-1]}" > > In the case of 'ps -p ', argv=( _pids ) and minus=2. > We expect that, since it has a (@) flag, "${(@)argv[3,-1]}" is > entirely removed from the command line. This is indeed the case > before the commit: > > zsh% a=( foo ) > zsh% nargs () { print $#@ } > zsh% nargs "${a[3,-1]}" > 1 > zsh% nargs "${(@)a[3,-1]}" > 0 Here's a test for this. pws diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst index 97c8ba3..4cbd2fa 100644 --- a/Test/D04parameter.ztst +++ b/Test/D04parameter.ztst @@ -2041,3 +2041,11 @@ () { print -r -- "${(q)1}" "${(b)1}" "${(qq)1}" } '=foo' 0:(q) and (b) quoting deal with the EQUALS option >\=foo =foo '=foo' + + args() { print $#; } + a=(foo) + args "${a[3,-1]}" + args "${(@)a[3,-1]}" +0:Out-of-range multiple array subscripts with quoting, with and without (@) +>1 +>0