diff options
| author | pooryorick <com.digitalsmarties@pooryorick.com> | 2016-10-03 01:10:16 (GMT) |
|---|---|---|
| committer | pooryorick <com.digitalsmarties@pooryorick.com> | 2016-10-03 01:10:16 (GMT) |
| commit | a9dbadf46a6887f08b95f97dce3815020e7e0519 (patch) | |
| tree | 3e8340d5fedc02b5db2139bc222a9438202798cb | |
| parent | 02e79b9ec1dd3d42db9755627e819af75d06fc72 (diff) | |
| download | tcl-a9dbadf46a6887f08b95f97dce3815020e7e0519.zip tcl-a9dbadf46a6887f08b95f97dce3815020e7e0519.tar.gz tcl-a9dbadf46a6887f08b95f97dce3815020e7e0519.tar.bz2 | |
Fix [2bf561854c55a], interp alias to command whose name is the empty string.
| -rw-r--r-- | generic/tclInterp.c | 11 | ||||
| -rw-r--r-- | tests/interp.test | 11 |
2 files changed, 14 insertions, 8 deletions
diff --git a/generic/tclInterp.c b/generic/tclInterp.c index a2de658..1bfe76a 100644 --- a/generic/tclInterp.c +++ b/generic/tclInterp.c @@ -660,14 +660,9 @@ NRInterpCmd( if (masterInterp == NULL) { return TCL_ERROR; } - if (TclGetString(objv[5])[0] == '\0') { - if (objc == 6) { - return AliasDelete(interp, slaveInterp, objv[3]); - } - } else { - return AliasCreate(interp, slaveInterp, masterInterp, objv[3], - objv[5], objc - 6, objv + 6); - } + + return AliasCreate(interp, slaveInterp, masterInterp, objv[3], + objv[5], objc - 6, objv + 6); } goto aliasArgs; } diff --git a/tests/interp.test b/tests/interp.test index 34b5bf9..ed76f1a 100644 --- a/tests/interp.test +++ b/tests/interp.test @@ -606,6 +606,17 @@ test interp-14.10 {testing interp-alias: error messages} -setup { invoked from within "a 1"} +test interp-14.11 {{interp alias} {target named the empty string} {bug 2bf56185}} -setup { + set interp [interp create [info cmdcount]] + interp eval $interp { + proc {} args {return $args} + } + +} -body { + interp alias {} p1 $interp {} + p1 one two three +} -result {one two three} + # part 15: testing file sharing test interp-15.1 {testing file sharing} { catch {interp delete z} |
