From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3480 invoked from network); 30 Sep 1999 14:24:34 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 30 Sep 1999 14:24:34 -0000 Received: (qmail 4768 invoked by alias); 30 Sep 1999 14:24:23 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 8109 Received: (qmail 4761 invoked from network); 30 Sep 1999 14:24:22 -0000 Date: Thu, 30 Sep 1999 10:24:17 -0400 From: Clint Adams To: zsh-workers@sunsite.auc.dk Subject: PATCH: "sh" job control Message-ID: <19990930102417.A12538@dman.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii User-Agent: Mutt/1.0pre2i Most other shells seem to default to exiting right away when told to exit while there are jobs in the job table. zsh provided no way for silence (other than disowning all jobs or setopt nomonitor) The following patch introduces an option "shjobcontrol" (bad name?) which skips the checkjobs() call. diff -c --recursive Src.old/builtin.c Src/builtin.c *** Src.old/builtin.c Tue Sep 21 05:25:31 1999 --- Src/builtin.c Thu Sep 30 10:03:53 1999 *************** *** 3152,3158 **** HEAPALLOC { if (isset(MONITOR) && !stopmsg && !from_signal) { scanjobs(); /* check if jobs need printing */ ! checkjobs(); /* check if any jobs are running/stopped */ if (stopmsg) { stopmsg = 2; LASTALLOC_RETURN; --- 3152,3159 ---- HEAPALLOC { if (isset(MONITOR) && !stopmsg && !from_signal) { scanjobs(); /* check if jobs need printing */ ! if (unset(SHJOBCONTROL)) ! checkjobs(); /* check if any jobs are running/stopped */ if (stopmsg) { stopmsg = 2; LASTALLOC_RETURN; diff -c --recursive Src.old/options.c Src/options.c *** Src.old/options.c Wed Sep 22 08:59:48 1999 --- Src/options.c Thu Sep 30 10:14:49 1999 *************** *** 186,191 **** --- 186,192 ---- {NULL, "shinstdin", OPT_SPECIAL, SHINSTDIN}, {NULL, "shoptionletters", OPT_EMULATE|OPT_BOURNE, SHOPTIONLETTERS}, {NULL, "shortloops", OPT_ALL, SHORTLOOPS}, + {NULL, "shjobcontrol", OPT_EMULATE|OPT_NONZSH, SHJOBCONTROL}, {NULL, "shwordsplit", OPT_EMULATE|OPT_BOURNE, SHWORDSPLIT}, {NULL, "singlecommand", OPT_SPECIAL, SINGLECOMMAND}, {NULL, "singlelinezle", OPT_KSH, SINGLELINEZLE}, diff -c --recursive Src.old/zsh.h Src/zsh.h *** Src.old/zsh.h Wed Sep 22 08:59:48 1999 --- Src/zsh.h Thu Sep 30 10:07:34 1999 *************** *** 1359,1364 **** --- 1359,1365 ---- SHINSTDIN, SHOPTIONLETTERS, SHORTLOOPS, + SHJOBCONTROL, SHWORDSPLIT, SINGLECOMMAND, SINGLELINEZLE,