about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Base/_tilde1
-rw-r--r--Completion/Core/_all_labels9
-rw-r--r--Completion/Core/_requested2
4 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0e8c11cd6..84be75d70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-04-25  Sven Wischnowsky  <wischnow@informatik.hu-berlin.de>
 
+	* 10910: Completion/Base/_tilde, Completion/Core/_all_labels,
+ 	Completion/Core/_requested: small fix for _requested to be able to
+ 	use _all_labels from within it
+	
 	* 10909: Completion/Core/_expand, Src/Zle/compcore.c,
  	Src/Zle/compresult.c: report prefix/suffix of parameter expansion
  	in IPREFIX/ISUFFIX; make _expand use them to be able to expand $foo
diff --git a/Completion/Base/_tilde b/Completion/Base/_tilde
index 7ab058e01..7d31185b7 100644
--- a/Completion/Base/_tilde
+++ b/Completion/Base/_tilde
@@ -18,6 +18,7 @@ _tags users named-directories directory-stack
 
 while _tags; do
   _requested users && _users "$suf[@]" "$@" && ret=0
+
   _requested named-directories expl 'named directory' \
       compadd "$suf[@]" "$@" - "${(@k)nameddirs}"
 
diff --git a/Completion/Core/_all_labels b/Completion/Core/_all_labels
index a03112ee4..72d9d0317 100644
--- a/Completion/Core/_all_labels
+++ b/Completion/Core/_all_labels
@@ -1,6 +1,11 @@
 #autoload
 
-local gopt=-J len tmp pre suf ret=1 descr spec
+local gopt=-J len tmp pre suf ret=1 descr spec prev
+
+if [[ "$1" = - ]]; then
+  prev=-
+  shift
+fi
 
 if [[ "$1" = -([12]|)[VJ] ]]; then
   gopt="$1"
@@ -20,7 +25,7 @@ else
   suf=5
 fi
 
-while comptags -A "$1" curtag spec; do
+while comptags "-A$prev" "$1" curtag spec; do
   _comp_tags="$_comp_tags $spec "
   if [[ "$curtag" = *:* ]]; then
     zformat -f descr "${curtag#*:}" "d:$3"
diff --git a/Completion/Core/_requested b/Completion/Core/_requested
index 90fdec279..01dee8f11 100644
--- a/Completion/Core/_requested
+++ b/Completion/Core/_requested
@@ -9,7 +9,7 @@ fi
 
 if comptags -R "$1"; then
   if [[ $# -gt 3 ]]; then
-    _all_labels "$gopt" "$@"
+    _all_labels - "$gopt" "$@"
   elif [[ $# -gt 1 ]]; then
     _description "$gopt" "$@"
   fi