zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@cambridgesiliconradio.com>
To: zsh-workers@sunsite.auc.dk (Zsh hackers list),
	Rob Egelink <rob@rambo.its.tudelft.nl>
Subject: PATCH: Re: jobs command in precmd
Date: Thu, 29 Jun 2000 10:25:42 +0100	[thread overview]
Message-ID: <0FWW00BFDSUU9D@la-la.cambridgesiliconradio.com> (raw)
In-Reply-To: "Your message of Wed, 28 Jun 2000 11:20:38 BST." <0FWV001LZ0QDKS@la-la.cambridgesiliconradio.com>

> Maybe simply saving and restoring stopmsg when executing
> precmd would be enough.

This seems to be OK; here's the patch for the latest code in CVS.  I'll
send a patch for 3.0.8, too.

The last hunk keeps variables in read_poll() under control; it should
patch against 3.1.9 or 3.1.9-dev-1 if that's left out.

I couldn't find any description of the current logic for checking jobs, so
I added a short description to the CHECK_JOBS option.

Index: Doc/Zsh/options.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/options.yo,v
retrieving revision 1.8
diff -u -r1.8 options.yo
--- Doc/Zsh/options.yo	2000/05/24 17:20:26	1.8
+++ Doc/Zsh/options.yo	2000/06/29 09:21:46
@@ -244,8 +244,14 @@
 cindex(logging out, checking jobs when)
 item(tt(CHECK_JOBS) <Z>)(
 Report the status of background and suspended jobs before exiting a shell
-with job control.  tt(NO_CHECK_JOBS) is best used only in combination with
-tt(NO_HUP), else such jobs will be killed automatically.
+with job control; a second attempt to exit the shell will succeed.
+tt(NO_CHECK_JOBS) is best used only in combination with tt(NO_HUP), else
+such jobs will be killed automatically.
+
+The check is omitted if the commands run from the previous command line
+included a `tt(jobs)' command, since it is assumed the user is aware that
+there are background or suspended jobs.  A `tt(jobs)' command run from the
+tt(precmd) function is not counted for this purpose.
 )
 pindex(CLOBBER)
 cindex(clobbering, of files)
Index: Src/utils.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/utils.c,v
retrieving revision 1.9
diff -u -r1.9 utils.c
--- Src/utils.c	2000/06/26 21:27:08	1.9
+++ Src/utils.c	2000/06/29 09:21:46
@@ -644,11 +644,16 @@
     /* If a shell function named "precmd" exists, *
      * then execute it.                           */
     if ((prog = getshfunc("precmd")) != &dummy_eprog) {
-	int osc = sfcontext;
+	/*
+	 * Save stopmsg, since user doesn't get a chance to respond
+	 * to a list of jobs generated in precmd.
+	 */
+	int osc = sfcontext, osm = stopmsg;
 
 	sfcontext = SFC_HOOK;
 	doshfunc("precmd", prog, NULL, 0, 1);
 	sfcontext = osc;
+	stopmsg = osm;
     }
     if (errflag)
 	return;
@@ -1316,12 +1321,13 @@
     int ret = 0;
     long mode = -1;
     char c;
-#ifdef FIONREAD
-    int val;
-#endif
 #ifdef HAVE_SELECT
     fd_set foofd;
     struct timeval expire_tv;
+#else
+#ifdef FIONREAD
+    int val;
+#endif
 #endif
 #ifdef HAS_TIO
     struct ttyinfo ti;

-- 
Peter Stephenson <pws@cambridgesiliconradio.com>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070


  reply	other threads:[~2000-06-29  9:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20000628113611.A20108@rambo.its.tudelft.nl>
2000-06-28 10:20 ` Peter Stephenson
2000-06-29  9:25   ` Peter Stephenson [this message]
2000-06-29  9:41     ` PATCH: " Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0FWW00BFDSUU9D@la-la.cambridgesiliconradio.com \
    --to=pws@cambridgesiliconradio.com \
    --cc=rob@rambo.its.tudelft.nl \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).