Index: TODO =================================================================== diff -u -r24cc5e107fd8d246061a9d4b4fafefc767811c2b -r9ab3a1839485aefab2e7f412e3cdc89c3cd3adac --- TODO (.../TODO) (revision 24cc5e107fd8d246061a9d4b4fafefc767811c2b) +++ TODO (.../TODO) (revision 9ab3a1839485aefab2e7f412e3cdc89c3cd3adac) @@ -5127,6 +5127,9 @@ definition of a filter/mixin guard - extended regression test +nsf.c: +- improve handling of space in object names + ======================================================================== TODO: - TODO: update tutorial and migration guide Index: generic/nsf.c =================================================================== diff -u -rf671281a240219965d436e2bfa762baf85274ca6 -r9ab3a1839485aefab2e7f412e3cdc89c3cd3adac --- generic/nsf.c (.../nsf.c) (revision f671281a240219965d436e2bfa762baf85274ca6) +++ generic/nsf.c (.../nsf.c) (revision 9ab3a1839485aefab2e7f412e3cdc89c3cd3adac) @@ -3134,7 +3134,7 @@ CONST char **methodName1, int *fromClassNS) { char *methodName; NsfObject *referencedObject; - int containsSpace; + int containsSpace, tailContainsSpace; Tcl_Command cmd; assert(interp); @@ -3156,15 +3156,22 @@ containsSpace = strchr(methodName, ' ') != NULL; } + if (containsSpace) { + tailContainsSpace = strchr(NSTail(methodName), ' ') != NULL; + } else { + tailContainsSpace = 0; + } + /*fprintf(stderr, "<%s> containsSpace %d tailContainsSpace %d\n", methodName, containsSpace, tailContainsSpace);*/ + #if !defined(NDBUG) if (containsSpace) { assert(strchr(methodName, ' ') != 0); } else { - assert(strchr(methodName, ' ') == 0); + assert(tailContainsSpace == 0); } #endif - if (containsSpace) { + if (tailContainsSpace) { CONST char *firstElementString; Tcl_Namespace *parentNsPtr; NsfObject *ensembleObject;