summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-02-26 08:14:56 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-02-26 08:14:56 (GMT)
commit86d269ab0a23dc63dc3c00b2f54fc8180997e944 (patch)
tree2615283ecf44a236b3eef387b87990ab5299e101
parent912dd9a9979c1abbc38bf25876c315799795b06a (diff)
parent5c61b2bbdce7b9dbc4c067cf5646e8bd175a9d84 (diff)
downloadtcl-86d269ab0a23dc63dc3c00b2f54fc8180997e944.zip
tcl-86d269ab0a23dc63dc3c00b2f54fc8180997e944.tar.gz
tcl-86d269ab0a23dc63dc3c00b2f54fc8180997e944.tar.bz2
Merge 8.7
-rw-r--r--doc/lsearch.n2
-rw-r--r--generic/tclOODefineCmds.c3
-rw-r--r--library/dde/pkgIndex.tcl4
-rwxr-xr-xlibrary/reg/pkgIndex.tcl4
-rw-r--r--tests/internals.tcl4
-rw-r--r--tests/oo.test34
-rw-r--r--tests/registry.test4
-rw-r--r--tests/winDde.test4
-rw-r--r--win/Makefile.in4
-rw-r--r--win/makefile.vc4
-rw-r--r--win/tclWinDde.c2
-rw-r--r--win/tclWinReg.c6
12 files changed, 54 insertions, 21 deletions
diff --git a/doc/lsearch.n b/doc/lsearch.n
index f38afc9..2586486 100644
--- a/doc/lsearch.n
+++ b/doc/lsearch.n
@@ -227,7 +227,7 @@ The same thing for a flattened list:
\fI\(-> {a abc b bcd}\fR
.CE
.SH "SEE ALSO"
-foreach(n),
+foreach(n),
list(n), lappend(n), lassign(n), lindex(n), linsert(n), llength(n),
lmap(n), lpop(n), lrange(n), lremove(n), lrepeat(n), lreplace(n),
lreverse(n), lset(n), lsort(n),
diff --git a/generic/tclOODefineCmds.c b/generic/tclOODefineCmds.c
index ba5299e..fb2fbb5 100644
--- a/generic/tclOODefineCmds.c
+++ b/generic/tclOODefineCmds.c
@@ -2598,7 +2598,6 @@ ClassSuperSet(
superclasses[i] = GetClassInOuterContext(interp, superv[i],
"only a class can be a superclass");
if (superclasses[i] == NULL) {
- i--;
goto failedAfterAlloc;
}
for (j = 0; j < i; j++) {
@@ -2615,7 +2614,7 @@ ClassSuperSet(
"attempt to form circular dependency graph", -1));
Tcl_SetErrorCode(interp, "TCL", "OO", "CIRCULARITY", NULL);
failedAfterAlloc:
- for (; i > 0; i--) {
+ for (; i-- > 0 ;) {
TclOODecrRefCount(superclasses[i]->thisPtr);
}
Tcl_Free(superclasses);
diff --git a/library/dde/pkgIndex.tcl b/library/dde/pkgIndex.tcl
index 16f47f8..e8917ac 100644
--- a/library/dde/pkgIndex.tcl
+++ b/library/dde/pkgIndex.tcl
@@ -1,7 +1,7 @@
if {![package vsatisfies [package provide Tcl] 8.5-]} return
if {[info sharedlibextension] != ".dll"} return
if {[::tcl::pkgconfig get debug]} {
- package ifneeded dde 1.4.2 [list load [file join $dir tcldde14g.dll] dde]
+ package ifneeded dde 1.4.3 [list load [file join $dir tcldde14g.dll] dde]
} else {
- package ifneeded dde 1.4.2 [list load [file join $dir tcldde14.dll] dde]
+ package ifneeded dde 1.4.3 [list load [file join $dir tcldde14.dll] dde]
}
diff --git a/library/reg/pkgIndex.tcl b/library/reg/pkgIndex.tcl
index 8676208..b33970d 100755
--- a/library/reg/pkgIndex.tcl
+++ b/library/reg/pkgIndex.tcl
@@ -1,9 +1,9 @@
if {![package vsatisfies [package provide Tcl] 8.5-]} return
if {[info sharedlibextension] != ".dll"} return
if {[::tcl::pkgconfig get debug]} {
- package ifneeded registry 1.3.4 \
+ package ifneeded registry 1.3.5 \
[list load [file join $dir tclreg13g.dll] registry]
} else {
- package ifneeded registry 1.3.4 \
+ package ifneeded registry 1.3.5 \
[list load [file join $dir tclreg13.dll] registry]
}
diff --git a/tests/internals.tcl b/tests/internals.tcl
index 6b5bb87..e859afe 100644
--- a/tests/internals.tcl
+++ b/tests/internals.tcl
@@ -21,7 +21,7 @@ namespace path ::tcltest
# Options:
# -addmem - set additional memory limit (in bytes) as difference (extra memory needed to run a test)
# -maxmem - set absolute maximum address space limit (in bytes)
-#
+#
proc testWithLimit args {
set body [lindex $args end]
array set in [lrange $args 0 end-1]
@@ -45,7 +45,7 @@ proc testWithLimit args {
incr in(-addmem) 20000000
# + size of locale-archive (may be up to 100MB):
incr in(-addmem) [expr {
- [file exists /usr/lib/locale/locale-archive] ?
+ [file exists /usr/lib/locale/locale-archive] ?
[file size /usr/lib/locale/locale-archive] : 0
}]
}
diff --git a/tests/oo.test b/tests/oo.test
index 3b56f30..c73c36c 100644
--- a/tests/oo.test
+++ b/tests/oo.test
@@ -313,6 +313,40 @@ test oo-1.18.3 {Bug 21c144f0f5} -setup {
} -cleanup {
interp delete slave
}
+test oo-1.18.4 {correct handling of cleanup in superclass set error} -setup {
+ interp create slave
+} -body {
+ slave eval {
+ oo::class create A
+ oo::class create B {
+ superclass oo::class
+ constructor {} {
+ next {superclass A}
+ next {superclass -append A}
+ }
+ }
+ [B create C] create d
+ }
+} -returnCodes error -cleanup {
+ interp delete slave
+} -result {class should only be a direct superclass once}
+test oo-1.18.5 {correct handling of cleanup in superclass set error} -setup {
+ interp create slave
+} -body {
+ slave eval {
+ oo::class create A
+ oo::class create B {
+ superclass oo::class
+ constructor {c} {
+ next {superclass A}
+ next [list superclass -append {*}$c]
+ }
+ }
+ [B create C {B C}] create d
+ }
+} -returnCodes error -cleanup {
+ interp delete slave
+} -result {attempt to form circular dependency graph}
test oo-1.19 {basic test of OO functionality: teardown order} -body {
oo::object create o
namespace delete [info object namespace o]
diff --git a/tests/registry.test b/tests/registry.test
index 86f4ef3..8cfd5be 100644
--- a/tests/registry.test
+++ b/tests/registry.test
@@ -19,7 +19,7 @@ testConstraint reg 0
if {[testConstraint win]} {
if {![catch {
::tcltest::loadTestedCommands
- set ::regver [package require registry 1.3.4]
+ set ::regver [package require registry 1.3.5]
}]} {
testConstraint reg 1
}
@@ -33,7 +33,7 @@ testConstraint english [expr {
test registry-1.0 {check if we are testing the right dll} {win reg} {
set ::regver
-} {1.3.4}
+} {1.3.5}
test registry-1.1 {argument parsing for registry command} {win reg} {
list [catch {registry} msg] $msg
} {1 {wrong # args: should be "registry ?-32bit|-64bit? option ?arg ...?"}}
diff --git a/tests/winDde.test b/tests/winDde.test
index 412c476..acba304 100644
--- a/tests/winDde.test
+++ b/tests/winDde.test
@@ -20,7 +20,7 @@ testConstraint dde 0
if {[testConstraint win]} {
if {![catch {
::tcltest::loadTestedCommands
- set ::ddever [package require dde 1.4.2]
+ set ::ddever [package require dde 1.4.3]
set ::ddelib [lindex [package ifneeded dde $::ddever] 1]}]} {
testConstraint dde 1
}
@@ -104,7 +104,7 @@ proc createChildProcess {ddeServerName args} {
# -------------------------------------------------------------------------
test winDde-1.0 {check if we are testing the right dll} {win dde} {
set ::ddever
-} {1.4.2}
+} {1.4.3}
test winDde-1.1 {Settings the server's topic name} -constraints dde -body {
list [dde servername foobar] [dde servername] [dde servername self]
diff --git a/win/Makefile.in b/win/Makefile.in
index 07a2040..fb68f98 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -153,8 +153,8 @@ TEST_DLL_FILE = tcltest$(VER)${DLLSUFFIX}
TEST_EXE_FILE = tcltest${EXESUFFIX}
TEST_LIB_FILE = @LIBPREFIX@tcltest$(VER)${LIBSUFFIX}
TEST_LOAD_PRMS = lappend ::auto_path {$(ROOT_DIR_WIN_NATIVE)/tests};\
- package ifneeded dde 1.4.2 [list load [file normalize ${DDE_DLL_FILE}] dde];\
- package ifneeded registry 1.3.4 [list load [file normalize ${REG_DLL_FILE}] registry]
+ package ifneeded dde 1.4.3 [list load [file normalize ${DDE_DLL_FILE}] dde];\
+ package ifneeded registry 1.3.5 [list load [file normalize ${REG_DLL_FILE}] registry]
TEST_LOAD_FACILITIES = package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}] Tcltest];\
$(TEST_LOAD_PRMS)
ZLIB_DLL_FILE = zlib1.dll
diff --git a/win/makefile.vc b/win/makefile.vc
index 11b8676..c328a2f 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -471,8 +471,8 @@ test: test-core test-pkgs
test-core: setup $(TCLTEST) dlls
set TCL_LIBRARY=$(ROOT:\=/)/library
$(DEBUGGER) $(TCLTEST) "$(ROOT:\=/)/tests/all.tcl" $(TESTFLAGS) -loadfile <<
- package ifneeded dde 1.4.2 [list load "$(TCLDDELIB:\=/)" dde]
- package ifneeded registry 1.3.4 [list load "$(TCLREGLIB:\=/)" registry]
+ package ifneeded dde 1.4.3 [list load "$(TCLDDELIB:\=/)" dde]
+ package ifneeded registry 1.3.5 [list load "$(TCLREGLIB:\=/)" registry]
<<
runtest: setup $(TCLTEST) dlls
diff --git a/win/tclWinDde.c b/win/tclWinDde.c
index 267ee6e..a4c00fa 100644
--- a/win/tclWinDde.c
+++ b/win/tclWinDde.c
@@ -79,7 +79,7 @@ static DWORD ddeInstance; /* The application instance handle given to us
* by DdeInitialize. */
static int ddeIsServer = 0;
-#define TCL_DDE_VERSION "1.4.2"
+#define TCL_DDE_VERSION "1.4.3"
#define TCL_DDE_PACKAGE_NAME "dde"
#define TCL_DDE_SERVICE_NAME L"TclEval"
#define TCL_DDE_EXECUTE_RESULT L"$TCLEVAL$EXECUTE$RESULT"
diff --git a/win/tclWinReg.c b/win/tclWinReg.c
index 2c1b8a5..7bbb10b 100644
--- a/win/tclWinReg.c
+++ b/win/tclWinReg.c
@@ -191,7 +191,7 @@ Registry_Init(
cmd = Tcl_CreateObjCommand(interp, "registry", RegistryObjCmd,
interp, DeleteCmd);
Tcl_SetAssocData(interp, REGISTRY_ASSOC_KEY, NULL, cmd);
- return Tcl_PkgProvideEx(interp, "registry", "1.3.4", NULL);
+ return Tcl_PkgProvideEx(interp, "registry", "1.3.5", NULL);
}
/*
@@ -444,7 +444,7 @@ DeleteKey(
*/
keyName = Tcl_GetString(keyNameObj);
- buffer = Tcl_Alloc(keyNameObj->length + 1);
+ buffer = (char *)Tcl_Alloc(keyNameObj->length + 1);
strcpy(buffer, keyName);
if (ParseKeyName(interp, buffer, &hostName, &rootKey,
@@ -977,7 +977,7 @@ OpenKey(
DWORD result;
keyName = Tcl_GetString(keyNameObj);
- buffer = Tcl_Alloc(keyNameObj->length + 1);
+ buffer = (char *)Tcl_Alloc(keyNameObj->length + 1);
strcpy(buffer, keyName);
result = ParseKeyName(interp, buffer, &hostName, &rootKey, &keyName);