about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2001-02-16 14:57:48 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2001-02-16 14:57:48 +0000
commitd9b00a38701ff795a382020291dfed6c32b6d40e (patch)
tree9bde4411f573d861a75e185e283d37074c01eb2d
parent04e1ef5b681eba06c29f5149fcc18412b7f0f8e4 (diff)
downloadzsh-d9b00a38701ff795a382020291dfed6c32b6d40e.tar.gz
zsh-d9b00a38701ff795a382020291dfed6c32b6d40e.tar.xz
zsh-d9b00a38701ff795a382020291dfed6c32b6d40e.zip
make `compdef foo=bar' use the service defined for `bar' if there is any (13494)
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Core/compinit1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 918efedfe..65348f35c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-02-16  Sven Wischnowsky  <wischnow@zsh.org>
+
+	* 13494: Completion/Core/compinit: make `compdef foo=bar' use the
+ 	service defined for `bar' if there is any
+	
 2001-02-16  Bart Schaefer  <schaefer@brasslantern.com>
 
 	* 13492: Src/subst.c: Partial fix for ${1+"$@"} expanding to
diff --git a/Completion/Core/compinit b/Completion/Core/compinit
index e9e2c93ee..96779d7f7 100644
--- a/Completion/Core/compinit
+++ b/Completion/Core/compinit
@@ -249,6 +249,7 @@ compdef() {
 	  cmd="${i%%\=*}"
 	  svc="${i#*\=}"
           func="$_comps[${(k)_services[(R)$svc]:-$svc}]"
+          (( $+_services[$svc] )) && svc=$_services[$svc]
 	  [[ -z "$func" ]] &&
 	    func="${_patcomps[(K)$svc][1]:-${_postpatcomps[(K)$svc][1]}}"
           if [[ -n "$func" ]]; then