From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21746 invoked by alias); 24 Nov 2016 01:02:09 -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: 40008 Received: (qmail 13755 invoked from network); 24 Nov 2016 01:02:09 -0000 X-Qmail-Scanner-Diagnostics: from mail-qk0-f178.google.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(209.85.220.178):SA:0(-0.0/5.0):. Processed in 1.324106 secs); 24 Nov 2016 01:02:09 -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.0 required=5.0 tests=RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.220.178 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=EvhTUpHH8MvHTMjc34aLij7EmY4k4Yei7xhrvuoAaXc=; b=RxzHV4S8A+Wg6jk77Ir6urXbtJ0lVbrFsd1x0H7xRftCwz9h0B3b4UYadTl+mX3QPZ G+MCYzQLbRGEXSRoRf8iFamqG8x1U9Ev0k2QeWk5SDGpeMEznNXNAbqXFccU2xXj2a/c 3cfdiS/R3mu8VxF2JmWsf6afyIDkWWOCc+GAWUIR4Ao5wjtYkkNxa8DW9/xk4DmbkHg3 TFSmwoV7qbq5JwyJcFn02kJoYWqJQfOrIafWil47FBQWnoZyX4ZvzTFiJ+eoP3vwIDf6 XNqnGBz8IJSRS6nAkaPtCztvDVeelc5adYjcEbqf6uGjHdJVz7QjZvzHNgbpoiZOcE03 Hn7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=EvhTUpHH8MvHTMjc34aLij7EmY4k4Yei7xhrvuoAaXc=; b=Byi/KuV8KJyJRor4UoIeHOUXi/IDHPJtWOjKM2AyOJCH/lNqEdc0PcimVLunUPo8Z1 XHobN7YdeucHVVy8sfYcVgfgQQAfJ0hg2IFLYCwFYj4+2kX/wWT+3bAM8w1gFlQEu06H 8o4zksfA8/XwafUHE/t9jyohmyKJbaI0jIKMmvUwTQUB0ou5uE6CN6ttuLVXYA6hzyti JTlNdbDGWcz3GXLrETXDnRhnNxpHcn3ZnikZtOSpiuDkkD6wUp/O0FNl0HmHufcekA0v XM+umS3pgpj5aEdc42O1E9aV3kLTbcPuSnHJVtyjsEXm1yT4O3jkx0vpIl6i55HovVuh VHrA== X-Gm-Message-State: AKaTC02eHLkKtOog0MHJHCcCuyit+Xv2lTk5wh7MnBdfa0G7e5hdAMLGzEH7RYImerXNughMNJ64vOZvb0yDtQ== X-Received: by 10.55.122.197 with SMTP id v188mr5062502qkc.120.1479948914312; Wed, 23 Nov 2016 16:55:14 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <1478635899.1897979.781551353.05792438@webmail.messagingengine.com> <20161109114207.6b929440@pwslap01u.europe.root.pri> <161109080328.ZM6075@torch.brasslantern.com> <20161115195721.43648236@ntlworld.com> <77EB3614-F9E2-4BEB-B93C-99DFD34A504F@kba.biglobe.ne.jp> <161116105013.ZM32526@torch.brasslantern.com> From: Bart Schaefer Date: Wed, 23 Nov 2016 16:55:13 -0800 Message-ID: Subject: Re: [PATCH] Optimization of getarrvalue() To: "Jun T." Cc: "zsh-workers@zsh.org" Content-Type: text/plain; charset=UTF-8 On Mon, Nov 21, 2016 at 4:30 AM, Jun T. wrote: > > Maybe, but I still don't understand, for example, the following: > > % a=() > % nargs "${(@)a[0]}" > 1 > % a=( foo ) > % nargs "${(@)a[0]}" > 0 OK, I agree that one is strange. However: > % a=( foo bar ) > % nargs "${(@)a[3]}" > 1 > % nargs "${(@)a[3,3]}" # or "${(@)a[3,4]}" "${(@)a[3,5]}" ... > 0 Two subscripts separated by a comma mean something different than one subscript. a[3] is a scalar, so adding (@) doesn't matter; a scalar in double quotes is the empty string. a[3,3] is an array, and an array with the (@) flag in double quotes resolves to nothing if the array is empty. The only magic here is the already-magic semantics of double-quoting "${a[@]}". > More generally, $a[i,j] with i=$#a+1 is treated specially. ?? It's not treated any differently than i=$#a+N for any N >=0, is it?