Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: tag-order problem?
- X-seq: zsh-workers 14506
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: tag-order problem?
- Date: Mon, 28 May 2001 12:30:36 +0200 (MET DST)
- In-reply-to: <hvo66elsu85.fsf@xxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
Tanaka Akira wrote:
> In article <200105280826.KAA00483@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
> Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx> writes:
>
> > I know this isn't nice, but I didn't see a good solution and still don't
> > see one. This is `caused' by the default value for tag-order which
> > makes arguments and value be preferred over options (as mentioned in the
> > docs for the tag-order style).
>
> Hm. zsh-4.0.1-pre-3 works as I expected.
>
> Z(2):akr@flux% zsh-4.0.1-pre-3 -f
> flux% bindkey -e; autoload -U compinit; compinit -D
> flux% zstyle '*' group-name ''
> flux% zstyle '*:messages' format '%d'
> flux% zstyle '*:descriptions' format '%d'
> flux% zstyle ':completion:*' 'tag-order' '*:-non-cvs' '*'
> flux% zstyle ':completion:*-non-cvs' 'ignored-patterns' '(*/|)CVS'
> flux% compdef _tst tst
> flux% _tst () { _arguments -s '-a-:x:' '-b' }
> flux% tst -a<TAB>
> x
>
>
> zsh-4.0.1-pre-4 works as zsh-4.0.1-pre-5. So I suspect the problem is
> introduced by some patch between pre-3 and pre-4. Maybe `-W' related
> thing?
Hm, yes. Still the behaviour seems sensible, somehow.
Anyway. Anyone interested could try the patch below, which gives what
you expect in this case. The question is whether this breaks any of the
examples we had for inventing the -w and -W options. I don't think I'll
have the time to test those today.
Bye
Sven
Index: Completion/Base/Utility/_arguments
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Base/Utility/_arguments,v
retrieving revision 1.5
diff -u -r1.5 _arguments
--- Completion/Base/Utility/_arguments 2001/04/26 14:40:11 1.5
+++ Completion/Base/Utility/_arguments 2001/05/28 10:29:51
@@ -233,7 +233,7 @@
descr="$descrs[anum]"
subc="$subcs[anum++]"
- if [[ -n "$matched" ]] || _requested "$subc"; then
+ if [[ -z "$tried" ]] && { [[ -n "$matched" ]] || _requested "$subc" }; then
curcontext="${oldcontext%:*}:$subc"
@@ -328,7 +328,8 @@
fi
done
if [[ -z "$hasopts" &&
- ( -z "$matched" || -n "$alwopt" ) &&
+ -z "$matched" &&
+ ( -z "$tried" || -n "$alwopt" ) &&
( -z "$aret" || "$PREFIX" = "$origpre" ) ]] &&
_requested options &&
{ ! zstyle -T ":completion:${curcontext}:options" prefix-needed ||
@@ -389,7 +390,8 @@
[[ -n "$tried" && "${${alwopt:+$origpre}:-$PREFIX}" != [-+]* ]] && break
done
if [[ -n "$opts" && -z "$aret" &&
- ( -z "$matched$mesg" || -n "$alwopt" ) &&
+ -z "$matched" &&
+ ( -z "$tried" || -n "$alwopt" ) &&
nm -eq compstate[nmatches] ]]; then
PREFIX="$origpre"
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author