From 748bd73d88ff777b6af0afd32934afb43b11ed6f Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sun, 25 Sep 2011 18:09:13 +0000 Subject: unposted: cross-reference zmodload from the modules intro doc. 29769: follow-up 29677 to handle the case where thisjob == -1. --- ChangeLog | 9 ++++++++- Doc/Zsh/modules.yo | 8 ++++++-- Src/signals.c | 4 +++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 74f78a944..2b7f1e15c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-09-25 Barton E. Schaefer + + * 29769: Src/signals.c: handle thisjob == -1 (no foreground job) + when checking for whether a background job is allowed to suspend. + + * unposted: Doc/Zsh/modules.yo: cross-reference zmodload. + 2011-09-22 Peter Stephenson * Daniel Friesel: 29796: Completion/X/Command/_mplayer: complete @@ -15440,5 +15447,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5472 $ +* $Revision: 1.5473 $ ***************************************************** diff --git a/Doc/Zsh/modules.yo b/Doc/Zsh/modules.yo index 3f9986096..c8b846b95 100644 --- a/Doc/Zsh/modules.yo +++ b/Doc/Zsh/modules.yo @@ -6,7 +6,11 @@ Some optional parts of zsh are in modules, separate from the core of the shell. Each of these modules may be linked in to the shell at build time, or can be dynamically linked while the shell is running -if the installation supports this feature. The modules that -are bundled with the zsh distribution are: +if the installation supports this feature. +Modules are linked at runtime with the tt(zmodload) command, +see ifzman(zmanref(zshbuiltins))\ +ifnzman(noderef(Shell Builtin Commands)). + +The modules that are bundled with the zsh distribution are: includefile(Zsh/modlist.yo) diff --git a/Src/signals.c b/Src/signals.c index dd39158d0..ad688094b 100644 --- a/Src/signals.c +++ b/Src/signals.c @@ -491,7 +491,9 @@ wait_for_processes(void) */ if (findproc(pid, &jn, &pn, 0)) { if (((jn->stat & STAT_BUILTIN) || - (list_pipe && (jobtab[thisjob].stat & STAT_BUILTIN))) && + (list_pipe && + (thisjob == -1 || + (jobtab[thisjob].stat & STAT_BUILTIN)))) && WIFSTOPPED(status) && WSTOPSIG(status) == SIGTSTP) { killjb(jn, SIGCONT); zwarn("job can't be suspended"); -- cgit 1.4.1