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