Index: generic/nsf.c =================================================================== diff -u -N -r7e090d5c59743ecf7e8fd8d05d5130c5bce092db -r5425e020380d24f7e9d082ddc030478b93e894d2 --- generic/nsf.c (.../nsf.c) (revision 7e090d5c59743ecf7e8fd8d05d5130c5bce092db) +++ generic/nsf.c (.../nsf.c) (revision 5425e020380d24f7e9d082ddc030478b93e894d2) @@ -21381,8 +21381,8 @@ /* if the argument contains a space, try to split */ const char *p = flag+1; - while (*p != '\0' && *p != ' ') p++; - if (*p == ' ') { + while (*p != '\0' && !NsfHasTclSpace(p)) p++; + if (NsfHasTclSpace(p)) { if (Tcl_ListObjGetElements(interp, obj, objcPtr, objvPtr) == TCL_OK) { *methodName = ObjStr(*objvPtr[0]); if (**methodName == '-') {(*methodName)++ ;} @@ -29381,7 +29381,7 @@ break; } case LIST_DASH: /* Argument is a list with a leading dash, grouping determined by list */ - { i++; + { i++; nextMethodName = NULL; if (i < objc) { Index: tests/parameters.test =================================================================== diff -u -N -rf934951db464db1a6f39ac98290ecde17a466cd7 -r5425e020380d24f7e9d082ddc030478b93e894d2 --- tests/parameters.test (.../parameters.test) (revision f934951db464db1a6f39ac98290ecde17a466cd7) +++ tests/parameters.test (.../parameters.test) (revision 5425e020380d24f7e9d082ddc030478b93e894d2) @@ -1969,11 +1969,19 @@ ? {cc parameter_declaration} o ? {cc user_id} 4 - # new without list notation + # new with list notation ? {CC create cc -package_id 234 [list -parameter_declaration oo] -user_id 456} ::cc ? {cc package_id} 234 ? {cc parameter_declaration} oo ? {cc user_id} 456 + + xotcl::Class create KK -parameter {a b c d} + # new with (alternative) list notation + ? {KK create kk "-a\r234" "-b\n456" "-c\f543" "-d\nddd"} ::kk + ? {kk a} 234 + ? {kk b} 456 + ? {kk c} 543 + ? {kk d} ddd } #