Index: generic/nsf.c =================================================================== diff -u -rb2ab5886fc3278e549bb2772dfce921fbd06a9e9 -r2d318cb5f4045ac6651c052d27c19fa43c011a2a --- generic/nsf.c (.../nsf.c) (revision b2ab5886fc3278e549bb2772dfce921fbd06a9e9) +++ generic/nsf.c (.../nsf.c) (revision 2d318cb5f4045ac6651c052d27c19fa43c011a2a) @@ -18098,6 +18098,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 @@ -18392,8 +18396,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