From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by melb.werple.net.au (8.7.5/8.7.3/2) with ESMTP id RAA22240 for ; Mon, 22 Jul 1996 17:49:30 +1000 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id DAA19438; Mon, 22 Jul 1996 03:35:29 -0400 (EDT) Resent-Date: Mon, 22 Jul 1996 03:35:29 -0400 (EDT) Message-Id: <199607220734.JAA25557@hydra.ifh.de> To: zsh-workers@math.gatech.edu (Zsh hackers list) Subject: Re: Another patch to compctl-examples CVS compctl, and a bug? In-reply-to: "schaefer@candle.brasslantern.com"'s message of "Fri, 19 Jul 1996 12:53:25 MET." <960719125325.ZM320@candle.brasslantern.com> Date: Mon, 22 Jul 1996 09:34:22 +0200 From: Peter Stephenson Resent-Message-ID: <"bFop03.0.el4.1zoyn"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/1735 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu schaefer@candle.brasslantern.com wrote: > However, I don't know where to put a `zleactive = 0;' to prevent this. > Does it go in getoutput()? That would solve this particular case, but > there might be others. Does it go in entersubsh()? Or is entersubsh() > sometimes called when we haven't really forked? > > Insights appreciated. I'm not sure if I'd go as far as `insight', but putting zleactive to zero in entersubsh() sounds very plausible to me. Entersubsh() is sometimes called when we haven't really forked, but the intention is always that the shell is about to exec a command in the manner it would if it actually had forked. In fact, turning off the interactive capabilities is one of its major raisons d'etre, so this looks just the place. It's not clear to me, by the way, whether the subset of options that gets turned off in entersubsh() --- currently MONITOR and USEZLE (aha! that proves it --- if USEZLE is turned off, zleactive should certainly go to zero) is correct. If MONITOR, why not INTERACTIVE itself? % for opt in monitor interactive; do for> print $([[ -o $opt ]] && print $opt is set) for> done interactive is set *** Src/exec.c.bart Mon Jul 22 09:27:52 1996 --- Src/exec.c Mon Jul 22 09:28:14 1996 *************** *** 1857,1862 **** --- 1857,1863 ---- if (sigtrapped[SIGQUIT] != 2) signal_default(SIGQUIT); opts[MONITOR] = opts[USEZLE] = 0; + zleactive = 0; if (cl) clearjobtab(); times(&shtms); -- Peter Stephenson Tel: +49 33762 77366 WWW: http://www.ifh.de/~pws/ Fax: +49 33762 77330 Deutches Electronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen DESY-IfH, 15735 Zeuthen, Germany.