summaryrefslogtreecommitdiff
path: root/Completion/Base/Utility/_call_program
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2014-10-08 01:29:12 +0200
committerAxel Beckert <abe@deuxchevaux.org>2014-10-08 01:29:12 +0200
commit1c3f90e3af0c3d6c8e946653169287baf5814ad4 (patch)
tree9b15e9ad8157bd8f9f697f6dc4e59146b6833c59 /Completion/Base/Utility/_call_program
parent1ffb184b46edd34d389af4e016abcaafec454d44 (diff)
parent9982ab6fb5266298c056326ed265fc8560202603 (diff)
downloadzsh-1c3f90e3af0c3d6c8e946653169287baf5814ad4.tar.gz
zsh-1c3f90e3af0c3d6c8e946653169287baf5814ad4.zip
Merge commit '9982ab6fb5266298c056326ed265fc8560202603' into debian
This is exactly one commit after the zsh-5.0.7 and adds one missing (and not unimportant) changelog entry for the 5.0.7 release.
Diffstat (limited to 'Completion/Base/Utility/_call_program')
-rw-r--r--Completion/Base/Utility/_call_program17
1 files changed, 15 insertions, 2 deletions
diff --git a/Completion/Base/Utility/_call_program b/Completion/Base/Utility/_call_program
index b038a80bc..b65764827 100644
--- a/Completion/Base/Utility/_call_program
+++ b/Completion/Base/Utility/_call_program
@@ -1,6 +1,13 @@
#autoload +X
-local tmp
+local tmp err_fd=-1
+
+if (( ${debug_fd:--1} > 2 ))
+then exec {err_fd}>&2 # debug_fd is saved stderr, 2 is log file
+else exec {err_fd}>/dev/null
+fi
+
+{ # Begin "always" block
if zstyle -s ":completion:${curcontext}:${1}" command tmp; then
if [[ "$tmp" = -* ]]; then
@@ -10,4 +17,10 @@ if zstyle -s ":completion:${curcontext}:${1}" command tmp; then
fi
else
eval "$argv[2,-1]"
-fi
+fi 2>&$err_fd
+
+} always {
+
+exec {err_fd}>&-
+
+}