about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_init_d2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 498f1f34b..93ed9adc5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2006-10-10  Peter Stephenson  <pws@csr.com>
 
+	* 22851: arno: Completion/Unix/Command/_init_d: "-" can occur
+	in script names.
+
 	* 22854: Doc/Zsh/contrib.yo, Functions/Zle/replace-string,
 	Functions/Zle/replace-string-again: separate out back end
 	as separate widget to repeat replacement.
diff --git a/Completion/Unix/Command/_init_d b/Completion/Unix/Command/_init_d
index f439e8007..2443febe3 100644
--- a/Completion/Unix/Command/_init_d
+++ b/Completion/Unix/Command/_init_d
@@ -15,7 +15,7 @@ script=$words[1]
 what='(st(art|op|atus)|(force-|)re(start|load)|debug_(up|down)|dump(|_stats)|add|delete|clean|list)'
 
 read -u0 -k2 magic < $script && [[ $magic = '#!' ]] &&
-    cmds=( ${${(j:|:s:|:)${(M)${(f)"$(< $script)"}:#[[:blank:]]#(\'|)${~what}(\|${~what})#(\'|)\)}}//[^a-z_]} )
+    cmds=( ${${(j:|:s:|:)${(M)${(f)"$(< $script)"}:#[[:blank:]]#(\'|)${~what}(\|${~what})#(\'|)\)}}//[^-a-z_]} )
 
 # This would be the pattern to use every line of the form <space>foo).
 # Some people say this might match too many lines...