summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2016-09-05 13:57:49 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2016-09-05 13:57:49 (GMT)
commitb2416bd570c3cc5431441c91207dd443e15b3689 (patch)
tree292b0361e6fc21f01fa3b3f31dbbf0fa00658840
parentc69560787b8c49c748c57de234548e3ba29635d5 (diff)
parentc4b6cab579135a425ee76831a12791d16bf5dde5 (diff)
downloadtcl-b2416bd570c3cc5431441c91207dd443e15b3689.zip
tcl-b2416bd570c3cc5431441c91207dd443e15b3689.tar.gz
tcl-b2416bd570c3cc5431441c91207dd443e15b3689.tar.bz2
merge trunk
-rw-r--r--generic/tclCmdAH.c2
-rw-r--r--generic/tclLiteral.c3
-rw-r--r--generic/tclTest.c13
-rw-r--r--tests/resolver.test2
4 files changed, 14 insertions, 6 deletions
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c
index eebc63b..0883a1d 100644
--- a/generic/tclCmdAH.c
+++ b/generic/tclCmdAH.c
@@ -1461,7 +1461,7 @@ FileAttrIsOwnedCmd(
Tcl_Obj *const objv[])
{
#ifdef __CYGWIN__
-#define geteuid() (short)(geteuid)()
+#define geteuid() (short)(geteuid)()
#endif
#if !defined(_WIN32)
Tcl_StatBuf buf;
diff --git a/generic/tclLiteral.c b/generic/tclLiteral.c
index 3864ad5..de299d4 100644
--- a/generic/tclLiteral.c
+++ b/generic/tclLiteral.c
@@ -431,12 +431,13 @@ TclRegisterLiteral(
* Is it in the interpreter's global literal table? If not, create it.
*/
+ globalPtr = NULL;
objPtr = TclCreateLiteral(iPtr, bytes, length, hash, &new, nsPtr, flags,
&globalPtr);
objIndex = AddLocalLiteralEntry(envPtr, objPtr, localHash);
#ifdef TCL_COMPILE_DEBUG
- if (globalPtr->refCount < 1) {
+ if (globalPtr != NULL && globalPtr->refCount < 1) {
Tcl_Panic("%s: global literal \"%.*s\" had bad refCount %d",
"TclRegisterLiteral", (length>60? 60 : length), bytes,
globalPtr->refCount);
diff --git a/generic/tclTest.c b/generic/tclTest.c
index f2a948a..a73d227 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -7300,9 +7300,16 @@ TestInterpResolverCmd(
int idx;
#define RESOLVER_KEY "testInterpResolver"
- if (objc != 2) {
- Tcl_WrongNumArgs(interp, 1, objv, "up|down");
- return TCL_ERROR;
+ if ((objc < 2) || (objc > 3)) {
+ Tcl_WrongNumArgs(interp, 1, objv, "up|down ?interp?");
+ return TCL_ERROR;
+ }
+ if (objc == 3) {
+ interp = Tcl_GetSlave(interp, Tcl_GetString(objv[2]));
+ if (interp == NULL) {
+ Tcl_AppendResult(interp, "provided interpreter not found", NULL);
+ return TCL_ERROR;
+ }
}
if (Tcl_GetIndexFromObjStruct(interp, objv[1], table,
sizeof(char *), "operation", TCL_EXACT, &idx) != TCL_OK) {
diff --git a/tests/resolver.test b/tests/resolver.test
index f3d22e5..aaad02c 100644
--- a/tests/resolver.test
+++ b/tests/resolver.test
@@ -187,7 +187,7 @@ test resolver-2.1 {compiled var resolver: Bug #3383616} -setup {
# During the compilation the compiled var resolver, the resolve-specific
# var info is allocated, during the execution of the body, the variable is
# fetched and cached.
- x;
+ x
# During later calls, the cached variable is reused.
x
# When the proc is freed, the resolver-specific resolver var info is