summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-07-15 19:09:59 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-07-15 19:09:59 (GMT)
commit654dc20b4af9b37825f7faffaa0e714dad02ce92 (patch)
tree63662eea7bf320b5558acbd65627cd89a0af6948
parenta398b126a43e46efa6d6044b0bcf57a4b9385c4e (diff)
downloadtcl-654dc20b4af9b37825f7faffaa0e714dad02ce92.zip
tcl-654dc20b4af9b37825f7faffaa0e714dad02ce92.tar.gz
tcl-654dc20b4af9b37825f7faffaa0e714dad02ce92.tar.bz2
Possible improvement in light of [86ceb4e2b6].
-rw-r--r--library/tm.tcl9
1 files changed, 9 insertions, 0 deletions
diff --git a/library/tm.tcl b/library/tm.tcl
index d2af4f5..955e84d 100644
--- a/library/tm.tcl
+++ b/library/tm.tcl
@@ -238,6 +238,15 @@ proc ::tcl::tm::UnknownHandler {original name args} {
continue
}
+ if {[string length [package ifneeded $pkgname $pkgversion]]} {
+ # There's already a provide script registered for
+ # this version of this package. Since all units of
+ # code claiming to be the same version of the same
+ # package ought to be identical, just stick with
+ # the one we already have.
+ continue
+ }
+
# We have found a candidate, generate a "provide script"
# for it, and remember it. Note that we are using ::list
# to do this; locally [list] means something else without