diff options
author | dgp <dgp@users.sourceforge.net> | 2009-11-04 04:47:59 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2009-11-04 04:47:59 (GMT) |
commit | 81400277fe84e58e0ba9ad3ac57ad5637fe08b0f (patch) | |
tree | 2d160d70a4167ff7f09c4238debf4666c7e86faf | |
parent | 782b735b4162b2776d90523e82bbc7ee0245a554 (diff) | |
download | tcl-81400277fe84e58e0ba9ad3ac57ad5637fe08b0f.zip tcl-81400277fe84e58e0ba9ad3ac57ad5637fe08b0f.tar.gz tcl-81400277fe84e58e0ba9ad3ac57ad5637fe08b0f.tar.bz2 |
2009-11-03 Andreas Kupries <andreask@activestate.com>
* library/safe.tcl (::safe::InterpSetConfig): [Bug 2854929]. Added
code to recursively find deeper paths which may contain modules.
Required to handle modules with names like 'platform::shell',
which translate into 'platform/shell-X.tm', i.e arbitrarily deep
subdirectories.
-rw-r--r-- | ChangeLog | 34 | ||||
-rw-r--r-- | changes | 8 | ||||
-rw-r--r-- | library/safe.tcl | 24 |
3 files changed, 48 insertions, 18 deletions
@@ -1,16 +1,3 @@ -2009-11-03 Kevin B. Kenny <kennykb@acm.org> - - * library/tzdata/Asia/Novokuznetsk: New tzdata locale for - Kemerovo oblast', which now keeps Novosibirsk time and not - Kranoyarsk time. - * library/tzdata/Asia/Damascus: Syrian DST changes. - * library/tzdata/Asia/Hong_Kong: Hong Kong historic DST corrections. - Olson tzdata2009q. - -2009-11-03 Pat Thoyts <patthoyts@users.sourceforge.net> - - * tests/tcltest.test: Backport permissions fix for Win7. - 2009-11-03 Don Porter <dgp@users.sourceforge.net> *** 8.5.8 TAGGED FOR RELEASE *** @@ -28,6 +15,27 @@ * changes: Update for 8.5.8 release. +2009-11-03 Andreas Kupries <andreask@activestate.com> + + * library/safe.tcl (::safe::InterpSetConfig): [Bug 2854929]. Added + code to recursively find deeper paths which may contain modules. + Required to handle modules with names like 'platform::shell', + which translate into 'platform/shell-X.tm', i.e arbitrarily deep + subdirectories. + +2009-11-03 Kevin B. Kenny <kennykb@acm.org> + + * library/tzdata/Asia/Novokuznetsk: New tzdata locale for + Kemerovo oblast', which now keeps Novosibirsk time and not + Kranoyarsk time. + * library/tzdata/Asia/Damascus: Syrian DST changes. + * library/tzdata/Asia/Hong_Kong: Hong Kong historic DST corrections. + Olson tzdata2009q. + +2009-11-03 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/tcltest.test: Backport permissions fix for Win7. + 2009-10-31 Donal K. Fellows <dkf@users.sf.net> * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report @@ -1,6 +1,6 @@ Recent user-visible changes to Tcl: -RCS: @(#) $Id: changes,v 1.136.2.19 2009/11/03 19:16:06 dgp Exp $ +RCS: @(#) $Id: changes,v 1.136.2.20 2009/11/04 04:47:59 dgp Exp $ 1. No more [command1] [command2] construct for grouping multiple commands on a single command line. @@ -7394,9 +7394,11 @@ among multiple interps (kupries) 2009-10-24 Broken DST applied EU rules to US zones (lehenbauer,kenny) -2009-10-27 tzdata updated to Olson's tzdata2009p (kenny) - 2009-10-29 (bug fix)[2800740] halved bignum memory on 64-bit systems (porter) *** POTENTIAL INCOMPATIBILITY *** +2009-11-03 tzdata updated to Olson's tzdata2009q (kenny) + +2009-11-03 (bug fix)[2854929] TM search path support in Safe Base (kupries) + --- Released 8.5.8, November xx, 2009 --- See ChangeLog for details --- diff --git a/library/safe.tcl b/library/safe.tcl index 501a552..8faa720 100644 --- a/library/safe.tcl +++ b/library/safe.tcl @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: safe.tcl,v 1.16.4.1 2008/06/25 16:42:05 andreas_kupries Exp $ +# RCS: @(#) $Id: safe.tcl,v 1.16.4.2 2009/11/04 04:47:59 dgp Exp $ # # The implementation is based on namespaces. These naming conventions @@ -373,13 +373,33 @@ namespace eval ::safe { # Modules. We safe the virtual form separately as well, as # syncing it with the slave has to be defered until the # necessary commands are present for setup. - foreach dir [::tcl::tm::list] { + + set morepaths [::tcl::tm::list] + while {[llength $morepaths]} { + set addpaths $morepaths + set morepaths {} + + foreach dir $addpaths { lappend access_path $dir Set [PathToken $i $slave] $dir lappend slave_auto_path "\$[PathToken $i]" lappend slave_tm_path "\$[PathToken $i]" incr i + + # [Bug 2854929] + # Recursively find deeper paths which may contain + # modules. Required to handle modules with names like + # 'platform::shell', which translate into + # 'platform/shell-X.tm', i.e arbitrarily deep + # subdirectories. The catch prevents complaints when + # no paths are added. Do nothing gracefully is 8.6+. + + catch { + lappend morepaths {*}[glob -nocomplain -directory $dir -type d *] } + } + } + Set [TmPathListName $slave] $slave_tm_path Set $nname $i Set [PathListName $slave] $access_path |