From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26805 invoked from network); 30 Apr 2001 09:35:35 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 30 Apr 2001 09:35:35 -0000 Received: (qmail 29771 invoked by alias); 30 Apr 2001 09:35:29 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 14156 Received: (qmail 29756 invoked from network); 30 Apr 2001 09:35:28 -0000 Message-ID: To: zsh-workers@sunsite.dk (Zsh hackers list) Subject: Re: More about ksh_glob and completion In-Reply-To: Your message of "Mon, 30 Apr 2001 10:14:35 +0200." <200104300814.KAA02255@beta.informatik.hu-berlin.de> Date: Mon, 30 Apr 2001 10:35:00 +0100 From: Peter Stephenson Sven wrote: > Actually, I once thought about pre-compiling them, then had a look at > the pattern code, was reminded of the options controlling pattern > matching and... Yes, the option kshglob is the one at the point of compilation. This is pretty much unavoidable in this case --- things like @(foo|bar) behave completely differently in the two cases and it's just not worth compiling it both ways on the off chance. With globsubst, the only question is tokenisation, and it's easy to make sure the pattern code is independent of that (there were some glitches in that but I think they've gone). But I still think precompiling patterns is OK as long as you do it at the point of first use. The difficult case % unsetopt kshglob % testpat() { setopt kshglob; [[ $1 = @(aardvark|bison) ]]; } will always work so long as the pattern is compiled at that point. I believe syntactic structures no longer get copied to be executed, so that ought to be able to work. -- Peter Stephenson Software Engineer CSR Ltd., Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070 ********************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. **********************************************************************