From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22085 invoked from network); 1 Apr 1997 00:10:07 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by coral.primenet.com.au with SMTP; 1 Apr 1997 00:10:07 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id TAA10918; Mon, 31 Mar 1997 19:03:48 -0500 (EST) Resent-Date: Mon, 31 Mar 1997 19:03:48 -0500 (EST) Date: Tue, 1 Apr 1997 01:06:40 +0100 (BST) From: Zefram Message-Id: <17381.199704010006@stone.dcs.warwick.ac.uk> Subject: special parameter fix X-Patch: 245 Resent-Message-ID: <"_gvry2.0.Xg2.a35Gp"@euclid> To: zsh-workers@math.gatech.edu Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3059 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu -----BEGIN PGP SIGNED MESSAGE----- My patch 3048 contained a small bug, in that its method of checking for an attempt to change the type of a special parameter is ineffective. The commands typeset -R UID echo $UID will cause a crash without this patch. -zefram *** Src/builtin.c 1997/03/30 00:49:13 1.74 --- Src/builtin.c 1997/03/31 04:01:22 *************** *** 1415,1421 **** continue; } if((pm->flags & PM_SPECIAL) && ! PM_TYPE(on) && PM_TYPE(on) != PM_TYPE(pm->flags)) { zerrnam(name, "%s: cannot change type of a special parameter", pm->nam, 0); returnval = 1; --- 1415,1421 ---- continue; } if((pm->flags & PM_SPECIAL) && ! PM_TYPE((pm->flags | on) & ~off) != PM_TYPE(pm->flags)) { zerrnam(name, "%s: cannot change type of a special parameter", pm->nam, 0); returnval = 1; -----BEGIN PGP SIGNATURE----- Version: 2.6.3ia Charset: ascii iQCVAwUBMz85T3D/+HJTpU/hAQHHdgP9G+Nbu1x6Ri0EH4ARUYfSr/FqNiKicnbp HouaWVf1ken7j8ziTEve3Sc7aBLu754rPjm8THCZpJRNCrKAAhBPs/W/QCKqmFLI Y+qlEGGq3XS0nTZCA1smLNmhTrQJpEPEsAm8zHY6McghQHn/V5cFC7LNP/Tb+X/x OWytJ7IscO4= =OcAb -----END PGP SIGNATURE-----