aboutsummaryrefslogtreecommitdiff
path: root/tclcompat.tcl
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-03-03 15:48:12 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:48 +1000
commitec3d0d6cfddfa055d00c820a2ed99a7d6858aa82 (patch)
treef22d707fca94a4738dcaa2c1382e7c95d36e6437 /tclcompat.tcl
parentef6d52c15295a03e343a1ffc12452f7900bb94cd (diff)
downloadjimtcl-ec3d0d6cfddfa055d00c820a2ed99a7d6858aa82.zip
jimtcl-ec3d0d6cfddfa055d00c820a2ed99a7d6858aa82.tar.gz
jimtcl-ec3d0d6cfddfa055d00c820a2ed99a7d6858aa82.tar.bz2
Fix lassign to work properly with an empty list
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'tclcompat.tcl')
-rw-r--r--tclcompat.tcl6
1 files changed, 4 insertions, 2 deletions
diff --git a/tclcompat.tcl b/tclcompat.tcl
index 8669ed2..a1bc043 100644
--- a/tclcompat.tcl
+++ b/tclcompat.tcl
@@ -10,8 +10,10 @@ set env [env]
# Tcl 8.5 lassign
proc lassign {list args} {
- uplevel 1 [list foreach $args [concat $list {}] break]
- lrange $list [llength $args] end
+ # in case the list is empty...
+ lappend list {}
+ uplevel 1 [list foreach $args $list break]
+ lrange $list [llength $args] end-1
}
# case var ?in? pattern action ?pattern action ...?