From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12673 invoked by alias); 1 Mar 2017 12:01:45 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 22521 Received: (qmail 19168 invoked from network); 1 Mar 2017 12:01:45 -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(-5.0/5.0):. Processed in 1.156715 secs); 01 Mar 2017 12:01:45 -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=-5.0 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: cbfec7f4-f79716d000006f65-cb-58b6b8216645 Date: Wed, 01 Mar 2017 12:01:32 +0000 From: Peter Stephenson To: Zsh Users' List Subject: Re: [BUG] Condition in [[ doesn't fire, with "if" it fires Message-id: <20170301120132.79921498@pwslap01u.europe.root.pri> In-reply-to: <20170228115158.727f67ff@pwslap01u.europe.root.pri> 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+NgFnrFIsWRmVeSWpSXmKPExsWy7djP87qKO7ZFGDzex2mx4+RKRgdGj1UH PzAFMEZx2aSk5mSWpRbp2yVwZdw7fIC14CRnxYWXog2MK9m7GDk5JARMJB6fOMgGYYtJXLi3 HswWEljKKLH3mVoXIxeQ3c0kMflHC1zDzqkgNkhiGaPE9Ob5bBDOFCaJGfd+MkI4pxklXmzu g8qcYZRoaPrAAtLPIqAqsen+fbBZbAKGElM3zWYEsUUE1CVWXG9nArGFBZwlpp85DxTn4OAV sJd4NDkOJMwp4CBxc/oFsBJ+AX2Jq38/MUGcZC8x88oZsDG8AoISPybfA1vFLKAjsW3bY3YI W15i85q3zBD1/9kkju+UAhkvISArsekAVNhFYvbkD1AjhSVeHd8C9bGMxOXJ3SwQdj+jxJNu X5C3JARmMEqcPrMDGnbWEn23LzJC7OKTmLRtOjPEfF6JjjYhiBIPiYdNTxghbEeJjotL2SYw Ks5CcvUsJFfPQnL1AkbmVYwiqaXFuempxSZ6xYm5xaV56XrJ+bmbGIEp4PS/4192MC4+ZnWI UYCDUYmH90D31ggh1sSy4srcQ4wSHMxKIrwBLdsihHhTEiurUovy44tKc1KLDzFKc7AoifPu WXAlXEggPbEkNTs1tSC1CCbLxMEp1cC4POHTG6dXzd+Vbv48pyGdH1alO/c4s/ehjPoF3K7s 0XPu2+awxlyUntI7cfWBP/5mfDJT+O6bZO7l/3vy7pYXW/iYuG05HY+o2Wd0rwmbmiWzuTT8 45P7xd/2aAmYT3iTuqBYjT3uftfS3keFun1iWyS/f8jc9uguv13Nqc3RU97d5u84flFKiaU4 I9FQi7moOBEAoXMZAP0CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKIsWRmVeSWpSXmKPExsVy+t/xK7oaO7ZFGPTttbLYcXIlowOjx6qD H5gCGKPcbDJSE1NSixRS85LzUzLz0m2VQkPcdC2UFPISc1NtlSJ0fUOClBTKEnNKgTwjAzTg 4BzgHqykb5fglnHv8AHWgpOcFRdeijYwrmTvYuTkkBAwkdg5tQXKFpO4cG89WxcjF4eQwBJG iVcrTjJBONOYJL5cOM0C4ZxmlJjVsBnKOcMo8ePKG7B+FgFViU3374PZbAKGElM3zWYEsUUE 1CVWXG9nArGFBZwlpp85DxTn4OAVsJd4NDkOJMwp4CBxc/oFqG3zmSQOTLkH1ssvoC9x9e8n Joj77CVmXjkDFucVEJT4MfkeC4jNLKAlsXlbEyuELS+xec1bZhBbCGjvjbu72ScwCs9C0jIL ScssJC0LGJlXMYqklhbnpucWG+kVJ+YWl+al6yXn525iBEbRtmM/t+xg7HoXfIhRgINRiYc3 o3NrhBBrYllxZe4hRgkOZiUR3oCWbRFCvCmJlVWpRfnxRaU5qcWHGE2BATORWUo0OR8Y4Xkl 8YYmhuaWhkbGFhbmRkZK4rxTP1wJFxJITyxJzU5NLUgtgulj4uCUamCMOvx+kwxD2luxxftd CuNiih/VpW58+PWsU+fWfI/ZiqmRtV8fFIQlzpT4eaL4aXi2398p6ilR3nFHX074wmGyTdyd t0r+iPoitzf8F9hrOVY9bQu7K716nsybJVVaayuLDOUVl5VommoycS04sHf7G0nHyQ/2Wx5s bF8z0STb3sdl/j45s19KLMUZiYZazEXFiQDH8bCpuAIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170301120136eucas1p2a3c1e05e3e074651ec706d3141f22fcb 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: 20170228112804epcas2p2e241ff0013d6ac1cae21987a41442ce8 X-RootMTR: 20170228112804epcas2p2e241ff0013d6ac1cae21987a41442ce8 References: <1488280289.2878360.895324176.3971EE76@webmail.messagingengine.com> <1488281256.2881475.895357184.6106CE5C@webmail.messagingengine.com> <20170228115158.727f67ff@pwslap01u.europe.root.pri> On Tue, 28 Feb 2017 11:51:58 +0000 Peter Stephenson wrote: > On Tue, 28 Feb 2017 03:27:36 -0800 > Sebastian Gniazdowski wrote: > > Checked that even: > > > > [[ "below" = "below" ]] && (( line ++ )) || (( line = stborder )) > > > > doesn't fire. In the same way. It is the false option that is fired: > > && and || don't work the way they do in C, they are simply evaluated > left to right in a symmetric fashion. While that's true, I suppose I ought to point out, for anyone trying to learn something from this, that in this particular case the logic happens to work the same as C. zsh does { X && Y } || Z because of left to right evaluation, C does (X && Y) || Z beause of precedence. The oddity causing the problem was the (( ... )) return status non-zero, rather than the logical ordering, which is a rather different point. Where it's very different from C is X || Y && Z which is effectively { X || Y } && Z in zsh, because it's simply left to right, and X || (Y && Z) in C because of precedence. There's nothing to stop you writing X || { Y && Z } in zsh to group explicitly, however. Now back to normal service. pws