From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29306 invoked from network); 3 Jun 2020 12:05:27 -0000 Received: from ns1.primenet.com.au (HELO primenet.com.au) (203.24.36.2) by inbox.vuxu.org with ESMTPUTF8; 3 Jun 2020 12:05:27 -0000 Received: (qmail 1018 invoked by alias); 3 Jun 2020 12:05:18 -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: 45953 Received: (qmail 5769 invoked by uid 1010); 3 Jun 2020 12:05:18 -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.102.3/25828. spamassassin: 3.4.4. Clear:RC:0(210.118.77.11):SA:0(-7.0/5.0):. Processed in 2.788919 secs); 03 Jun 2020 12:05:18 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: |clobber_empty.dif| X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.samsung.com designates 210.118.77.11 as permitted sender) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200603120436euoutp011275bba62315359ee0ad8b70281ca2f2~VBx-IZuz91655616556euoutp01X X-AuditID: cbfec7f2-ef1ff7000001ef66-30-5ed791d45aed From: Peter Stephenson To: Martin Tournoij , "zsh-workers@zsh.org" Subject: RE: Any way to allow clobbering empty files when noclobber is set? Thread-Topic: Any way to allow clobbering empty files when noclobber is set? Thread-Index: AQHWOUwLvpvGTtcb20Of+UjScgNuIajGyg3g Date: Wed, 3 Jun 2020 12:04:34 +0000 Message-ID: <94e73ebcf39d4d3f9c7ae257b1d75d16@CAMSVWEXC01.scsc.local> In-Reply-To: <89aed74d-db7b-47ad-b218-8158838049e9@www.fastmail.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [106.1.218.77] Content-Type: multipart/mixed; boundary="_002_94e73ebcf39d4d3f9c7ae257b1d75d16CAMSVWEXC01scsclocal_" MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrPKsWRmVeSWpSXmKPExsWy7djP87pXJl6PM7j6js/i5rKvjBYHmx8y OTB5nHp/h8Vj1cEPTAFMUVw2Kak5mWWpRfp2CVwZfZtmsxRs06n4+GkTWwPjUa0uRk4OCQET ifUXN7B1MXJxCAmsYJTYvuI7O4TzhVGidddZVgjnM6PEsc4LjDAtew8uhWpZzijRcvorC1zV xomHoDKnGSU2NIGUcUJM3vZXB8RmEzCUmLppNtgoEYEwiVurljOD2MIC3hJH+t+xQsR9JOZ/ 7meDsI0kdqx/ChZnEVCR2HC2F+hADg5eAVeJza9DQMKcAi4S959fBhvJKCAr8aVxNdhIZgFx iVtP5jNBXC0i8fDiaTYIW0zi366HULaBxNal+1ggbAWJhwfaWUHGMwukSTQcTQMJ8woISpyc +QTsRwmBmRwSLz90s0LUu0j8Wn8Rao6wxKvjW9ghbBmJ05N7oBraGSXWTHrNDuH0MEpsOnoH Go7WEn23LzJOYNSYheTYWQjLZyFZDlGiLbFs4WtmiBJNifW79CHCDhJ/HkxmhbDVJNbNm8U+ C2gbs8AGRolF81+wQyQUJaZ0P2RfwMi5ilE8tbQ4Nz212DAvtVyvODG3uDQvXS85P3cTIzBp nf53/NMOxq+Xkg4xCnAwKvHwMtRdjxNiTSwrrsw9xKgCNOnRhtUXGKVY8vLzUpVEeJ3Ono4T 4k1JrKxKLcqPLyrNSS0+xCjNwaIkzmu86GWskEB6YklqdmpqQWoRTJaJg1OqgbHrl8jVyqw9 i3hSdZa7HvlklnBGuWNaifiBqyyCE/tKF0w6r/3IKm/xJn3v/JP3399ZmPpo/zmvXU+9NCV1 +J35X6hfbfmicbvS7s+v1Z8ii7PeiojODXp8aprBKtl8t/hL8qe1Z3/zLDLJ+15X2qP3MFmv bGeBTfzZg7kdb8NcDlocXSazV1WJpTgj0VCLuag4EQAOiHBcYgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrKKsWRmVeSWpSXmKPExsVy+t/xu7qXJ16PM/iyzNji5rKvjBYHmx8y OTB5nHp/h8Vj1cEPTAFMUXo2RfmlJakKGfnFJbZK0YYWRnqGlhZ6RiaWeobG5rFWRqZK+nY2 Kak5mWWpRfp2CXoZ29dqF2zXqbiw9TdzA+MxrS5GTg4JAROJvQeXsnUxcnEICSxllNi0fgsT REJG4tOVj+wQtrDEn2tdUEUfGSUW/rvIDuGcZpTY3XkWrEpIYAWjxMt1QiA2m4ChxNRNsxlB bBGBMIlbq5Yzg9jCAt4SR/rfsULEfSTmf+5ng7CNJHasfwoWZxFQkdhwthdoJgcHr4CrxObX IRC7pjNKtC9rBqvnFHCRuP/8Mth8RgFZiS+Nq8HmMwuIS9x6Mh/qAxGJhxdPs0HYohIvH/9j hbANJLYu3ccCYStIPDzQzgqyi1kgTaLhaBpImFdAUOLkzCcsExglZiGZOguhahaSKogSHYkF uz+xQdjaEssWvmaGsB0k/jyYzAphq0msmzeLfRbQN8wC6xgljnRfZIJIKEpM6X7IvoCRcxWj SGppcW56brGhXnFibnFpXrpecn7uJkZgsth27OfmHYyXNgYfYhTgYFTi4WWoux4nxJpYVlyZ e4hRBWjMow2rLzBKseTl56UqifA6nT0dJ8SbklhZlVqUH19UmpNafIjRFBi+E5mlRJPzgQku ryTe0NTQ3MLS0NzY3NjMQkmct0PgYIyQQHpiSWp2ampBahFMHxMHp1QDY4z25sqr0SL/pz2Q zFw3/8DWY/zPS1ctUHTbuYZzsuoDufX7/utuqGqxSa79UhG/pdowllHtjE2L1oRLi+O29/hq zShnebFBUnPnImXuo/ybux5tmaj0Z9ua/U/dzjd/8DBlefxe02SGnc8/08L29fPbn07bKCDy 0KZVec/k+83e0yfO2yxYuUWJpTgj0VCLuag4EQCI2ug7OAMAAA== X-CMS-MailID: 20200603120435eucas1p2cec1e1871eacedea3c334a363a222379 X-Msg-Generator: CA X-RootMTR: 20200603020919eucas1p13e26ebcbb335784d14bfb97b137f385a X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200603020919eucas1p13e26ebcbb335784d14bfb97b137f385a References: <89aed74d-db7b-47ad-b218-8158838049e9@www.fastmail.com> --_002_94e73ebcf39d4d3f9c7ae257b1d75d16CAMSVWEXC01scsclocal_ Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Martin Tournoij wrote: > I switched from tcsh to zsh a while ago (many years too late, I know), > and found zsh can do pretty much everything better. There's one thing > I rather miss though: the 'notempty' option in 'noclobber'. This isn't actually hard to implement. What does everyone else think? pws --_002_94e73ebcf39d4d3f9c7ae257b1d75d16CAMSVWEXC01scsclocal_ Content-Type: application/vnd.ms-excel; name="clobber_empty.dif" Content-Description: clobber_empty.dif Content-Disposition: attachment; filename="clobber_empty.dif"; size="3482"; creation-date="Wed, 03 Jun 2020 12:00:18 GMT"; modification-date="Wed, 03 Jun 2020 11:56:56 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL0RvYy9ac2gvb3B0aW9ucy55byBiL0RvYy9ac2gvb3B0aW9ucy55bwppbmRl eCAyYjc2MzdmZjQuLmE0MmRhYTU2ZiAxMDA2NDQKLS0tIGEvRG9jL1pzaC9vcHRpb25zLnlvCisr KyBiL0RvYy9ac2gvb3B0aW9ucy55bwpAQCAtMTE2OCw2ICsxMTY4LDE5IEBAIElmIHRoZSBvcHRp b24gaXMgbm90IHNldCwgYW5kIHRoZSBvcHRpb24gdHQoQVBQRU5EX0NSRUFURSkgaXMgYWxzbwog bm90IHNldCwgYHR0KD4+ISknIG9yIGB0dCg+PnwpJyBtdXN0IGJlIHVzZWQgdG8gY3JlYXRlIGEg ZmlsZS4KIElmIGVpdGhlciBvcHRpb24gaXMgc2V0LCBgdHQoPj4pJyBtYXkgYmUgdXNlZC4KICkK K3BpbmRleChDTE9CQkVSX0VNUFRZKQorcGluZGV4KE5PX0NMT0JCRVJfRU1QVFkpCitwaW5kZXgo Q0xPQkJFUkVNUFRZKQorcGluZGV4KE5PQ0xPQkJFUkVNUFRZKQorY2luZGV4KGNsb2JiZXJpbmcs IG9mIGVtcHR5IGZpbGVzKQorY2luZGV4KGZpbGUgY2xvYmJlcmluZywgb2YgZW1wdHkgZmlsZXMp CitpdGVtKHR0KENMT0JCRVJfRU1QVFkpKSgKK1RoaXMgb3B0aW9uIGlzIG9ubHkgdXNlZCBpZiB0 aGUgb3B0aW9uIHR0KENMT0JCRVIpIGlzIG5vdCBzZXQ6IG5vdGUgdGhhdAoraXQgaXMgc2V0IGJ5 IGRlZmF1bHQuCisKK0lmIHRoaXMgb3B0aW9uIGlzIHNldCwgdGhlbiByZWd1bGFyIGZpbGVzIG9m IHplcm8gbGVuZ3RoIG1heSBiZQorb3Zld3JpdHRlbiAoYGNsb2JiZXJlZCcpLgorKQogcGluZGV4 KENPUlJFQ1QpCiBwaW5kZXgoTk9fQ09SUkVDVCkKIHBpbmRleChOT0NPUlJFQ1QpCmRpZmYgLS1n aXQgYS9TcmMvZXhlYy5jIGIvU3JjL2V4ZWMuYwppbmRleCAyOWY0ZmM1Y2EuLjA0YzJkNzlhOCAx MDA2NDQKLS0tIGEvU3JjL2V4ZWMuYworKysgYi9TcmMvZXhlYy5jCkBAIC0yMTQzLDE0ICsyMTQz LDE1IEBAIGNsb2JiZXJfb3BlbihzdHJ1Y3QgcmVkaXIgKmYpCiB7CiAgICAgc3RydWN0IHN0YXQg YnVmOwogICAgIGludCBmZCwgb2Vycm5vOworICAgIGNoYXIgKnVmbmFtZSA9IHVubWV0YShmLT5u YW1lKTsKIAogICAgIC8qIElmIGNsb2JiZXJpbmcsIGp1c3Qgb3Blbi4gKi8KICAgICBpZiAoaXNz ZXQoQ0xPQkJFUikgfHwgSVNfQ0xPQkJFUl9SRURJUihmLT50eXBlKSkKLQlyZXR1cm4gb3Blbih1 bm1ldGEoZi0+bmFtZSksCisJcmV0dXJuIG9wZW4odWZuYW1lLAogCQlPX1dST05MWSB8IE9fQ1JF QVQgfCBPX1RSVU5DIHwgT19OT0NUVFksIDA2NjYpOwogCiAgICAgLyogSWYgbm90IGNsb2JiZXJp bmcsIGF0dGVtcHQgdG8gY3JlYXRlIGZpbGUgZXhjbHVzaXZlbHkuICovCi0gICAgaWYgKChmZCA9 IG9wZW4odW5tZXRhKGYtPm5hbWUpLAorICAgIGlmICgoZmQgPSBvcGVuKHVmbmFtZSwKIAkJICAg T19XUk9OTFkgfCBPX0NSRUFUIHwgT19FWENMIHwgT19OT0NUVFksIDA2NjYpKSA+PSAwKQogCXJl dHVybiBmZDsKIApAQCAtMjE1OCwxMSArMjE1OSwyMSBAQCBjbG9iYmVyX29wZW4oc3RydWN0IHJl ZGlyICpmKQogICAgICAqIFRyeSBvcGVuaW5nLCBhbmQgaWYgaXQncyBhIHJlZ3VsYXIgZmlsZSB0 aGVuIGNsb3NlIGl0IGFnYWluICAgICoKICAgICAgKiBiZWNhdXNlIHdlIHdlcmVuJ3Qgc3VwcG9z ZWQgdG8gb3BlbiBpdC4gICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgIG9lcnJubyA9IGVy cm5vOwotICAgIGlmICgoZmQgPSBvcGVuKHVubWV0YShmLT5uYW1lKSwgT19XUk9OTFkgfCBPX05P Q1RUWSkpICE9IC0xKSB7CisgICAgaWYgKChmZCA9IG9wZW4odWZuYW1lLCBPX1dST05MWSB8IE9f Tk9DVFRZKSkgIT0gLTEpIHsKIAlpZighZnN0YXQoZmQsICZidWYpICYmICFTX0lTUkVHKGJ1Zi5z dF9tb2RlKSkKIAkgICAgcmV0dXJuIGZkOwogCWNsb3NlKGZkKTsKICAgICB9CisKKyAgICBpZiAo aXNzZXQoQ0xPQkJFUkVNUFRZKSkgeworCXN0cnVjdCBzdGF0IHN0YXRidWY7CisJaWYgKHN0YXQo dWZuYW1lLCAmc3RhdGJ1ZikgPj0gMCAmJgorCSAgICBzdGF0YnVmLnN0X3NpemUgPT0gMCkgewor CSAgICAvKiBUaGlzIGlzIHplcm8tbGVuZ3RoLiBzbyBjbG9iZXJyYWJsZSAqLworCSAgICByZXR1 cm4gb3Blbih1Zm5hbWUsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMgfCBPX05PQ1RUWSwg MDY2Nik7CisJfQorICAgIH0KKwogICAgIGVycm5vID0gb2Vycm5vOwogICAgIHJldHVybiAtMTsK IH0KZGlmZiAtLWdpdCBhL1NyYy9vcHRpb25zLmMgYi9TcmMvb3B0aW9ucy5jCmluZGV4IDc1ODZk MjFkMi4uZmJhMDIxZTdkIDEwMDY0NAotLS0gYS9TcmMvb3B0aW9ucy5jCisrKyBiL1NyYy9vcHRp b25zLmMKQEAgLTExNCw2ICsxMTQsNyBAQCBzdGF0aWMgc3RydWN0IG9wdG5hbWUgb3B0bnNbXSA9 IHsKIHt7TlVMTCwgImNoZWNram9icyIsCSAgICAgIE9QVF9FTVVMQVRFfE9QVF9aU0h9LAkgQ0hF Q0tKT0JTfSwKIHt7TlVMTCwgImNoZWNrcnVubmluZ2pvYnMiLCAgIE9QVF9FTVVMQVRFfE9QVF9a U0h9LAkgQ0hFQ0tSVU5OSU5HSk9CU30sCiB7e05VTEwsICJjbG9iYmVyIiwJICAgICAgT1BUX0VN VUxBVEV8T1BUX0FMTH0sCSBDTE9CQkVSfSwKK3t7TlVMTCwgImNsb2JiZXJlbXB0eSIsCSAgICAg IDB9LAkJCSBDTE9CQkVSRU1QVFl9LAoge3tOVUxMLCAiY29tYmluaW5nY2hhcnMiLCAgICAgMH0s CQkJIENPTUJJTklOR0NIQVJTfSwKIHt7TlVMTCwgImNvbXBsZXRlYWxpYXNlcyIsICAgIDB9LAkJ CSBDT01QTEVURUFMSUFTRVN9LAoge3tOVUxMLCAiY29tcGxldGVpbndvcmQiLCAgICAgMH0sCQkJ IENPTVBMRVRFSU5XT1JEfSwKZGlmZiAtLWdpdCBhL1NyYy96c2guaCBiL1NyYy96c2guaAppbmRl eCAxZjJkNzc0YTEuLmVkMTIzZjJiOSAxMDA2NDQKLS0tIGEvU3JjL3pzaC5oCisrKyBiL1NyYy96 c2guaApAQCAtMjM3OCw2ICsyMzc4LDcgQEAgZW51bSB7CiAgICAgQ0hFQ0tKT0JTLAogICAgIENI RUNLUlVOTklOR0pPQlMsCiAgICAgQ0xPQkJFUiwKKyAgICBDTE9CQkVSRU1QVFksCiAgICAgQVBQ RU5EQ1JFQVRFLAogICAgIENPTUJJTklOR0NIQVJTLAogICAgIENPTVBMRVRFQUxJQVNFUywKZGlm ZiAtLWdpdCBhL1Rlc3QvQTA0cmVkaXJlY3QuenRzdCBiL1Rlc3QvQTA0cmVkaXJlY3QuenRzdApp bmRleCBkNjA1MTkwNjQuLmMxNWQ0MWE4NSAxMDA2NDQKLS0tIGEvVGVzdC9BMDRyZWRpcmVjdC56 dHN0CisrKyBiL1Rlc3QvQTA0cmVkaXJlY3QuenRzdApAQCAtNzA4LDMgKzcwOCwxNCBAQAogICBj YXQgPCYkdGVzdGZkCiAwOlJlZ3Jlc3Npb24gdGVzdCBmb3IgaGVyZSBkb2N1bWVudCB3aXRoIGZk IGRlY2xhcmF0b3IKID4gIFRoaXMgaXMsIGluIHNvbWUgc2Vuc2UsIGEgaGVyZSBkb2N1bWVudC4K KworICAoc2V0b3B0IG5vY2xvYmJlciBjbG9iYmVyZW1wdHkKKyAgcm0gLWYgZm9vCisgIHRvdWNo IGZvbworICBwcmludCBXb3JrcyA+Zm9vCisgIGNhdCBmb28KKyAgcHJpbnQgV29ya3Mgbm90ID5m b28KKyAgKQorMTpDTE9CQkVSX0VNUFRZCis+V29ya3MKKz8oZXZhbCk6NjogZmlsZSBleGlzdHM6 IGZvbwo= --_002_94e73ebcf39d4d3f9c7ae257b1d75d16CAMSVWEXC01scsclocal_--