Index: generic/nsf.c =================================================================== diff -u -rbb18837f55b64ecdaf970c9e77624bc30f4c417a -r507acdb9edb4f73339590c097aee004401cedc45 --- generic/nsf.c (.../nsf.c) (revision bb18837f55b64ecdaf970c9e77624bc30f4c417a) +++ generic/nsf.c (.../nsf.c) (revision 507acdb9edb4f73339590c097aee004401cedc45) @@ -11957,6 +11957,12 @@ return TCL_ERROR; } + if (pcPtr->flags[j] & NSF_ARG_SET) { + NsfLog(interp, NSF_LOG_WARN, "Non-positional parameter %s was passed more than once", + nppPtr->name); + } + pcPtr->flags[j] |= NSF_ARG_SET; + if (pcPtr->flags[j] & NSF_PC_MUST_DECR) { pcPtr->status |= NSF_PC_STATUS_MUST_DECR; }