Import Tcl 8.6.11
This commit is contained in:
@@ -8,8 +8,10 @@
|
||||
# Copyright (c) 1998-1999 by Scriptics Corporation.
|
||||
# All rights reserved.
|
||||
|
||||
package require tcltest 2
|
||||
namespace import ::tcltest::*
|
||||
if {"::tcltest" ni [namespace children]} {
|
||||
package require tcltest 2.5
|
||||
namespace import -force ::tcltest::*
|
||||
}
|
||||
|
||||
set fullPkgPath [makeDirectory pkg]
|
||||
|
||||
@@ -72,11 +74,11 @@ proc pkgtest::parseArgs { args } {
|
||||
# of the command line.
|
||||
|
||||
proc pkgtest::parseIndex { filePath } {
|
||||
# create a slave interpreter, where we override "package ifneeded"
|
||||
# create a child interpreter, where we override "package ifneeded"
|
||||
|
||||
set slave [interp create]
|
||||
set child [interp create]
|
||||
if {[catch {
|
||||
$slave eval {
|
||||
$child eval {
|
||||
rename package package_original
|
||||
proc package { args } {
|
||||
if {[lindex $args 0] eq "ifneeded"} {
|
||||
@@ -91,17 +93,17 @@ proc pkgtest::parseIndex { filePath } {
|
||||
}
|
||||
|
||||
set dir [file dirname $filePath]
|
||||
$slave eval {set curdir [pwd]}
|
||||
$slave eval [list cd $dir]
|
||||
$slave eval [list set dir $dir]
|
||||
$slave eval [list source [file tail $filePath]]
|
||||
$slave eval {cd $curdir}
|
||||
$child eval {set curdir [pwd]}
|
||||
$child eval [list cd $dir]
|
||||
$child eval [list set dir $dir]
|
||||
$child eval [list source [file tail $filePath]]
|
||||
$child eval {cd $curdir}
|
||||
|
||||
# Create the list in sorted order, so that we don't get spurious
|
||||
# errors because the order has changed.
|
||||
|
||||
array set P {}
|
||||
foreach {k v} [$slave eval {array get ::PKGS}] {
|
||||
foreach {k v} [$child eval {array get ::PKGS}] {
|
||||
set P($k) $v
|
||||
}
|
||||
|
||||
@@ -113,12 +115,12 @@ proc pkgtest::parseIndex { filePath } {
|
||||
set ei [dict get $opts -errorinfo]
|
||||
set ec [dict get $opts -errorcode]
|
||||
|
||||
catch {interp delete $slave}
|
||||
catch {interp delete $child}
|
||||
|
||||
error $ei $ec
|
||||
}
|
||||
|
||||
interp delete $slave
|
||||
interp delete $child
|
||||
|
||||
return $PKGS
|
||||
}
|
||||
@@ -231,7 +233,7 @@ proc pkgtest::runCreatedIndex {rv args} {
|
||||
set result [list 0 [makePkgList [parseIndex $idxFile]]]
|
||||
} err]} {
|
||||
set result [list 1 $err]
|
||||
}
|
||||
}
|
||||
file delete $idxFile
|
||||
} else {
|
||||
set result $rv
|
||||
@@ -313,7 +315,7 @@ namespace eval pkg2 {
|
||||
namespace export p2-1
|
||||
}
|
||||
proc pkg2::p2-1 { num } {
|
||||
return [expr $num * 2]
|
||||
return [expr {$num * 2}]
|
||||
}
|
||||
} [file join pkg pkg2_a.tcl]
|
||||
|
||||
@@ -326,7 +328,7 @@ namespace eval pkg2 {
|
||||
namespace export p2-2
|
||||
}
|
||||
proc pkg2::p2-2 { num } {
|
||||
return [expr $num * 3]
|
||||
return [expr {$num * 3}]
|
||||
}
|
||||
} [file join pkg pkg2_b.tcl]
|
||||
|
||||
@@ -407,10 +409,10 @@ namespace eval pkg3 {
|
||||
namespace export p3-1 p3-2
|
||||
}
|
||||
proc pkg3::p3-1 { num } {
|
||||
return {[expr $num * 2]}
|
||||
return {[expr {$num * 2}]}
|
||||
}
|
||||
proc pkg3::p3-2 { num } {
|
||||
return {[expr $num * 3]}
|
||||
return {[expr {$num * 3}]}
|
||||
}
|
||||
} [file join pkg pkg3.tcl]
|
||||
|
||||
@@ -518,10 +520,10 @@ namespace eval circ2 {
|
||||
namespace export c2-1 c2-2
|
||||
}
|
||||
proc circ2::c2-1 { num } {
|
||||
return [expr $num * [circ3::c3-1]]
|
||||
return [expr {$num * [circ3::c3-1]}]
|
||||
}
|
||||
proc circ2::c2-2 { num } {
|
||||
return [expr $num * [circ3::c3-2]]
|
||||
return [expr {$num * [circ3::c3-2]}]
|
||||
}
|
||||
} [file join pkg circ2.tcl]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user