Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: _path_files returning an error
- X-seq: zsh-users 12547
- From: Peter Stephenson <pws@xxxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: _path_files returning an error
- Date: Mon, 11 Feb 2008 16:19:46 +0000
- In-reply-to: <8A6A24D2-E920-432C-BB08-5076E8C8B375@xxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- Organization: CSR
- References: <8A6A24D2-E920-432C-BB08-5076E8C8B375@xxxxxxxxxxxxxxxxxx>
On Fri, 8 Feb 2008 15:09:13 -0800
William Scott <wgscott@xxxxxxxxxxxxxxxxxx> wrote:
> It returns this error, new to 4.3.5:
>
> zsh-% open -a TextMate <tab>
> _path_files:compfiles:357: too few arguments
Bill's sent me a trace (thanks) and I've traced it back... it's
an incorrect array index [0] which is no longer hacked to [1].
I finally had the presence of mind to search the completion code
for [0]'s to fix. (bashcompinit's compgen uses "emulate -L sh".)
Index: Completion/Darwin/Type/_mac_files_for_application
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Darwin/Type/_mac_files_for_application,v
retrieving revision 1.1
diff -u -r1.1 _mac_files_for_application
--- Completion/Darwin/Type/_mac_files_for_application 12 Nov 2004 11:47:43 -0000 1.1
+++ Completion/Darwin/Type/_mac_files_for_application 11 Feb 2008 16:17:53 -0000
@@ -66,7 +66,7 @@
case ${#glob_patterns} in
0) return 1 ;;
- 1) _files "$opts[@]" -g "$glob_patterns[0]" ;;
+ 1) _files "$opts[@]" -g "$glob_patterns[1]" ;;
*) _files "$opts[@]" -g "{${(j/,/)glob_patterns}}" ;;
esac
}
Index: Completion/Unix/Command/_locate
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_locate,v
retrieving revision 1.1
diff -u -r1.1 _locate
--- Completion/Unix/Command/_locate 27 Sep 2006 14:50:25 -0000 1.1
+++ Completion/Unix/Command/_locate 11 Feb 2008 16:17:53 -0000
@@ -1,7 +1,7 @@
#compdef locate mlocate slocate
# Decide if we are using mlocate or slocate.
-local ltype basename=${words[0]:t} input
+local ltype basename=${words[1]:t} input
# If we can't, use this guess.
local best_guess=mlocate
@@ -11,7 +11,7 @@
;;
(locate)
- input="$(_call_program locate $words[0] -V)"
+ input="$(_call_program locate $words[1] -V)"
case $input in
(*mlocate*)
ltype=mlocate
--
Peter Stephenson <pws@xxxxxxx> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070
Messages sorted by:
Reverse Date,
Date,
Thread,
Author