Index: TODO =================================================================== diff -u -rce0ccaa71d0383f20978031448b1fb3adabec3ad -r277704be44e8205d6aa0507c840e44223039f841 --- TODO (.../TODO) (revision ce0ccaa71d0383f20978031448b1fb3adabec3ad) +++ TODO (.../TODO) (revision 277704be44e8205d6aa0507c840e44223039f841) @@ -1874,8 +1874,9 @@ - show "unwind unstacked entry" message appear only when debug level>0 - removed fixed TODO entries -- New function NsfNamespaceInit() to - initialize pre-existing namespaces in PrimitiveOInit() +- New function NsfNamespaceInit() to initialize pre-existing + namespaces in PrimitiveOInit() and in RequireObjNamespace() +- provide error message, when provided setter name starts with a colon TODO: Index: generic/nsf.c =================================================================== diff -u -rce0ccaa71d0383f20978031448b1fb3adabec3ad -r277704be44e8205d6aa0507c840e44223039f841 --- generic/nsf.c (.../nsf.c) (revision ce0ccaa71d0383f20978031448b1fb3adabec3ad) +++ generic/nsf.c (.../nsf.c) (revision 277704be44e8205d6aa0507c840e44223039f841) @@ -14432,9 +14432,9 @@ size_t j, length; int result; - if (*methodName == '-') { + if (*methodName == '-' || *methodName == ':') { return NsfVarErrMsg(interp, - "method name \"", methodName, "\" must not start with a dash", + "invalid setter name \"", methodName, "\" (must not start with a dash or colon)", (char *) NULL); } Index: tests/parameters.test =================================================================== diff -u -r5678f49b80ef65fdcfad0d2500f0c06eb1e5e320 -r277704be44e8205d6aa0507c840e44223039f841 --- tests/parameters.test (.../parameters.test) (revision 5678f49b80ef65fdcfad0d2500f0c06eb1e5e320) +++ tests/parameters.test (.../parameters.test) (revision 277704be44e8205d6aa0507c840e44223039f841) @@ -1041,6 +1041,7 @@ Object create o Class create C + ? {::nsf::setter ::o :a} {invalid setter name ":a" (must not start with a dash or colon)} ? {::nsf::setter o a} "::o::a" ? {::nsf::setter C c} "::nsf::classes::C::c" ? {o info method definition a} "::o public setter a" @@ -1070,7 +1071,7 @@ ? {o ints hugo} {invalid value in "hugo": expected integer but got "hugo" for parameter ints} ? {o o o} o ? {::nsf::setter o {d default}} {parameter "d" is not allowed to have default "default"} - ? {::nsf::setter o -x} {method name "-x" must not start with a dash} + ? {::nsf::setter o -x} {invalid setter name "-x" (must not start with a dash or colon)} }