From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3136 invoked from network); 14 Feb 2000 10:29:16 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 14 Feb 2000 10:29:16 -0000 Received: (qmail 6118 invoked by alias); 14 Feb 2000 10:28:42 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9710 Received: (qmail 6105 invoked from network); 14 Feb 2000 10:28:39 -0000 Date: Mon, 14 Feb 2000 11:28:36 +0100 (MET) Message-Id: <200002141028.LAA09610@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Peter Stephenson's message of Sun, 13 Feb 2000 18:43:51 +0000 Subject: Re: Things which used to work Peter Stephenson wrote: > Something's gone screwy with my file completion. Consider completing after > `gv '. > > > First, I get the options even with no `-'. The following used to work so > that I didn't in this case: > > zstyle ':completion:*' prefix-needed no > zstyle ':completion:*:(options|signals)*' prefix-needed yes > > (Actually, I didn't have the `*' at the end of the second pattern before, > but I added it to see if it helped, but it didn't. It shouldn't be > necessary since `options' is a tag.) Switching prefix-needed to yes > globally does work, however. The styles weren't sorted correctly. > Second, if I type a directory name, I *only* get postscript files completed, > and not directory names even if there are no postscript files. It works if > I type the first letter of a directory, but if that wasn't how it worked > before. Furthermore, the listing looks like this: > > % gv ./ > Completing postscript file > Completing PDF file > / > > Apart from the missing directories, I don't know where that final `/' came > from. (The rest is OK.) I don't have any sort-tags style defined. I had overlooked one use of $tmp2 in _path_files. > Third, if I use the zmodload completion I get all the files in the relevant > directories, not just those ending in .so, even though the glob pattern is > explicit, and there are .so files present. `zmodload zsh/...' seems to > have given up completely. Missing initialisation for $dopts in _files. Bye Sven diff -ru ../z.old/Completion/Core/_files Completion/Core/_files --- ../z.old/Completion/Core/_files Mon Feb 14 10:08:27 2000 +++ Completion/Core/_files Mon Feb 14 11:20:22 2000 @@ -35,6 +35,8 @@ elif [[ "$type" != *[/g]* ]]; then type="${type}/" fi +else + dopts=() fi if zstyle -s ":completion:${curcontext}:globbed-files" file-patterns tmp && [[ -n "$tmp" ]]; then diff -ru ../z.old/Completion/Core/_path_files Completion/Core/_path_files --- ../z.old/Completion/Core/_path_files Mon Feb 14 10:08:28 2000 +++ Completion/Core/_path_files Mon Feb 14 11:20:36 2000 @@ -276,9 +276,9 @@ if [[ "$sopt" = *[/f]* && ( -o globdots || "$PREFIX" = .* ) ]] && zstyle -s ":completion:${curcontext}:paths" special-dirs atmp; then if [[ "$atmp" = (yes|true|1|on) ]]; then - tmp2=( "$tmp2[@]" . .. ) + tmp1=( "$tmp1[@]" . .. ) elif [[ "$atmp" = .. ]]; then - tmp2=( "$tmp2[@]" .. ) + tmp1=( "$tmp1[@]" .. ) fi fi fi @@ -333,7 +333,6 @@ # if none of the patterns match. if [[ -z "$tpre$tsuf" && -n "$pre$suf" ]]; then - tmp1=( "$tmp2[@]" ) pfxsfx=(-S '' "$pfxsfx[@]") break; elif [[ "$haspats" = no && -z "$tpre$tsuf" && diff -ru ../z.old/Src/Modules/zutil.c Src/Modules/zutil.c --- ../z.old/Src/Modules/zutil.c Mon Feb 14 10:14:09 2000 +++ Src/Modules/zutil.c Mon Feb 14 10:29:20 2000 @@ -155,7 +155,7 @@ tmp = 2; } } - p->weight = weight + tmp; + p->weight = (weight += tmp); for (qq = NULL, q = s->pats; q && q->weight >= weight; qq = q, q = q->next); -- Sven Wischnowsky wischnow@informatik.hu-berlin.de