Subject: Re: Allow slash in alternation patterns in limited cases?
From: Mikael Magnusson <[email-masked]>
To: Peter Stephenson <[email-masked]>
Cc: zsh workers <[email-masked]>
Date: Mon, 11 Apr 2016 14:06:10 +0200
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On Mon, Apr 11, 2016 at 1:07 PM, Peter Stephenson
<[email-masked]> wrote:
> On Mon, 11 Apr 2016 12:47:21 +0200
> Mikael Magnusson <[email-masked]> wrote:
>> Maybe I misunderstood your original point. I thought you meant making
>> (foo/bar|baz/bong) work in a glob would make it more incompatible with
>> pattern matching, but it already works there.
>
> The point is that, unlike the ~ case which is just a flag passed in to
> the pattern match parser, it would longer done by pattern matching at
> all.  It would be done in the glob code.  The pattern match code would
> see the foo, bar, baz, bong, and it would it be reassembled higher up.
> So it's not so much incompatible as something utterly different.

This is already the same difference we have between (foo|bar) in
globbing and pattern matching though. If it's a glob, it's handled
recursively by scanner() and if it's pattern, it's somewhere else (I
don't even know where the general pattern matching code is by heart).
Maybe this is just exactly what you're saying, and I read some
objection where there was just a statement about how things are. I
don't see how any additional inconsistensies with the pattern matching
code arises from the end-users's perspective though (see separate
patch). Well, things like (#i) don't carry across from one pattern to
the next... I suppose that's somewhat major.

-- 
Mikael Magnusson