summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--doc/platform_shell.n8
-rw-r--r--library/platform/pkgIndex.tcl2
-rw-r--r--library/platform/shell.tcl6
-rw-r--r--library/tm.tcl10
-rw-r--r--unix/Makefile.in6
-rw-r--r--win/Makefile.in6
7 files changed, 35 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 982bd40..b35f999 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-11-10 Andreas Kupries <andreask@activestate.com>
+
+ * 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.
+
2008-11-07 Pat Thoyts <patthoyts@users.sourceforge.net>
* generic/tclInt.h: Applied patch #2215022 from Duoas to clean up
diff --git a/doc/platform_shell.n b/doc/platform_shell.n
index 995467e..16fa364 100644
--- a/doc/platform_shell.n
+++ b/doc/platform_shell.n
@@ -1,20 +1,20 @@
'\"
-'\" Copyright (c) 2006 ActiveState Software Inc
+'\" Copyright (c) 2006-2008 ActiveState Software Inc
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
-'\" RCS: @(#) $Id: platform_shell.n,v 1.6 2008/03/26 09:59:22 dkf Exp $
+'\" RCS: @(#) $Id: platform_shell.n,v 1.7 2008/11/10 17:57:30 andreas_kupries Exp $
'\"
.so man.macros
-.TH "platform::shell" n 1.1.3 platform::shell "Tcl Bundled Packages"
+.TH "platform::shell" n 1.1.4 platform::shell "Tcl Bundled Packages"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
platform::shell \- System identification support code and utilities
.SH SYNOPSIS
.nf
-\fBpackage require platform::shell ?1.1.3?\fR
+\fBpackage require platform::shell ?1.1.4?\fR
.sp
\fBplatform::shell::generic \fIshell\fR
\fBplatform::shell::identify \fIshell\fR
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]"
diff --git a/unix/Makefile.in b/unix/Makefile.in
index afe0eec..cf31632 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -4,7 +4,7 @@
# "./configure", which is a configuration script generated by the "autoconf"
# program (constructs like "@foo@" will get replaced in the actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.247 2008/10/23 23:17:38 patthoyts Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.248 2008/11/10 17:57:30 andreas_kupries Exp $
VERSION = @TCL_VERSION@
MAJOR_VERSION = @TCL_MAJOR_VERSION@
@@ -814,8 +814,8 @@ install-libraries: libraries $(INSTALL_TZDATA) install-msgs
@echo "Installing package platform 1.0.3 as a Tcl Module";
@$(INSTALL_DATA) $(TOP_DIR)/library/platform/platform.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform-1.0.3.tm;
- @echo "Installing package platform::shell 1.1.3 as a Tcl Module";
- @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform/shell-1.1.3.tm;
+ @echo "Installing package platform::shell 1.1.4 as a Tcl Module";
+ @$(INSTALL_DATA) $(TOP_DIR)/library/platform/shell.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.4/platform/shell-1.1.4.tm;
@echo "Installing library encoding directory";
@for i in $(TOP_DIR)/library/encoding/*.enc ; do \
diff --git a/win/Makefile.in b/win/Makefile.in
index 1be741a..b940c21 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -4,7 +4,7 @@
# "./configure", which is a configuration script generated by the "autoconf"
# program (constructs like "@foo@" will get replaced in the actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.136 2008/10/23 23:17:38 patthoyts Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.137 2008/11/10 17:57:30 andreas_kupries Exp $
VERSION = @TCL_VERSION@
@@ -650,8 +650,8 @@ install-libraries: libraries install-tzdata install-msgs
@$(COPY) $(ROOT_DIR)/library/tcltest/tcltest.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.5/tcltest-2.3.0.tm;
@echo "Installing package platform 1.0.3 as a Tcl Module";
@$(COPY) $(ROOT_DIR)/library/platform/platform.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform-1.0.3.tm;
- @echo "Installing package platform::shell 1.1.3 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/platform/shell.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform/shell-1.1.3.tm;
+ @echo "Installing package platform::shell 1.1.4 as a Tcl Module";
+ @$(COPY) $(ROOT_DIR)/library/platform/shell.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.4/platform/shell-1.1.4.tm;
@echo "Installing encodings";
@for i in $(ROOT_DIR)/library/encoding/*.enc ; do \
$(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)/encoding"; \