Index: generic/nsf.c =================================================================== diff -u -r3e18b80be2883ba647c2110a2e8e2b1980940c30 -rfb333e558cb204cdf4c44619de6b83f4868cfdb5 --- generic/nsf.c (.../nsf.c) (revision 3e18b80be2883ba647c2110a2e8e2b1980940c30) +++ generic/nsf.c (.../nsf.c) (revision fb333e558cb204cdf4c44619de6b83f4868cfdb5) @@ -18063,6 +18063,10 @@ /*fprintf(stderr, "Dispatch obj=%s, cmd m='%s'\n", ObjectName(object), methodName);*/ + if (withIntrinsic + withLocal + withSystem > 1) { + return NsfPrintError(interp, "flags '-intrinsic', '-local' and '-system' are mutual exclusive"); + } + /* * If the specified method is a fully qualified cmd name like * e.g. ::nsf::cmd::Class::alloc, this method is called on the @@ -18357,8 +18361,8 @@ return NsfNoCurrentObjectError(interp, ObjStr(nobjv[0])); } - if (withSystem && withLocal) { - return NsfPrintError(interp, "flags '-local' and '-system' are mutual exclusive"); + if (withIntrinsic + withLocal + withSystem > 1) { + return NsfPrintError(interp, "flags '-intrinsic', '-local' and '-system' are mutual exclusive"); } #if 0