summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-12-05 21:28:00 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-12-05 21:28:00 (GMT)
commit40420634aa8529da78c90eb912b341c7eb239591 (patch)
tree872dd8a9389cf8e0d6385601d9eb628a46d7d358
parentbc8ffb392220e949c4aadbe13d7b97912a7ea7ab (diff)
parentb52476a5cdc6924d597f7bc9dbd89f0717058009 (diff)
downloadtcl-40420634aa8529da78c90eb912b341c7eb239591.zip
tcl-40420634aa8529da78c90eb912b341c7eb239591.tar.gz
tcl-40420634aa8529da78c90eb912b341c7eb239591.tar.bz2
Ever since (Tcl)PushVarName() stopped making a recursive call to Tcl_ParseCommand() (in the pre-8.4.0 timeframe), there's been no need for special protections for brace-quoted varname words. A simple word is a simple word is a simple word.
-rw-r--r--generic/tclCompCmds.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c
index 4e7ef97..30c1318 100644
--- a/generic/tclCompCmds.c
+++ b/generic/tclCompCmds.c
@@ -3289,16 +3289,7 @@ TclPushVarName(
nameChars = elNameChars = 0;
localIndex = -1;
- /*
- * Check not only that the type is TCL_TOKEN_SIMPLE_WORD, but whether
- * curly braces surround the variable name. This really matters for array
- * elements to handle things like
- * set {x($foo)} 5
- * which raises an undefined var error if we are not careful here.
- */
-
- if ((varTokenPtr->type == TCL_TOKEN_SIMPLE_WORD) &&
- (varTokenPtr->start[0] != '{')) {
+ if (varTokenPtr->type == TCL_TOKEN_SIMPLE_WORD) {
/*
* A simple variable name. Divide it up into "name" and "elName"
* strings. If it is not a local variable, look it up at runtime.