diff options
author | dgp <dgp@users.sourceforge.net> | 2016-07-02 17:57:58 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-07-02 17:57:58 (GMT) |
commit | 8694c5d2ef9e62f61322d3904c90edd7e550a290 (patch) | |
tree | b4675f643ea62918c993582c56b16c6bdfc874ea | |
parent | 725c3a636490b1c2afc7dfd48f4da92778104471 (diff) | |
parent | a139661621ec842c91242c4b0fca910b9c964398 (diff) | |
download | tcl-8694c5d2ef9e62f61322d3904c90edd7e550a290.zip tcl-8694c5d2ef9e62f61322d3904c90edd7e550a290.tar.gz tcl-8694c5d2ef9e62f61322d3904c90edd7e550a290.tar.bz2 |
[f961d7d1dd] Repair usage message for ensemble parameters with spaces.
-rw-r--r-- | generic/tclEnsemble.c | 13 | ||||
-rw-r--r-- | tests/namespace.test | 9 |
2 files changed, 12 insertions, 10 deletions
diff --git a/generic/tclEnsemble.c b/generic/tclEnsemble.c index 5c47ce3..a86b5c4 100644 --- a/generic/tclEnsemble.c +++ b/generic/tclEnsemble.c @@ -1674,18 +1674,11 @@ NsEnsembleImplementationCmdNR( */ Tcl_DString buf; /* Message being built */ - Tcl_Obj **elemPtrs; /* Parameter names */ - int len; /* Number of parameters to append */ Tcl_DStringInit(&buf); - if (ensemblePtr->parameterList == NULL) { - len = 0; - } else if (TclListObjGetElements(NULL, ensemblePtr->parameterList, - &len, &elemPtrs) != TCL_OK) { - Tcl_Panic("List of ensemble parameters is not a list"); - } - for (; len>0; len--,elemPtrs++) { - TclDStringAppendObj(&buf, *elemPtrs); + if (ensemblePtr->parameterList) { + Tcl_DStringAppend(&buf, + TclGetString(ensemblePtr->parameterList), -1); TclDStringAppendLiteral(&buf, " "); } TclDStringAppendLiteral(&buf, "subcommand ?arg ...?"); diff --git a/tests/namespace.test b/tests/namespace.test index 0de416b..2a5f308 100644 --- a/tests/namespace.test +++ b/tests/namespace.test @@ -2153,6 +2153,15 @@ test namespace-50.7 {[4402cfa58c]} -setup { rename e2 {} rename target {} } -result {{wrong # args: should be "e1 s2 s1 x y"} {wrong # args: should be "e1 s2 s1 x y"} {wrong # args: should be "e1 s2 s1 x y"} {wrong # args: should be "e1 s2 s1 x y"}} +test namespace-50.8 {[f961d7d1dd]} -setup { + proc target {} {} + namespace ensemble create -command e -map {s target} -parameters {{a b}} +} -body { + e +} -returnCodes error -result {wrong # args: should be "e {a b} subcommand ?arg ...?"} -cleanup { + rename e {} + rename target {} +} test namespace-51.1 {name resolution path control} -body { namespace eval ::test_ns_1 { |