Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: Use "make -p" to get targets
- X-seq: zsh-workers 10635
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: PATCH: Use "make -p" to get targets
- Date: Tue, 11 Apr 2000 10:20:45 +0200 (MET DST)
- In-reply-to: "Bart Schaefer"'s message of Mon, 10 Apr 2000 23:35:03 +0000
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Bart Schaefer wrote:
> I wrote:
> > We'll just have to set up a style, as in _diff.
>
> Strictly speaking, the _is_gnu branch would work for Solaris make as well
> (as long as nobody actually created a target named .PHONY that had any
> real rules). I suppose you can fake it with the version style:
>
> zstyle ':completion:*:make:version' echo GNU
zstyle '...:version' command echo GNU
> Somebody please "make" a better suggestion.
Hm, dunno, but:
> ...
>
> +if (( ! $+_is_gnu[$1] )); then
Different from _diff_options, _make doesn't get the command-to-call as
the first argument.
And somehow my patch(1) didn't complain that it couldn't apply the
hunks for the _wanted change in _make. Weird.
Bye
Sven
Index: Completion/User/_make
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/User/_make,v
retrieving revision 1.4
diff -u -r1.4 _make
--- Completion/User/_make 2000/04/10 23:40:44 1.4
+++ Completion/User/_make 2000/04/11 08:20:26
@@ -4,12 +4,12 @@
(( $+_is_gnu )) || typeset -gA _is_gnu
-if (( ! $+_is_gnu[$1] )); then
- if [[ $(_call version $1 -v -f /dev/null </dev/null 2>/dev/null) = *GNU* ]]
+if (( ! $+_is_gnu[$words[1]] )); then
+ if [[ $(_call version $words[1] -v -f /dev/null </dev/null 2>/dev/null) = *GNU* ]]
then
- _is_gnu[$1]=yes
+ _is_gnu[$words[1]]=yes
else
- _is_gnu[$1]=
+ _is_gnu[$words[1]]=
fi
fi
@@ -31,7 +31,7 @@
file=''
fi
- if [[ -n "$file" ]] && _wanted targets; then
+ if [[ -n "$file" ]] && _tags targets; then
if [[ -n "$_is_gnu[$1]" ]]; then
tmp=( $(make -nsp --no-print-directory -f "$file" .PHONY | awk '/^[a-zA-Z0-9][^\/\t=]+:/ {print $1}' FS=:) )
else
@@ -42,7 +42,7 @@
FS=: $file)
)
fi
- _all_labels targets expl 'make target' compadd "$tmp[@]" && return 0
+ _wanted targets expl 'make target' compadd "$tmp[@]" && return 0
fi
compset -P 1 '*='
_files
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author