about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2000-05-31 09:23:28 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2000-05-31 09:23:28 +0000
commitfe8490dcf0b1c0e51fe053938711d15c38128f20 (patch)
tree302386e7580faf5baa9eb9174fdc740ad04fa444
parent7bf294f2b8329673ffd0ee55fa2cca872e5448df (diff)
downloadzsh-fe8490dcf0b1c0e51fe053938711d15c38128f20.tar.gz
zsh-fe8490dcf0b1c0e51fe053938711d15c38128f20.tar.xz
zsh-fe8490dcf0b1c0e51fe053938711d15c38128f20.zip
allow using menu-select for compdef -k (i.e.: autoload zsh/complist in such cases) (11686)
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Core/compdump5
-rw-r--r--Completion/Core/compinit3
3 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7ee2f1ec6..970065eef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2000-05-31  Sven Wischnowsky  <wischnow@zsh.org>
+
+	* 11686: Completion/Core/compdump, Completion/Core/compinit: allow
+ 	using menu-select for compdef -k (i.e.: autoload zsh/complist in
+ 	such cases)
+	
 2000-05-31  Peter Stephenson  <pws@cambridgesiliconradio.com>
 
 	* Wayne Davison: 11680: Src/params.c: subscript too small/big
diff --git a/Completion/Core/compdump b/Completion/Core/compdump
index f427730f0..3f013c938 100644
--- a/Completion/Core/compdump
+++ b/Completion/Core/compdump
@@ -62,9 +62,14 @@ print >> $_d_file
 # argument to zle does not begin with a `_').
 
 _d_bks=()
+_d_complist=
 zle -lL |
   while read -rA _d_line; do
     if [[ ${_d_line[3]} = _* && ${_d_line[5]} = _* ]]; then
+      if [[ -z "$_d_complist" && ${_d_line[4]} = .menu-select ]]; then
+        print 'zmodload -i zsh/complist'
+	d_complist=yes
+      fi
       print -r - ${_d_line}
       _d_bks=($_d_bks ${_d_line[3]})
     fi
diff --git a/Completion/Core/compinit b/Completion/Core/compinit
index 5efc3d501..fc2bb4fc2 100644
--- a/Completion/Core/compinit
+++ b/Completion/Core/compinit
@@ -232,6 +232,7 @@ compdef() {
 	fi
 	[[ $1 = _* ]] || 1="_$1"
 	[[ $2 = .* ]] || 2=".$2"
+        [[ $2 = .menu-select ]] && zmodload -i zsh/complist
 	zle -C "$1" "$2" "$func"
 	if [[ -n $new ]]; then
 	  bindkey "$3" | read -A opt
@@ -250,8 +251,10 @@ compdef() {
 
       # Define the widget.
       if [[ $1 = .* ]]; then
+        [[ $1 = .menu-select ]] && zmodload -i zsh/complist
 	zle -C "$func" "$1" "$func"
       else
+        [[ $1 = menu-select ]] && zmodload -i zsh/complist
 	zle -C "$func" ".$1" "$func"
       fi
       shift