Author: coke
Date: Sun Jul 27 17:44:19 2008
New Revision: 29812
Modified:
trunk/languages/tcl/runtime/builtin/foreach.pir
trunk/languages/tcl/t/cmd_foreach.t
Log:
[tcl] don't catch and throw our own error, let the 'raw' error percolate out.
Modified: trunk/languages/tcl/runtime/builtin/foreach.pir
==============================================================================
--- trunk/languages/tcl/runtime/builtin/foreach.pir (original)
+++ trunk/languages/tcl/runtime/builtin/foreach.pir Sun Jul 27 17:44:19 2008
@@ -89,17 +89,13 @@
unless list goto empty_var
value = shift list
value = clone value
- push_eh couldnt_set
- setVar(varname, value)
- pop_eh
+ setVar(varname, value)
goto next_variable
empty_var:
value = new 'TclString'
value = ''
- push_eh couldnt_set
- setVar(varname, value)
- pop_eh
+ setVar(varname, value)
goto next_variable
execute_command:
@@ -119,12 +115,6 @@
done:
.return('')
-couldnt_set:
- $S0 = "couldn't set loop variable: \""
- $S0 .= varname
- $S0 .= '"'
- tcl_error $S0
-
bad_args:
tcl_error 'wrong # args: should be "foreach varList list ?varList list ...?
command"'
Modified: trunk/languages/tcl/t/cmd_foreach.t
==============================================================================
--- trunk/languages/tcl/t/cmd_foreach.t (original)
+++ trunk/languages/tcl/t/cmd_foreach.t Sun Jul 27 17:44:19 2008
@@ -28,8 +28,7 @@
array set a {}
foreach a {1 2 3 4} {puts $a}
} {can't set "a": variable is array} \
- {couldn't set loop variable} \
- {TODO {new behavior in tcl 8.5.1}}
+ {couldn't set loop variable}
unset -nocomplain a
is [foreach a {1 2 3 4} {set a}] {} {return value}