summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorericm <ericm>2000-01-27 19:48:29 (GMT)
committerericm <ericm>2000-01-27 19:48:29 (GMT)
commitd8c3ee2177ba3302b1caf7fe451592c210d68212 (patch)
tree24c3203693a2642f3a3c42276897974f14712b60 /library
parentb51a945c65f5f8555db941619e83775ad306b65b (diff)
downloadtcl-d8c3ee2177ba3302b1caf7fe451592c210d68212.zip
tcl-d8c3ee2177ba3302b1caf7fe451592c210d68212.tar.gz
tcl-d8c3ee2177ba3302b1caf7fe451592c210d68212.tar.bz2
* tests/pkg/samename.tcl: test file for bug #1983
* tests/pkgMkIndex.test: * library/package.tcl: Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling situations with two procs by the same name but in different namespaces (ie, foo::baz and bar::baz).
Diffstat (limited to 'library')
-rw-r--r--library/package.tcl50
1 files changed, 25 insertions, 25 deletions
diff --git a/library/package.tcl b/library/package.tcl
index 6bf7ff1..f0f9f44 100644
--- a/library/package.tcl
+++ b/library/package.tcl
@@ -3,7 +3,7 @@
# utility procs formerly in init.tcl which can be loaded on demand
# for package management.
#
-# RCS: @(#) $Id: package.tcl,v 1.7 2000/01/27 19:20:05 ericm Exp $
+# RCS: @(#) $Id: package.tcl,v 1.8 2000/01/27 19:48:29 ericm Exp $
#
# Copyright (c) 1991-1993 The Regents of the University of California.
# Copyright (c) 1994-1998 Sun Microsystems, Inc.
@@ -285,31 +285,31 @@ proc pkg_mkIndex {args} {
if {! [info exists ::tcl::namespaces($::tcl::x)]} {
namespace import -force ${::tcl::x}::*
}
- }
-
- # Figure out what commands appeared
-
- foreach ::tcl::x [info commands] {
- set ::tcl::newCmds($::tcl::x) 1
- }
- foreach ::tcl::x $::tcl::origCmds {
- catch {unset ::tcl::newCmds($::tcl::x)}
- }
- foreach ::tcl::x [array names ::tcl::newCmds] {
- # reverse engineer which namespace a command comes from
-
- set ::tcl::abs [namespace origin $::tcl::x]
-
- # special case so that global names have no leading
- # ::, this is required by the unknown command
-
- set ::tcl::abs [auto_qualify $::tcl::abs ::]
-
- if {[string compare $::tcl::x $::tcl::abs]} {
- # Name changed during qualification
- set ::tcl::newCmds($::tcl::abs) 1
- unset ::tcl::newCmds($::tcl::x)
+ # Figure out what commands appeared
+
+ foreach ::tcl::x [info commands] {
+ set ::tcl::newCmds($::tcl::x) 1
+ }
+ foreach ::tcl::x $::tcl::origCmds {
+ catch {unset ::tcl::newCmds($::tcl::x)}
+ }
+ foreach ::tcl::x [array names ::tcl::newCmds] {
+ # determine which namespace a command comes from
+
+ set ::tcl::abs [namespace origin $::tcl::x]
+
+ # special case so that global names have no leading
+ # ::, this is required by the unknown command
+
+ set ::tcl::abs [auto_qualify $::tcl::abs ::]
+
+ if {[string compare $::tcl::x $::tcl::abs]} {
+ # Name changed during qualification
+
+ set ::tcl::newCmds($::tcl::abs) 1
+ unset ::tcl::newCmds($::tcl::x)
+ }
}
}
}