summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--library/tm.tcl3
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8deab7f..d7656fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2008-08-11 Andreas Kupries <andreask@activestate.com>
+ * library/tm.tcl: Added a 'package provide' command to the
+ generated ifneeded scripts of Tcl Modules, for early detection of
+ conflicts between the version specified through the file name and
+ a 'provide' command in the module implementation, if any. Note
+ that this change also now allows Tcl Modules to not provide a
+ 'provide' command at all, and declaring their version only through
+ their filename.
+
* generic/tclProc.c (Tcl_ProcObjCmd): Fixed memory leak triggered
* tests/proc.test: by procbody::test::proc. See [Bug 2043636].
Added a test case demonstrating the leak before the fix. Fixed a
diff --git a/library/tm.tcl b/library/tm.tcl
index f6ffe5d..4f8e09e 100644
--- a/library/tm.tcl
+++ b/library/tm.tcl
@@ -254,7 +254,8 @@ proc ::tcl::tm::UnknownHandler {original name args} {
# means something else without the namespace
# specifier.
- package ifneeded $pkgname $pkgversion [::list source -encoding utf-8 $file]
+ package ifneeded $pkgname $pkgversion \
+ "[::list package provide $pkgname $pkgversion];[::list source -encoding utf-8 $file]"
# We abort in this unknown handler only if we got
# a satisfying candidate for the requested