From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7963 invoked by alias); 14 Nov 2016 09:46:26 -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: 39935 Received: (qmail 5652 invoked from network); 14 Nov 2016 09:46:26 -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.9/5.0):. Processed in 1.972269 secs); 14 Nov 2016 09:46:26 -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.9 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: cbfec7f2-f79556d000002c42-9d-582987e56755 Date: Mon, 14 Nov 2016 09:46:10 +0000 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: Remind me why ${name+word} is the way it is? Message-id: <20161114094610.5f132ad5@pwslap01u.europe.root.pri> In-reply-to: <161111203400.ZM31567@torch.brasslantern.com> 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+NgFnrJIsWRmVeSWpSXmKPExsWy7djPc7rP2jUjDE4/YbI42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGW07tjIX7GKrOPGhla2BcSprFyMHh4SAicTcJZZdjJxAppjE hXvr2UBsIYGljBLLDqR0MXIB2b1MErd/HmSHqf/9iR0ivoxR4sW8mywQzjQmicW7ljFBOGcY Jbathhl1llHi8w4BkG4WAVWJyV/BwmwChhJTN81mBLFFBMQlzq49zwJiCwtYStxp2gkW5xWw l3gxtRfM5hSwklix+R5YDb+AvsTVv5+YIK62l5h55QxUvaDEj8kQNcwCOhLbtj1mh7DlJTav ecsMcpuEQDO7xLl3N5kgvpGV2HSAGWKOi8S+N7+gZgpLvDq+hR3ClpHo7DgIFe9nlHjS7Qsx ZwajxOkzO9ggEtYSfbcvMkIs45OYtG06M8R8XomONiGIEg+JizfusEDYjhKX/1xincCoOAvJ 2bOQnD0LydkLGJlXMYqklhbnpqcWG+sVJ+YWl+al6yXn525iBCaA0/+Of9rB+PWE1SFGAQ5G JR7ejnyNCCHWxLLiytxDjBIczEoivIeaNCOEeFMSK6tSi/Lji0pzUosPMUpzsCiJ8+5ZcCVc SCA9sSQ1OzW1ILUIJsvEwSnVwJgQZJE+d/vDzA18Xz3ZhBlnxfEs62Ax+CFT//nv7AVzPENZ z6yTM/k3a5qCqvBLzvlrBY1tpT26Nl1wODShabrTNZvt7xc7HGELlHSXNZf+nHWwUFcmbf/j mMdb7Fs+yTKZRM03viU4SZUzov0Wo+mBHjOHpz15HyMDmuLmNsxd3qG65ItDiBJLcUaioRZz UXEiADTzHY38AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrCIsWRmVeSWpSXmKPExsVy+t/xK7ov2zUjDBb8UbE42PyQyYHRY9XB D0wBjFFuNhmpiSmpRQqpecn5KZl56bZKoSFuuhZKCnmJuam2ShG6viFBSgpliTmlQJ6RARpw cA5wD1bSt0twy2jbsZW5YBdbxYkPrWwNjFNZuxg5OCQETCR+f2LvYuQEMsUkLtxbz9bFyMUh JLCEUWLTxuVMEM4MJomTnZ+YQaqEBM4xSqzp0INInGWUuPz6LiPIJBYBVYnJX9lAatgEDCWm bprNCGKLCIhLnF17ngXEFhawlLjTtBMszitgL/Fiai+YzSlgJbFi8z0WiJn9jBLX//4Fa+AX 0Je4+vcTE8R59hIzr5yBahaU+DH5HlgNs4CWxOZtTawQtrzE5jVvoQ5Vl7hxdzf7BEbhWUha ZiFpmYWkZQEj8ypGkdTS4tz03GJDveLE3OLSvHS95PzcTYzAGNp27OfmHYyXNgYfYhTgYFTi 4e3I14gQYk0sK67MPcQowcGsJMJ7qEkzQog3JbGyKrUoP76oNCe1+BCjKTBgJjJLiSbnA+M7 ryTe0MTQ3NLQyNjCwtzISEmct+TDlXAhgfTEktTs1NSC1CKYPiYOTqkGxgQtgb+37sxc9WmK ureMjtOiGd9fLzXwupum/nDjVMVm15uvPNKld/z+Ifj5M+N7++Op4sfmPW6dM/3lzHLPp8u5 Diyvt7v/5svzgPKkUx051U/efb58vWt34caCmwnsM+Sych46ZM1dlrAh8rVWasDSE7w/Pee9 +B+9/vObgy4Vf8Lubby05dQNJZbijERDLeai4kQAFCJMkbcCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20161114094613eucas1p2c4b6ee8a2f69dbbf74894df6e39f3a9d X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 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: 20161112043435epcas1p1414be9386b843c435a1f1bc6cb242af1 X-RootMTR: 20161112043435epcas1p1414be9386b843c435a1f1bc6cb242af1 References: <161111203400.ZM31567@torch.brasslantern.com> On Fri, 11 Nov 2016 20:34:00 -0800 Bart Schaefer wrote: > Noodling with something else and ... > > torch% name='foo[bar]' > torch% echo ${name} > foo[bar] > torch% echo ${name+foo[bar]} > zsh: no matches found: foo[bar] > torch% print -l ${name+foo bar} > foo bar > > So the "word" in ${name+word} and variants is not subject to splitting, > but is subject to globbing, even though (w/o GLOB_SUBST SH_WORDSPLIT) > ${name} is not subject to either of those. It's obviously needed for the parameter operators with pattern matching that things don't get quoted. (Except when they already are double-quoted and need unquoting.) I don't know of a good reason why the operators that just substitute a value are like that. It may just be no special case was ever added. pws