From 1a86c2e86267a3ddb6c0543e27e524eabff94442 Mon Sep 17 00:00:00 2001 From: andreas_kupries Date: Mon, 11 Aug 2008 21:04:42 +0000 Subject: * 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. --- ChangeLog | 8 ++++++++ library/tm.tcl | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8deab7f..d7656fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2008-08-11 Andreas Kupries + * 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 -- cgit v0.12