Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: updated _zstyle and cleanup of related stuff

On Jan 14,  6:43pm, Peter Stephenson wrote:
} Subject: Re: PATCH: updated _zstyle and cleanup of related stuff
} "Bart Schaefer" wrote:
} > See the thread beginning with zsh-workers/15950.
} I think we can do (#q) as proposed there, except as I already said, I'd
} prefer simply to ignore (#q) where it isn't treated as a glob qualifier

Hm.  Where, exactly, would it not be treated as one?  You mean that, at
least for now, you won't implement my `*(#qG)/*(#q.^G)' example?

} i.e. gets through to the pattern code, since it means you no longer need to
} rewrite glob patterns to test against the filenames, which I consider a
} highly desirable feature.

I'm not sure I follow that.

} Causing an error if the (#q) gets through to the pattern code would be
} fairly simple, however.

In fact, it should be no work at all?  At the moment:

schaefer<501> setopt extendedglob
schaefer<502> echo foo(#q)bar
zsh: bad pattern: foo(#q)bar

} The natural rule for bareglobs is that they work if and only if they appear
} at the end, if and only if BAREGLOBQUAL is set, so (.)(#q*) is just one
} qualifier, but (#q*)(.) is two.

I agree.

} The only hairy bit of implementing this is that we'll need an extra level
} of logic to handle the logical and of different qualifiers.  As I said, I
} don't think the rule of applying them `as if they appeared in a single
} list' is rational --- treating (#q/,*)(#qW) as (#q/,*W) doesn't seem to
} make sense to me.

I agree with that, too.  It should be treated as (#q/W,*W), I think.  Just
distribute the ANDs over the ORs when combining them.

Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   

Messages sorted by: Reverse Date, Date, Thread, Author