Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: 3.1.5-pws-10 and then some: _match_test is too strict



I just applied all the patches from Sven, Peter, and Matt that have
appeared since pws-10, configured with --disable-dynamic, compiled
without a hitch, ran the new zsh, set up my fpath and sourced the
compinit file.

And no file-related completions worked for me at all.

After staring at the output of repeated completions with `set -vx` in
effect, I finally concluded that the culprit is _match_test.  It seems
that you must have at least one compctl -M spec in effect in order for
_match_test to return true.  Since I don't have any compctl -M at all
and don't particularly want any at the moment, this would appear to be
a minor drawback to the current system.

I realize _match_test is intended to be edited to reflect the user's
personal matcher settings, but it ought to work "out of the box" in a
`zsh -f` situation, oughtn't it?

The following appears to deal with it; does it break something when
there *are* matcher specs?  What's the point of testing for exactly
the first matcher spec, anyway?

Index: Completion/Base/_match_test
===================================================================
diff -u -r1.2 _match_test
--- _match_test	1999/03/03 07:31:03	1.2
+++ _match_test	1999/03/03 08:28:46
@@ -12,4 +12,4 @@
 # match specifications and modify the function `_match_pattern' to build the
 # pattern to use in the calling function.
 
-(( compstate[matcher] == 1 ))
+(( compstate[matcher] <= 1 ))



Messages sorted by: Reverse Date, Date, Thread, Author