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=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 4658 invoked from network); 5 Feb 2021 05:53:47 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 5 Feb 2021 05:53:47 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1612504427; b=OXfaP7OD951jZpvwZAYGjHaRuJ3z2TeLk36WMOne3gAxHzRHwZLzUGNefC9+MnvCqTCxBLicxs AufFEQr710zUa7r6iKtN8uNLcEd7jkcYIYvV7upaHeTmw3EXh9ol5x7w0GC6qBrr3jzvi82V/w kJl805i4QFEj5NH/ygnKwacNn4oxVD6K2ujV4+YHianK8WQEnhI3BNxr2DPRK+IGEbRcRD5I/j sbRztvShEMg/Gw6yFl5siiI7XYS8Oar5rtV4QCae5sWcQdlJoUILYYRqJqPI7s4vWe52jKkVg1 KQA94Xrv5id0S4PTyJqwgIeUFFd518jgvELp+G/DiYSOqw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ot1-f47.google.com) smtp.remote-ip=209.85.210.47; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1612504427; bh=49mV+6/bj4kmcskneJ4LlEThqOz/oHIGMrJr35B5cAw=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=e/nENSwsdO/sYWxQylU7G7EszRjFXuuzFGGZGrTom1Af1FGTZBfNyzosfbkW02d1o+FaL7JGfV i5ncUB5W//MtDAogQw02bNBQD/DaBUTuV+vbYfAW1xv70ut72PkqPacrmn86vri/87JaSA6fCa 6xGZ5Tpd+pRv5xLAvzZofxjOszLy97ZVTTojfs7YZUuAQsfhwe37dkfRRCDVsPEgOn5sGBCoaD 7uIHRKLSlqFJ0RcEpLJu9kAmpcLxaKT1QV/6tvxP4BnjgGcFZs2pyZvlS8SF/lsx4J+doFW0ND aTQdq/gsJO20b+q2qSOz0EnDPbbnptqpWOTLXkqH7lncvA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=COEsvruHyxaaZRu98ZNbGisjksC1iy50Pm3lSc33Gvg=; b=sDPtXoS7IAB/M5shJEvveyfGID gczKGWuCFgl1QIZVI4HDrczERlziMF/v7B+Iry/KexffwDqftjQWAche7561vDFWlpQLb7MjziGFQ +1C/VhYQWpfjRRxOzxgP8DiDNCLy4KOLkOb6KXDTSxhZKp5RYGdLSOGCoi+58koIdSLzvAjhUVZBj mXZzmJH9ItBvt/aZGzuRCi5C3cbCxOOwDUAY5LKsH9r2/A7Hr3SwWW60gZ8E87StgXytFWZMfrse8 TjQtP/9ifddtMi9pySMoxsDijZs18okJtXGktp/rbPeHdWSnjsWYFhfUWApFqdVvVayVxGJAvq7l+ VeFjJtJg==; Received: from authenticated user by zero.zsh.org with local id 1l7u3s-000AqP-Je; Fri, 05 Feb 2021 05:53:44 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ot1-f47.google.com) smtp.remote-ip=209.85.210.47; dkim=pass header.d=brasslantern-com.20150623.gappssmtp.com header.s=20150623 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ot1-f47.google.com ([209.85.210.47]:33508) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1l7u3Z-000Ahh-J0; Fri, 05 Feb 2021 05:53:26 +0000 Received: by mail-ot1-f47.google.com with SMTP id 63so5892338oty.0 for ; Thu, 04 Feb 2021 21:53:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=COEsvruHyxaaZRu98ZNbGisjksC1iy50Pm3lSc33Gvg=; b=LcSRfyoH/L5qG9f4iXc+lN9sl8HHAZxvr0ZifTcC2TJIDTges94PPdqP6hR7v7gAIF F/CZqaJ18oBmp3Hq7fkJz1Lqs8whCdmtiQEz//VKdfaraeb99M/aGtSGAndJL7QnXOwH M5phjn4Lav/P1o3inuW+C0FaYutDxdeV6q4lCXCIRD/TnIMwjYGnpH8mtTWx4vTy+GpV PvmubdVtwgsUOZtLugIyALTXzJ7Sx+kLqyy04ue/YiZjaLEHOYJmXrWN78pBWqZpAeoB JsdmqWU3v+WoHRrd48U/6LoNtrn0YUe+6waEk4g5BgyY73rnkn0Fdqe4QIbNXauF2Hhr a6Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=COEsvruHyxaaZRu98ZNbGisjksC1iy50Pm3lSc33Gvg=; b=iAKv2+NJHY9PbyMMoLnaCmO6MY9wz0r5D9eh9Pd7YaNhKKdRuNDDGk4K++NbfPM7BN IWz/foQv3s93oJgowiO2Ouv58OtZSMA+W6qCqPk42vgHYdXrOGzkog15RyQKJj237jYe rrHgVrItXb+0oWinb5q9n6dlHhy+1sda/BHFS7yy38eCgf+qNzh55BtEFZtJ19Vfm4cm r1J/k+FtLpvjaV90I/x6UBmm+8JVyesWwwSkNWU5Z88xOlCV8e61XZlIX4HeFBpLhfA0 CtkGJFQD2u4lJxLWUj+bTWnGmSAjzln7rxNOqWXMwgjwDt4cdww3VSHzuiMLkCgbks0t Ey2g== X-Gm-Message-State: AOAM5301qpf1urhq8DLO/xsZSfkwRuRLyRTz7DNoe+uoGqXK9cP2FCBy bwcwcxYHiBctjrq7TzA1yFAP0guUVl2xxEAFZa+s+FsntRc= X-Google-Smtp-Source: ABdhPJxLZSaeexcjxsh9ahjIBz9Xj1zlQxuwqipwPK1zcPxImgIsMqmt9tfy5TjfXrACRaZfaJQc4SQ5wojq+mTfMPo= X-Received: by 2002:a9d:6acf:: with SMTP id m15mr2278327otq.260.1612504403553; Thu, 04 Feb 2021 21:53:23 -0800 (PST) MIME-Version: 1.0 References: <1009925809.3264416.1611583549597@mail2.virginmedia.com> In-Reply-To: <1009925809.3264416.1611583549597@mail2.virginmedia.com> From: Bart Schaefer Date: Thu, 4 Feb 2021 21:53:12 -0800 Message-ID: Subject: Re: NO_CASE_GLOB and unreadable directories (Episode VI: A New Hope) To: "zsh-workers@zsh.org" Cc: Devin Hussey Content-Type: multipart/mixed; boundary="0000000000002c77cd05ba90705f" X-Seq: 47913 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: --0000000000002c77cd05ba90705f Content-Type: text/plain; charset="UTF-8" On Mon, Jan 25, 2021 at 6:06 AM Peter Stephenson wrote: > > > On 25 January 2021 at 00:52 Bart Schaefer wrote: > > 2) Adopt (a CYGWIN-clean variant of) my patch from workers/47832, and > > accept that some current usage of NO_CASE_GLOB will break. > > 3) Add a setopt (CASE_DIRS ?) for the current behavior, and merge that > > with workers/47832. > > I don't think 2) is so unreasonable in that only patterns with some > form of case-insensitivity are involved. This is something of a minefield > at the best of times and getting something that looks natural on systems > that are intrinsically case-insensitive, whether or not case-preserving, > is difficult. But with a new option it seems to provide a definite path > forward in any case. I interpret this as a stronger preference for #3 than for #2, so I've taken a stab at it with the patch below. > The only serious objection to that other that I > can see is that it makes the code more complicated; the reply to that is > if the code is simple there's a good chance it doesn't quite do what you > need it to. It's actually the documentation that gets more complicated, the code is pretty simple. I rewrote the paragraph I've added to options.yo about seven times and I'm still not entirely happy with it. What I elected was to keep the current behavior by default, and add an option to get the behavior that termux wants. I named it CASE_PATHS for reasons I think the documentation paragraph make obvious. Changing CASE_PATHS has no effect by itself; it only matters if CASE_GLOB changes. The default is CASE_GLOB + NO_CASE_PATHS, which gives you the normal zsh behavior, but CASE_GLOB + CASE_PATHS is the same. NO_CASE_GLOB + NO_CASE_PATHS gives the current behavior of NO_CASE_GLOB. NO_CASE_GLOB + CASE_PATHS is the behavior required for descending through protected directories, as needed by termux. Attached again to avoid line wrap. No tests yet. --0000000000002c77cd05ba90705f Content-Type: text/plain; charset="US-ASCII"; name="casepaths-diff.txt" Content-Disposition: attachment; filename="casepaths-diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kkrusoom0 ZGlmZiAtLWdpdCBhL0RvYy9ac2gvb3B0aW9ucy55byBiL0RvYy9ac2gvb3B0aW9ucy55bwppbmRl eCBiM2JmMTFmNWMuLjcxNGU4YTFhMSAxMDA2NDQKLS0tIGEvRG9jL1pzaC9vcHRpb25zLnlvCisr KyBiL0RvYy9ac2gvb3B0aW9ucy55bwpAQCAtNDc0LDYgKzQ3NCwyMiBAQCBpdGVtKHR0KENBU0Vf TUFUQ0gpIDxEPikoCiBNYWtlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdXNpbmcgdGhlIHR0KHpzaC9y ZWdleCkgbW9kdWxlIChpbmNsdWRpbmcKIG1hdGNoZXMgd2l0aCB0dCg9fikpIHNlbnNpdGl2ZSB0 byBjYXNlLgogKQorcGluZGV4KENBU0VfUEFUSFMpCitwaW5kZXgoTk9fQ0FTRV9QQVRIUykKK3Bp bmRleChDQVNFUEFUSFMpCitwaW5kZXgoTk9DQVNFUEFUSFMpCitjaW5kZXgoY2FzZS1zZW5zaXRp dmUgZ2xvYmJpbmcsIG9wdGlvbikKK2l0ZW0odHQoQ0FTRV9QQVRIUykpKAorSWYgdHQoQ0FTRV9Q QVRIUykgaXMgbm90IHNldCAodGhlIGRlZmF1bHQpLCB0dChDQVNFX0dMT0IpIGFmZmVjdHMgdGhl CitpbnRlcnByZXRhdGlvbiBvZiBlbShldmVyeSkgcGF0aCBjb21wb25lbnQsIHdoZW5ldmVyIGEg c3BlY2lhbAorY2hhcmFjdGVyIGFwcGVhcnMgaW4gZW0oYW55KSBjb21wb25lbnQuICBXaGVuIHR0 KENBU0VfUEFUSFMpIGlzIHNldCwKK2ZpbGUgcGF0aCBjb21wb25lbnRzIHRoYXQgZG8gZW0obm90 KSBjb250YWluIHNwZWNpYWwgZmlsZW5hbWUKK2dlbmVyYXRpb24gY2hhcmFjdGVycyBhcmUgYWx3 YXlzIHNlbnNpdGl2ZSB0byBjYXNlLCB0aHVzIHJlc3RyaWN0aW5nCit0dChOT19DQVNFX0dMT0Ip IHRvIGNvbXBvbmVudHMgdGhhdCBjb250YWluIGdsb2JiaW5nIGNoYXJhY3RlcnMuCisKK05vdGUg dGhhdCBpZiB0aGUgZmlsZXN5c3RlbSBpdHNlbGYgaXMgbm90IHNlbnNpdGl2ZSB0byBjYXNlLCB0 aGVuCit0dChDQVNFX1BBVEhTKSBoYXMgbm8gZWZmZWN0LgorKQogcGluZGV4KENTSF9OVUxMX0dM T0IpCiBwaW5kZXgoTk9fQ1NIX05VTExfR0xPQikKIHBpbmRleChDU0hOVUxMR0xPQikKZGlmZiAt LWdpdCBhL1NyYy9vcHRpb25zLmMgYi9TcmMvb3B0aW9ucy5jCmluZGV4IGZiYTAyMWU3ZC4uNmVh NjI5MGU1IDEwMDY0NAotLS0gYS9TcmMvb3B0aW9ucy5jCisrKyBiL1NyYy9vcHRpb25zLmMKQEAg LTEwNSw2ICsxMDUsNyBAQCBzdGF0aWMgc3RydWN0IG9wdG5hbWUgb3B0bnNbXSA9IHsKIHt7TlVM TCwgImJzZGVjaG8iLAkgICAgICBPUFRfRU1VTEFURXxPUFRfU0h9LAkgQlNERUNIT30sCiB7e05V TEwsICJjYXNlZ2xvYiIsCSAgICAgIE9QVF9BTEx9LAkJCSBDQVNFR0xPQn0sCiB7e05VTEwsICJj YXNlbWF0Y2giLAkgICAgICBPUFRfQUxMfSwJCQkgQ0FTRU1BVENIfSwKK3t7TlVMTCwgImNhc2Vw YXRocyIsCSAgICAgIDB9LAkJCSBDQVNFUEFUSFN9LAoge3tOVUxMLCAiY2Jhc2VzIiwJICAgICAg MH0sCQkJIENCQVNFU30sCiB7e05VTEwsICJjcHJlY2VkZW5jZXMiLAkgICAgICBPUFRfRU1VTEFU RXxPUFRfTk9OWlNIfSwJIENQUkVDRURFTkNFU30sCiB7e05VTEwsICJjZGFibGV2YXJzIiwJICAg ICAgT1BUX0VNVUxBVEV9LAkJIENEQUJMRVZBUlN9LApkaWZmIC0tZ2l0IGEvU3JjL3BhdHRlcm4u YyBiL1NyYy9wYXR0ZXJuLmMKaW5kZXggYzdjMmM4YmVhLi4wNTNkMmE2MjcgMTAwNjQ0Ci0tLSBh L1NyYy9wYXR0ZXJuLmMKKysrIGIvU3JjL3BhdHRlcm4uYwpAQCAtNTA5LDcgKzUwOSw3IEBAIHZv aWQKIHBhdGNvbXBzdGFydCh2b2lkKQogewogICAgIHBhdGNvbXBjaGFyc3NldCgpOwotICAgIGlm IChpc3NldChDQVNFR0xPQikpCisgICAgaWYgKGlzc2V0KENBU0VHTE9CKSB8fCBpc3NldChDQVNF UEFUSFMpKQogCXBhdGdsb2JmbGFncyA9IDA7CiAgICAgZWxzZQogCXBhdGdsb2JmbGFncyA9IEdG X0lHTkNBU0U7CkBAIC02MzIsNiArNjMyLDEzIEBAIHBhdGNvbXBpbGUoY2hhciAqZXhwLCBpbnQg aW5mbGFncywgY2hhciAqKmVuZGV4cCkKICAgICBwLT5wYXRtbGVuID0gbGVuOwogICAgIHAtPnBh dG5wYXIgPSBwYXRucGFyLTE7CiAKKyNpZm5kZWYgX19DWUdXSU5fXyAgLyogVGhlIGZpbGVzeXN0 ZW0gaXRzZWxmIGlzIGNhc2UtaW5zZW5zaXRpdmUgb24gQ3lnd2luICovCisgICAgaWYgKChwYXRm bGFncyAmIFBBVF9GSUxFKSAmJiAhaXNzZXQoQ0FTRUdMT0IpICYmICEocGF0ZmxhZ3MgJiBQQVRf UFVSRVMpKSB7CisJcC0+Z2xvYmZsYWdzIHw9IEdGX0lHTkNBU0U7CisJcC0+Z2xvYmVuZCB8PSBH Rl9JR05DQVNFOworICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKCFzdHJwKSB7CiAJcHNjYW4gPSAo VXBhdCkocGF0b3V0ICsgc3RhcnRvZmYpOwogCmRpZmYgLS1naXQgYS9TcmMvenNoLmggYi9TcmMv enNoLmgKaW5kZXggNmNmMWI0MTg2Li41YWNiZGRlYTQgMTAwNjQ0Ci0tLSBhL1NyYy96c2guaAor KysgYi9TcmMvenNoLmgKQEAgLTIzODcsNiArMjM4Nyw3IEBAIGVudW0gewogICAgIEJTREVDSE8s CiAgICAgQ0FTRUdMT0IsCiAgICAgQ0FTRU1BVENILAorICAgIENBU0VQQVRIUywKICAgICBDQkFT RVMsCiAgICAgQ0RBQkxFVkFSUywKICAgICBDRFNJTEVOVCwK --0000000000002c77cd05ba90705f--