diff options
author | redman <redman> | 1999-07-22 21:50:53 (GMT) |
---|---|---|
committer | redman <redman> | 1999-07-22 21:50:53 (GMT) |
commit | 56b77d9d6c418f3dee04f0b31834ad76e69e11dd (patch) | |
tree | d6278f0ac3e8f40fdef3bbed06f35b3868fbb00f /generic | |
parent | 41b1b6389d0f6a7a65410e66d85f909e6f855148 (diff) | |
download | tcl-56b77d9d6c418f3dee04f0b31834ad76e69e11dd.zip tcl-56b77d9d6c418f3dee04f0b31834ad76e69e11dd.tar.gz tcl-56b77d9d6c418f3dee04f0b31834ad76e69e11dd.tar.bz2 |
* Changed version to 8.2b2.
* win/tclWinPort.h: Block out include of sys/*.h in order to
build extensions with MetroWerks compiler for Win32. [Bug: 2385]
* generic/tclCmdMZ.c:
* generic/tclIO.c: Fix ANSI-style prototypes based on patch from
Ulrich Ring. [Bug: 2391]
* unix/Makefile.in: Need to make install-sh executable before
calling (with chmod +x). [Bug: 2413]
* tests/var.test:
* generic/tclVar.c: Fixed bug that caused a seg. fault when using
"array set a(b) {}", which is a bad array name anyway. Now the
"array set" command will return an error in this case. Added test
case and fixed existing test. [Bug: 2427]
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tcl.h | 6 | ||||
-rw-r--r-- | generic/tclCmdMZ.c | 9 | ||||
-rw-r--r-- | generic/tclIO.c | 5 | ||||
-rw-r--r-- | generic/tclVar.c | 19 |
4 files changed, 30 insertions, 9 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index 6674670..d62faa6 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tcl.h,v 1.54 1999/07/21 21:29:43 redman Exp $ + * RCS: @(#) $Id: tcl.h,v 1.55 1999/07/22 21:50:54 redman Exp $ */ #ifndef _TCL @@ -56,10 +56,10 @@ extern "C" { #define TCL_MAJOR_VERSION 8 #define TCL_MINOR_VERSION 2 #define TCL_RELEASE_LEVEL TCL_BETA_RELEASE -#define TCL_RELEASE_SERIAL 1 +#define TCL_RELEASE_SERIAL 2 #define TCL_VERSION "8.2" -#define TCL_PATCH_LEVEL "8.2b1" +#define TCL_PATCH_LEVEL "8.2b2" /* * The following definitions set up the proper options for Windows diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index db92f19..585ffa7 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdMZ.c,v 1.18 1999/07/09 02:11:56 stanton Exp $ + * RCS: @(#) $Id: tclCmdMZ.c,v 1.19 1999/07/22 21:50:54 redman Exp $ */ #include "tclInt.h" @@ -1089,7 +1089,12 @@ Tcl_StringObjCmd(dummy, interp, objc, objv) case STR_IS: { char *end; Tcl_UniChar ch; - int (*chcomp)(int) = NULL; /* The UniChar comparison function */ + + /* + * The UniChar comparison function + */ + + int (*chcomp)_ANSI_ARGS_((int)) = NULL; int i, failat = 0, result = 1, strict = 0; Tcl_Obj *objPtr, *failVarObj = NULL; diff --git a/generic/tclIO.c b/generic/tclIO.c index ab3dfaa..d679f9a 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIO.c,v 1.10 1999/07/02 19:51:29 welch Exp $ + * RCS: @(#) $Id: tclIO.c,v 1.11 1999/07/22 21:50:54 redman Exp $ */ #include "tclInt.h" @@ -1815,7 +1815,8 @@ Tcl_UnstackChannel (interp, chan) */ Tcl_Channel -Tcl_GetStackedChannel(Tcl_Channel chan) +Tcl_GetStackedChannel(chan) + Tcl_Channel chan; { Channel* chanPtr = (Channel*) chan; return (Tcl_Channel) chanPtr->supercedes; diff --git a/generic/tclVar.c b/generic/tclVar.c index 0618012..2dc867d 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclVar.c,v 1.10 1999/06/17 00:20:55 hershey Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.11 1999/07/22 21:50:54 redman Exp $ */ #include "tclInt.h" @@ -3198,9 +3198,23 @@ TclArraySet(interp, arrayNameObj, arrayElemObj) Var *varPtr, *arrayPtr; Tcl_Obj **elemPtrs; int result, elemLen, i; - char *varName; + char *varName, *p; varName = TclGetString(arrayNameObj); + for (p = varName; *p ; p++) { + if (*p == '(') { + do { + p++; + } while (*p != '\0'); + p--; + if (*p == ')') { + VarErrMsg(interp, varName, NULL, "set", needArray); + return TCL_ERROR; + } + break; + } + } + varPtr = TclLookupVar(interp, varName, (char *) NULL, /*flags*/ 0, /*msg*/ 0, /*createPart1*/ 0, /*createPart2*/ 0, &arrayPtr); @@ -3257,6 +3271,7 @@ TclArraySet(interp, arrayNameObj, arrayElemObj) varPtr = TclLookupVar(interp, varName, (char *) NULL, 0, 0, /*createPart1*/ 1, /*createPart2*/ 0, &arrayPtr); + } TclSetVarArray(varPtr); TclClearVarUndefined(varPtr); |