From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from math.gatech.edu (euclid.skiles.gatech.edu [130.207.146.50]) by werple.net.au (8.7/8.7.1) with SMTP id CAA13110 for ; Fri, 24 Nov 1995 02:24:50 +1100 (EST) Received: by math.gatech.edu (5.x/SMI-SVR4) id AA28892; Thu, 23 Nov 1995 09:54:24 -0500 Resent-Date: Thu, 23 Nov 1995 14:54:27 +0000 (GMT) Old-Return-Path: From: Zefram Message-Id: <5898.199511231454@stone.dcs.warwick.ac.uk> Subject: fix for $? after parameter setting To: zsh-workers@math.gatech.edu (Z Shell workers mailing list) Date: Thu, 23 Nov 1995 14:54:27 +0000 (GMT) X-Loop: zefram@dcs.warwick.ac.uk X-Stardate: [-31]6638.10 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-Id: <"mcnid2.0.M37.Vi8jm"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/637 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu -----BEGIN PGP SIGNED MESSAGE----- This bug appeared in beta10: % wibble=$(false) % echo $? 0 % ksh $ wibble=$(false) $ echo $? 1 Here's the fix: *** 1.1 1995/11/23 06:07:30 --- Src/exec.c 1995/11/23 14:48:19 *************** *** 1161,1168 **** } else addlinknode(args, dupstring(nullcmd)); } else { addvars(cmd->vars, 0); ! lastval = errflag; if (isset(XTRACE)) { fputc('\n', stderr); fflush(stderr); --- 1161,1169 ---- } else addlinknode(args, dupstring(nullcmd)); } else { + lastval = 0; addvars(cmd->vars, 0); ! if(errflag) lastval = errflag; if (isset(XTRACE)) { fputc('\n', stderr); fflush(stderr); -zefram -----BEGIN PGP SIGNATURE----- Version: 2.6.i iQCVAgUBMLSLEnD/+HJTpU/hAQG2RAP+Khs6U2zLscA3ubRQqhxUBJi+lqZLBCb0 eNA6DrmhpbKSGSCDNUrt2ge+S6/0gp8Hls/vcjf4GafDwf62X1B4fykc37n520rp /RMbXdVsRBlG74R+nPlMeKTHU0wtqfkKkxm4rkVpBDov8KMVz7h+oI6nQys+JyDL z2sqXdXbCw8= =osYx -----END PGP SIGNATURE-----