Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] Completion: Misc. _call_program fixes



Hi there,

This addresses some minor feedback regarding my disuse of _call_program in the
Darwin functions i added way back in January — see workers # 42235.

It also fixes a mistake that those changes made me realise i'd made in _bash —
if $words[1] needs quoted for eval, we should have already got it that way from
the command line.

dana


diff --git a/Completion/Darwin/Command/_nvram b/Completion/Darwin/Command/_nvram
index 8158eb9d2..8853b0bee 100644
--- a/Completion/Darwin/Command/_nvram
+++ b/Completion/Darwin/Command/_nvram
@@ -15,7 +15,7 @@ _arguments -s : \
 && ret=0
 
 [[ $state == variables-* ]] && {
-  tmp=( ${${(f)"$( command $service -p )"}%%[[:space:]]*} )
+  tmp=( ${${(f)"$( _call_program variables $words[1] -p )"}%%[[:space:]]*} )
 
   [[ $state == variables-rw ]] &&
   tmp=( ${^tmp}'::NVRAM variable value' )
diff --git a/Completion/Darwin/Command/_osascript b/Completion/Darwin/Command/_osascript
index 5e4a5f70c..5e6cebab5 100644
--- a/Completion/Darwin/Command/_osascript
+++ b/Completion/Darwin/Command/_osascript
@@ -18,7 +18,7 @@ case $state in
     # but adding the output of osalang makes this future-proof
     _values 'script language' \
       AppleScript JavaScript 'Generic Scripting System' \
-      ${(f)"$( command osalang 2> /dev/null )"} \
+      ${(f)"$( _call_program languages command osalang )"} \
     && ret=0
     ;;
   modifiers)
diff --git a/Completion/Darwin/Command/_say b/Completion/Darwin/Command/_say
index d687cfa11..1459c7372 100644
--- a/Completion/Darwin/Command/_say
+++ b/Completion/Darwin/Command/_say
@@ -28,9 +28,9 @@ case $state in
     # also, not every file format supports bit-rate values
     (( $+opt_args[--file-format] )) && {
       tmp=( ${(f)"$(
-        command $service \
+        _call_program bit-rates $words[1] \
           --file-format=${opt_args[--file-format]##*:} \
-          --bit-rate='?' 2> /dev/null
+          --bit-rate='\?'
       )"} )
       tmp=( ${tmp//[[:space:]]##/} )
     }
@@ -46,9 +46,9 @@ case $state in
       _message 'data format' && ret=0
     else
       tmp=( ${(f)"$(
-        command $service \
+        _call_program data-formats $words[1] \
           --file-format=${opt_args[--file-format]##*:} \
-          --data-format='?' 2> /dev/null
+          --data-format='\?'
       )"} )
       tmp=( ${tmp//:/\\:} )
       tmp=( ${^tmp/[[:space:]]##/[}\] )
@@ -56,13 +56,13 @@ case $state in
     fi
     ;;
   devices)
-    tmp=( ${(f)"$( command $service -a '?' 2> /dev/null )"} )
+    tmp=( ${(f)"$( _call_program devices $words[1] -a '\?' )"} )
     tmp=( ${tmp##[[:space:]]#[0-9]##[[:space:]]##} )
     tmp=( ${tmp//:/\\:} )
     _values 'audio device name or ID' $tmp && ret=0
     ;;
   file-formats)
-    tmp=( ${(f)"$( command $service --file-format='?' 2> /dev/null )"} )
+    tmp=( ${(f)"$( _call_program file-formats $words[1] --file-format='\?' )"} )
     tmp=( ${tmp%%[[:space:]]##\(.*} )
     tmp=( ${tmp//:/\\:} )
     tmp=( ${^tmp/[[:space:]]##/[}\] )
@@ -76,7 +76,7 @@ case $state in
     && ret=0
     ;;
   voices)
-    tmp=( ${(f)"$( command $service -v '?' 2> /dev/null )"} )
+    tmp=( ${(f)"$( _call_program voices $words[1] -v '\?' )"} )
     tmp=( ${tmp%%[[:space:]](#c2,)*} )
     _values voice $tmp && ret=0
     ;;
diff --git a/Completion/Darwin/Command/_scselect b/Completion/Darwin/Command/_scselect
index 79df2f981..ff7d2610d 100644
--- a/Completion/Darwin/Command/_scselect
+++ b/Completion/Darwin/Command/_scselect
@@ -13,7 +13,7 @@ _arguments -s -S : \
   # For some reason scselect expects location names to be encoded in Mac OS
   # Roman; in order to prevent completed arguments from breaking the tool, we'll
   # insert the UUID instead if the name would contain incompatible characters
-  tmp=( ${(f)"$( command $service 2> /dev/null )"} )
+  tmp=( ${(f)"$( _call_program locations $words[1] )"} )
   tmp=( ${tmp[2,-1]} )
   tmp=( ${tmp##[*[:space:]]##} )
   tmp=( ${tmp//:/\\:} )

diff --git a/Completion/Unix/Command/_bash b/Completion/Unix/Command/_bash
index 260ca64fb..cc219f788 100644
--- a/Completion/Unix/Command/_bash
+++ b/Completion/Unix/Command/_bash
@@ -71,12 +71,12 @@ case $state in
     fi
     ;;
   set-options)
-    tmp=( ${(f)"$( _call_program set-options ${(q-)cmd} -c '"shopt -o"' )"} )
+    tmp=( ${(f)"$( _call_program set-options $cmd -c '"shopt -o"' )"} )
     tmp=( ${tmp%%[[:space:]]*} )
     _values -w '`set` option' $tmp && ret=0
     ;;
   shopt-options)
-    tmp=( ${(f)"$( _call_program shopt-options ${(q-)cmd} -c shopt )"} )
+    tmp=( ${(f)"$( _call_program shopt-options $cmd -c shopt )"} )
     tmp=( ${tmp%%[[:space:]]*} )
     _values -w '`shopt` option' $tmp && ret=0
     ;;



Messages sorted by: Reverse Date, Date, Thread, Author