From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14883 invoked from network); 14 Jul 2003 20:34:08 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 14 Jul 2003 20:34:07 -0000 Received: (qmail 4219 invoked by alias); 14 Jul 2003 20:34:00 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 18853 Received: (qmail 4199 invoked from network); 14 Jul 2003 20:34:00 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 14 Jul 2003 20:34:00 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [216.27.190.146] by sunsite.dk (MessageWall 1.0.8) with SMTP; 14 Jul 2003 20:34:0 -0000 Received: from ceramic.fifi.org (mail@ceramic.fifi.org [216.27.190.147]) by tantale.fifi.org (8.9.3p2/8.9.3/Debian 8.9.3-21) with ESMTP id NAA19909 for ; Mon, 14 Jul 2003 13:33:58 -0700 Received: from phil by ceramic.fifi.org with local (Exim 3.35 #1 (Debian)) id 19cA1F-0000Yl-00 for ; Mon, 14 Jul 2003 13:33:57 -0700 To: zsh-workers@sunsite.dk Subject: More fun with completion: glob qualifiers ignored for ignored-patterns style? Mail-Copies-To: nobody From: Philippe Troin Date: 14 Jul 2003 13:33:57 -0700 Message-ID: <87n0fg3l1m.fsf@ceramic.fifi.org> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Philippe Troin % echo $ZSH_VERSION 4.0.7 % ls % touch file % mkdir dir % ls dir/ file % zstyle ':completion:*:all-files' ignored-patterns '*(/)' % ls >>> Completing files... dir/ file "dir" should not have been a completion candidate... % zstyle ':completion:*:all-files' ignored-patterns '*(e:''[[ -d $REPLY ]]'')' % ls >>> Completing files... dir/ file Nor here (note: I use setopt rcquotes). % zstyle ':completion:*:all-files' ignored-patterns '(#b)file(#e)' % ls % ls dir/ Is that because bare_glob_qual is unset when expanding the pattern? By the way, the manual says about glob qualifiers: Patterns used for filename generation may end in a list of qualifiers enclosed in parentheses. The qualifiers specify which filenames that otherwise match the given pattern will be inserted in the argument list. If the option BARE_GLOB_QUAL is set, then a trailing set of parentheses containing no `|' or `(' characters (or `~' if it is special) is taken as a set of glob qualifiers. A glob subexpression that would normally be taken as glob qualifiers, for example `(^x)', can be forced to be treated as part of the glob pattern by doubling the parentheses, in this case producing `((^x))'. Does that mean that: - if BARE_GLOB_QUAL is set, glob qualifiers are enabled - if BARE_GLOB_QUAL is unset, glob qualifiers are disabled? The behavior of zsh when BARE_GLOB_QUAL is unset is very unclear from the above description, at least for me... Phil.