about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2014-10-09 17:54:47 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2014-10-09 17:54:47 -0700
commit22c4ea424ce2e8febce04d324c5ec9898f5d534b (patch)
tree9da725eba405fdad1256e0234731635ca64816d1
parenta03227de23f623370ab6a6eaf8d22e8d9b1a3aae (diff)
downloadzsh-22c4ea424ce2e8febce04d324c5ec9898f5d534b.tar.gz
zsh-22c4ea424ce2e8febce04d324c5ec9898f5d534b.tar.xz
zsh-22c4ea424ce2e8febce04d324c5ec9898f5d534b.zip
33403: be conservative about redirecting _call_program stderr, the caller may have already done so
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Base/Utility/_call_program4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b27895c8d..5b3b1b23c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,11 @@
 	* 33405: Functions/VCS_Info/vcs_info: Make sure maxexports
 	is set when VCS_INFO_set is called
 
+2014-10-09  Barton E. Schaefer  <schaefer@zsh.org>
+
+	* 33403: Completion/Base/Utility/_call_program: be conservative
+	about redirecting stderr, the caller may have already done so
+
 2014-10-09  Marc Finet  <m.dreadlock@gmail.com>
 
 	* 33391: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
diff --git a/Completion/Base/Utility/_call_program b/Completion/Base/Utility/_call_program
index b65764827..010e09476 100644
--- a/Completion/Base/Utility/_call_program
+++ b/Completion/Base/Utility/_call_program
@@ -2,8 +2,8 @@
 
 local tmp err_fd=-1
 
-if (( ${debug_fd:--1} > 2 ))
-then exec {err_fd}>&2	# debug_fd is saved stderr, 2 is log file
+if (( ${debug_fd:--1} > 2 )) || [[ ! -t 2 ]]
+then exec {err_fd}>&2	# debug_fd is saved stderr, 2 is trace or redirect
 else exec {err_fd}>/dev/null
 fi