Chet,
The man page mentioned that 'set -m' should print 'a line containing their status upon their completion' ... which should imply 'set +m' should NOT print the status.
Attached is a patch to 'silent' bash so that it won't print the status when 'Monitor mode' is off (set +m).
If this is not the right place to do this, please suggest an alternative to silent bash when 'kill %!' is executed.
Thanks, Jeff --- bash/jobs.c.org 2009-11-06 20:26:13.000000000 +0800 +++ bash/jobs.c 2009-11-06 23:55:17.000000000 +0800 @@ -3489,8 +3489,12 @@ signal_is_trapped (termsig) == 0) { /* Don't print `0' for a line number. */ - fprintf (stderr, _("%s: line %d: "), get_name_for_error (), (line_number == 0) ? 1 : line_number); - pretty_print_job (job, JLIST_NONINTERACTIVE, stderr); + if(job_control) { + fprintf (stderr, _("%s: line %d: "), + get_name_for_error (), + (line_number == 0) ? 1 : line_number); + pretty_print_job (job, JLIST_NONINTERACTIVE, stderr); + } } else if (IS_FOREGROUND (job)) {