summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2008-11-10 17:57:10 (GMT)
committerandreas_kupries <akupries@shaw.ca>2008-11-10 17:57:10 (GMT)
commit1a689ba82658d24a00cc016d1175dc7ed959a167 (patch)
tree2220b38ad18f3738d8b91a666ee3e0244ec75a5f /library
parentb3062216f2dec1c08dbe11dc8bafd35dff15af20 (diff)
downloadtcl-1a689ba82658d24a00cc016d1175dc7ed959a167.zip
tcl-1a689ba82658d24a00cc016d1175dc7ed959a167.tar.gz
tcl-1a689ba82658d24a00cc016d1175dc7ed959a167.tar.bz2
* doc/platform_shell.n: Fixed [Bug 2255235], reported by Ulrich
* library/platform/pkgIndex.tcl: Ring <uring@users.sourceforge.net>. * library/platform/shell.tcl: Updated the LOCATE command in the * library/tm.tcl: package 'platform::shell' to handle the new form * unix/Makefile.in: of 'provide' commands generated by tm.tcl. Bumped * win/Makefile.in: package to version 1.1.4. Added cross-references to the relevant parts of the code to avoid future desynchronization.
Diffstat (limited to 'library')
-rw-r--r--library/platform/pkgIndex.tcl2
-rw-r--r--library/platform/shell.tcl6
-rw-r--r--library/tm.tcl10
3 files changed, 15 insertions, 3 deletions
diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl
index 68924cb..27d596f 100644
--- a/library/platform/pkgIndex.tcl
+++ b/library/platform/pkgIndex.tcl
@@ -1,3 +1,3 @@
package ifneeded platform 1.0.3 [list source [file join $dir platform.tcl]]
-package ifneeded platform::shell 1.1.3 [list source [file join $dir shell.tcl]]
+package ifneeded platform::shell 1.1.4 [list source [file join $dir shell.tcl]]
diff --git a/library/platform/shell.tcl b/library/platform/shell.tcl
index b007666..407e639 100644
--- a/library/platform/shell.tcl
+++ b/library/platform/shell.tcl
@@ -104,8 +104,10 @@ proc ::platform::shell::LOCATE {bv ov} {
# here. If the found package is wrapped we copy the code somewhere
# where the spawned shell will be able to read it.
+ # Note: This code depends on the form of the 'provide' command
+ # generated by tm.tcl. Keep them in sync. See Bug 2255235.
set pl [package ifneeded platform [package require platform]]
- foreach {cmd base} $pl break
+ set base [lindex $pl end]
set out 0
if {[lindex [file system $base]] ne "native"} {
@@ -233,4 +235,4 @@ proc ::platform::shell::DIR {} {
# ### ### ### ######### ######### #########
## Ready
-package provide platform::shell 1.1.3
+package provide platform::shell 1.1.4
diff --git a/library/tm.tcl b/library/tm.tcl
index 24ddb86..c5db437 100644
--- a/library/tm.tcl
+++ b/library/tm.tcl
@@ -254,6 +254,16 @@ proc ::tcl::tm::UnknownHandler {original name args} {
# means something else without the namespace
# specifier.
+ # NOTE. When making changes to the format of the
+ # provide command generated below CHECK that the
+ # 'LOCATE' procedure in core file
+ # 'platform/shell.tcl' still understands it, or,
+ # if not, update its implementation appropriately.
+ #
+ # Right now LOCATE's implementation assumes that
+ # the path of the package file is the last element
+ # in the list.
+
package ifneeded $pkgname $pkgversion \
"[::list package provide $pkgname $pkgversion];[::list source -encoding utf-8 $file]"