From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20359 invoked from network); 24 Jun 2000 23:00:45 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 24 Jun 2000 23:00:45 -0000 Received: (qmail 3029 invoked by alias); 24 Jun 2000 23:00:36 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12058 Received: (qmail 3022 invoked from network); 24 Jun 2000 23:00:34 -0000 From: "Bart Schaefer" Message-Id: <1000624230022.ZM16742@candle.brasslantern.com> Date: Sat, 24 Jun 2000 23:00:22 +0000 In-Reply-To: Comments: In reply to Wayne Davison "A couple completion glitches" (Jun 24, 12:54pm) References: X-Mailer: Z-Mail (5.0.0 30July97) To: Wayne Davison , Zsh Workers Subject: Re: A couple completion glitches MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Jun 24, 12:54pm, Wayne Davison wrote: } Subject: A couple completion glitches } } I've noticed that the new completion system won't ever complete a name } that matches the $fignore list, even if it is the only completion } possible. Yes, that's correct. To get the new completion system to act like the old one, you need something like zstyle ':completion:*:all-files' ignored-patterns \*$^fignore } Secondly, there seems to be an inconsistency in the handling of glob } characters. For instance: } } % autoload -U compinit } % compinit -D } % zstyle ':completion:*' completer _expand _complete } % bindkey '^i' complete-word } % cd ~ } % touch foo{1..3} } % ls ~/foo* } } ...and nothing happens! I was about to say that you need to set the suffix style, but that does not work either. Hmm; looks like there's a bug in `zstyle -T', though I have no idea how that crept in. Look here: zagzig% zstyle -L zstyle ':completion:*' completer _expand _complete zstyle ':completion:*:expand:*' suffix yes zagzig% zstyle -t :completion::expand::: suffix && echo suffix is set suffix is set zagzig% zstyle -T :completion::expand::: suffix && echo suffix not set suffix not set It shouldn't be possible for them both to return true. } One more inconsistency results from the same setup, and this expansion: } } % ls foo? } } In my mind, I would like it to always order the full expansion and the } original string into the same places, regardless of ASCII order (to } make it more consistent). Perhaps always put the multi-item expansion } first and the original string last? This could be accomplished by having _expand put the original string in its own compadd group. That means a bit of restructuring of _expand to store the original string separately until it is known whether there are any other expansions possible. -- 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