summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
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]"