Index: generic/nsf.c =================================================================== diff -u -r9797190b64be6005808101d6aff148380c055cb3 -r7e090d5c59743ecf7e8fd8d05d5130c5bce092db --- generic/nsf.c (.../nsf.c) (revision 9797190b64be6005808101d6aff148380c055cb3) +++ generic/nsf.c (.../nsf.c) (revision 7e090d5c59743ecf7e8fd8d05d5130c5bce092db) @@ -3428,19 +3428,19 @@ } else if (methodObj->typePtr == Nsf_OT_tclCmdNameType) { containsSpace = 0; } else { - containsSpace = strchr(methodName, ' ') != NULL; + containsSpace = NsfHasTclSpace(methodName); } if (containsSpace != 0) { - tailContainsSpace = strchr(NSTail(methodName), ' ') != NULL; + tailContainsSpace = NsfHasTclSpace(NSTail(methodName)); } else { tailContainsSpace = 0; } /*fprintf(stderr, "<%s> containsSpace %d tailContainsSpace %d\n", methodName, containsSpace, tailContainsSpace);*/ #if !defined(NDEBUG) if (containsSpace != 0) { - assert(strchr(methodName, ' ') != 0); + assert(NsfHasTclSpace(methodName)); } else { assert(tailContainsSpace == 0); } @@ -16573,6 +16573,11 @@ nonnull_assert(body != NULL); nameStr = ObjStr(nameObj); + + if (*nameStr == '\0' || NsfHasTclSpace(nameStr)) { + return NsfPrintError(interp, "invalid method name '%s'", nameStr); + } + if (precondition != NULL && postcondition == NULL) { return NsfPrintError(interp, "%s method '%s'; when specifying a precondition (%s)" " a postcondition must be specified as well",