diff options
Diffstat (limited to 'library')
-rw-r--r-- | library/platform/pkgIndex.tcl | 2 | ||||
-rw-r--r-- | library/platform/shell.tcl | 6 | ||||
-rw-r--r-- | library/tm.tcl | 10 |
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 a58b2ea..a2476ce 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]" |