From 1a689ba82658d24a00cc016d1175dc7ed959a167 Mon Sep 17 00:00:00 2001 From: andreas_kupries Date: Mon, 10 Nov 2008 17:57:10 +0000 Subject: * doc/platform_shell.n: Fixed [Bug 2255235], reported by Ulrich * library/platform/pkgIndex.tcl: Ring . * 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. --- ChangeLog | 10 ++++++++++ doc/platform_shell.n | 8 ++++---- library/platform/pkgIndex.tcl | 2 +- library/platform/shell.tcl | 6 ++++-- library/tm.tcl | 10 ++++++++++ unix/Makefile.in | 6 +++--- win/Makefile.in | 6 +++--- 7 files changed, 35 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 75831d0..4b52dff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-11-10 Andreas Kupries + + * doc/platform_shell.n: Fixed [Bug 2255235], reported by Ulrich + * library/platform/pkgIndex.tcl: Ring . + * 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-04 Jeff Hobbs * generic/tclPort.h: remove the ../win/ header dir as the build diff --git a/doc/platform_shell.n b/doc/platform_shell.n index 995467e..37c2127 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.6.2.1 2008/11/10 17:57:10 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 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]" diff --git a/unix/Makefile.in b/unix/Makefile.in index 901b4d7..e698cb1 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.229.2.9 2008/10/23 23:34:32 patthoyts Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.229.2.10 2008/11/10 17:57:10 andreas_kupries Exp $ VERSION = @TCL_VERSION@ MAJOR_VERSION = @TCL_MAJOR_VERSION@ @@ -796,8 +796,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 8870d80..ed02377 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.124.2.5 2008/10/23 23:34:32 patthoyts Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.124.2.6 2008/11/10 17:57:10 andreas_kupries Exp $ VERSION = @TCL_VERSION@ @@ -648,8 +648,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"; \ -- cgit v0.12