diff options
author | andreas_kupries <akupries@shaw.ca> | 2008-11-10 17:57:30 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2008-11-10 17:57:30 (GMT) |
commit | 5712fecd971bc4528ae335bd91d588df88d5ef82 (patch) | |
tree | 018359c0e0172f387b105a97d7c969b0aab004b9 /library | |
parent | fce9e95f9fcaf90587b556ee2de2ba36a2d81f42 (diff) | |
download | tcl-5712fecd971bc4528ae335bd91d588df88d5ef82.zip tcl-5712fecd971bc4528ae335bd91d588df88d5ef82.tar.gz tcl-5712fecd971bc4528ae335bd91d588df88d5ef82.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.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]" |