summary refs log tree commit diff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-07-27 09:44:10 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2015-07-27 09:44:10 -0700
commite0980e91be4604554eb89312ede665cd1d167f67 (patch)
tree9419ba96e2402c24575e402f20ba0b3c8d558f71
parentd470453d76a3ff0c4816752630bf70733cfbc8b5 (diff)
downloadzsh-e0980e91be4604554eb89312ede665cd1d167f67.tar.gz
zsh-e0980e91be4604554eb89312ede665cd1d167f67.tar.xz
zsh-e0980e91be4604554eb89312ede665cd1d167f67.zip
35937: wait for process IDs instead of job numbers in parallel mode
-rw-r--r--ChangeLog5
-rw-r--r--Functions/Misc/zargs4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5fbd907b3..8a5085fba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-27  Barton E. Schaefer  <schaefer@zsh.org>
+
+	* 35937: Functions/Misc/zargs: wait for process IDs instead of
+	job numbers in parallel mode, in case zargs is in a pipeline
+
 2015-07-26  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
 	* 35274 (plus tweaks): Completion/BSD/Command/_watch-snoop
diff --git a/Functions/Misc/zargs b/Functions/Misc/zargs
index 71fd42835..28ebca78f 100644
--- a/Functions/Misc/zargs
+++ b/Functions/Misc/zargs
@@ -73,7 +73,7 @@
 emulate -L zsh || return 1
 local -a opts eof n s l P i
 
-local ZARGS_VERSION="1.4"
+local ZARGS_VERSION="1.5"
 
 if zparseopts -a opts -D -- \
 	-eof::=eof e::=eof \
@@ -254,7 +254,7 @@ then
     bg='&'
     if zmodload -i zsh/parameter 2>/dev/null
     then
-	wait='wait %${(k)^jobstates[(R)running:*]}'
+	wait='wait ${${jobstates[(R)running:*]/#*:/}/%=*/}'
     else
 	wait='wait'
     fi