about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Base/Core/_dispatch4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8dbb22d2e..6ca3b15e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-03  Peter Stephenson  <pws@csr.com>
+
+	* users/7467: Completion/Base/Core/_dispatch: quoted commands
+	weren't found in dispatcher lookup.
+
 2004-06-02  Wayne Davison  <wayned@users.sourceforge.net>
 
 	* unposted: builtin.c, exec.c, glob.c, hashtable.c, hist.c, init.c,
diff --git a/Completion/Base/Core/_dispatch b/Completion/Base/Core/_dispatch
index b33c3b413..87c81f899 100644
--- a/Completion/Base/Core/_dispatch
+++ b/Completion/Base/Core/_dispatch
@@ -40,6 +40,10 @@ fi
 ret=1
 for str in "$@"; do
   [[ -n "$str" ]] || continue
+  # The following means we look up the names of commands
+  # after stripping quotes.  This is presumably correct,
+  # but do we need to do the same elsewhere?
+  str=${(Q)str}
   name="$str"
   comp="${_comps[$str]}"
   service="${_services[$str]:-$str}"