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) with ESMTP id AAA14848 for ; Tue, 26 Mar 1996 00:03:28 +1100 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id HAA28371; Mon, 25 Mar 1996 07:52:00 -0500 (EST) Resent-Date: Mon, 25 Mar 1996 07:52:00 -0500 (EST) From: Zoltan Hidvegi Message-Id: <199603251250.NAA01730@bolyai.cs.elte.hu> Subject: Re: hzoli13 another bug ? To: gene@sapience.com (Gene Cohler) Date: Mon, 25 Mar 1996 13:50:44 +0100 (MET) Cc: zsh-workers@math.gatech.edu (zsh-workers) In-Reply-To: <9603242016.ZM20938@cogent.sapience.com> from Gene Cohler at "Mar 24, 96 08:16:46 pm" Organization: Dept. of Comp. Sci., Eotvos University, Budapest, Hungary Phone: (36 1)2669833 ext: 2667, home phone: (36 1) 2752368 X-Mailer: ELM [version 2.4ME+ PL11 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"S-3lk3.0.Dx6.lRfLn"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/855 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > Hey Zoltan: > > I have run into another problem. > > After assigning result code of execution to a variable it has wrong value: > > % egrep -q $u $DbFile > % echo $? > 1 > % egrep -q $u $DbFile > % rc=$? > % echo $rc > 0 > > Again this is not in the stock beta13 version. A patch in art. 637 from Zefram broke this. It tried to fix a bug when an assignment like wibble=$(false) did not set $?. Everyone who applied the patch in art. 637 (i.e. everyone using beta13-hzoli13) should also apply the patch below. Bye, Zoltan *** Src/exec.c 1996/03/22 21:33:31 1.15 --- Src/exec.c 1996/03/25 12:41:37 *************** *** 1174,1182 **** } else addlinknode(args, dupstring(nullcmd)); } else { - lastval = 0; addvars(cmd->vars, 0); ! if(errflag) lastval = errflag; if (isset(XTRACE)) { fputc('\n', stderr); fflush(stderr); --- 1174,1184 ---- } else addlinknode(args, dupstring(nullcmd)); } else { addvars(cmd->vars, 0); ! if(errflag) ! lastval = errflag; ! else ! lastval = 0; if (isset(XTRACE)) { fputc('\n', stderr); fflush(stderr);