Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: NO_CASE_GLOB and unreadable directories (Episode VI: A New Hope)
- X-seq: zsh-workers 47832
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: "zsh-workers@xxxxxxx" <zsh-workers@xxxxxxx>
- Cc: Devin Hussey <husseydevin@xxxxxxxxx>
- Subject: Re: NO_CASE_GLOB and unreadable directories (Episode VI: A New Hope)
- Date: Thu, 14 Jan 2021 10:56:57 -0800
- Archived-at: <https://zsh.org/workers/47832>
- Archived-at: <http://www.zsh.org/sympa/arcsearch_id/zsh-workers/2021-01/CAH%2Bw%3D7bj5wSorD73m8SBABsieKG2KP0PYPKbszWTj7_1syDkSQ%40mail.gmail.com>
- In-reply-to: <CAH+w=7Y5UQDd7Xn6g9MR_oYtDFw8S-2WpX7xEehPZ9y47=ex8w@mail.gmail.com>
- List-id: <zsh-workers.zsh.org>
- References: <CAEtFKssJf-cN_EM+=5_10seY58jqALV-YH8+z5+Lm-04v493Nw@mail.gmail.com> <CAH+w=7bn8JYPx29LPGnT4ughEt-z+-rUokUz739foP=JCY9B7g@mail.gmail.com> <CAEtFKssJVz9mr3vA_vY77m2bsrXWBKHz1qgv83jzeY0jLXzPjQ@mail.gmail.com> <CAH+w=7aoaGhVCqZQ6K+z0HqJg3agOav6bh6M_9pg464aAC+htQ@mail.gmail.com> <CAH+w=7Y5UQDd7Xn6g9MR_oYtDFw8S-2WpX7xEehPZ9y47=ex8w@mail.gmail.com>
On Wed, Jan 13, 2021 at 9:57 PM Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
>
> This is not yet suitable for folding into the master branch, because
> it is a significant change to the current zsh behavior
Found another problem with it: CASEGLOB was being applied to patterns
in other contexts.
Fixed patch below (gmail is almost certainly going to line-wrap this
one, but since so far it's for discussion only, I'm not terribly
concerned):
diff --git a/Src/pattern.c b/Src/pattern.c
index c7c2c8bea..3d282b533 100644
--- a/Src/pattern.c
+++ b/Src/pattern.c
@@ -509,10 +509,7 @@ void
patcompstart(void)
{
patcompcharsset();
- if (isset(CASEGLOB))
- patglobflags = 0;
- else
- patglobflags = GF_IGNCASE;
+ patglobflags = 0;
if (isset(MULTIBYTE))
patglobflags |= GF_MULTIBYTE;
}
@@ -632,6 +629,12 @@ patcompile(char *exp, int inflags, char **endexp)
p->patmlen = len;
p->patnpar = patnpar-1;
+ if ((patflags & PAT_FILE) && !isset(CASEGLOB) && !(patflags & PAT_PURES)) {
+ /* Special __CYGWIN__ handling needed? */
+ p->globflags |= GF_IGNCASE;
+ p->globend |= GF_IGNCASE;
+ }
+
if (!strp) {
pscan = (Upat)(patout + startoff);
Messages sorted by:
Reverse Date,
Date,
Thread,
Author