summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-01-30 18:58:37 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-01-30 18:58:37 (GMT)
commit62d19c65eb9f6745c59fae9ed1117c69335a24ee (patch)
tree0bf3ad72dc599167e49c1f6917fd1fb260a7749e /library
parent91a7a404d263838b97b97250353e43c2e0244026 (diff)
downloadtcl-62d19c65eb9f6745c59fae9ed1117c69335a24ee.zip
tcl-62d19c65eb9f6745c59fae9ed1117c69335a24ee.tar.gz
tcl-62d19c65eb9f6745c59fae9ed1117c69335a24ee.tar.bz2
For [package] etc., select modernizations from Patrick Fradin.
Diffstat (limited to 'library')
-rw-r--r--library/package.tcl22
-rw-r--r--library/tm.tcl10
2 files changed, 9 insertions, 23 deletions
diff --git a/library/package.tcl b/library/package.tcl
index 3831822..06f619c 100644
--- a/library/package.tcl
+++ b/library/package.tcl
@@ -389,9 +389,7 @@ proc pkg_mkIndex {args} {
foreach pkg [lsort [array names files]] {
set cmd {}
- foreach {name version} $pkg {
- break
- }
+ lassign $pkg name version
lappend cmd ::tcl::Pkg::Create -name $name -version $version
foreach spec [lsort -index 0 $files($pkg)] {
foreach {file type procs} $spec {
@@ -544,8 +542,7 @@ proc tclPkgUnknown {name args} {
# $use_path. Don't add directories we've already seen, or ones
# already on the $use_path.
foreach dir [lrange $auto_path $index end] {
- if {![info exists tclSeenPath($dir)]
- && ([lsearch -exact $use_path $dir] == -1) } {
+ if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} {
lappend use_path $dir
}
}
@@ -632,8 +629,7 @@ proc tcl::MacOSXPkgUnknown {original name args} {
# $use_path. Don't add directories we've already seen, or ones
# already on the $use_path.
foreach dir [lrange $auto_path $index end] {
- if {![info exists tclSeenPath($dir)]
- && ([lsearch -exact $use_path $dir] == -1) } {
+ if {![info exists tclSeenPath($dir)] && ($dir ni $use_path)} {
lappend use_path $dir
}
}
@@ -685,10 +681,7 @@ proc ::tcl::Pkg::Create {args} {
}
# Initialize parameters
- set opts(-name) {}
- set opts(-version) {}
- set opts(-source) {}
- set opts(-load) {}
+ array set opts {-name {} -version {} -source {} -load {}}
# process parameters
for {set i 0} {$i < $len} {incr i} {
@@ -736,12 +729,7 @@ proc ::tcl::Pkg::Create {args} {
# Handle -load and -source specs
foreach key {load source} {
foreach filespec $opts(-$key) {
- foreach {filename proclist} {{} {}} {
- break
- }
- foreach {filename proclist} $filespec {
- break
- }
+ lassign $filespec filename proclist
if { [llength $proclist] == 0 } {
set cmd "\[list $key \[file join \$dir [list $filename]\]\]"
diff --git a/library/tm.tcl b/library/tm.tcl
index c5db437..baa268d 100644
--- a/library/tm.tcl
+++ b/library/tm.tcl
@@ -58,7 +58,7 @@ namespace eval ::tcl::tm {
# Export the public API
namespace export path
- namespace ensemble create -command path -subcommand {add remove list}
+ namespace ensemble create -command path -subcommands {add remove list}
}
# ::tcl::tm::path implementations --
@@ -273,10 +273,8 @@ proc ::tcl::tm::UnknownHandler {original name args} {
# the regular package search to complete the
# processing.
- if {
- ($pkgname eq $name) &&
- [package vsatisfies $pkgversion {*}$args]
- } then {
+ if {($pkgname eq $name)
+ && [package vsatisfies $pkgversion {*}$args]} {
set satisfied 1
# We do not abort the loop, and keep adding
# provide scripts for every candidate in the
@@ -359,7 +357,7 @@ proc ::tcl::tm::Defaults {} {
# Calls 'path add' to paths to the list of module search paths.
proc ::tcl::tm::roots {paths} {
- foreach {major minor} [split [info tclversion] .] break
+ lassign [split [package present Tcl] .] major minor
foreach pa $paths {
set p [file join $pa tcl$major]
for {set n $minor} {$n >= 0} {incr n -1} {