rem: } opt;
add: } _nsmayalias opt;
context: NsTclMutexObjCmd(ClientData data, Tcl_Interp *interp, int objc, Tcl_Obj **objv){    Ns_Mutex *lockPtr;    static CONST char *opts[] = {	"create", "destroy", "lock", "unlock", NULL    };    enum {	MCreateIdx, MDestroyIdx, MLockIdx, MUnlockIdx    } opt;    if (!GetArgs(interp, objc, objv, opts, 'm', MCreateIdx,		  (int *) &opt, (void **) &lockPtr)) {	return TCL_ERROR;    }    switch (opt) {    case MCreateIdx:	Ns_MutexInit(lockPtr);	if (objc > 2) {	    Ns_MutexSetName(lockPtr, Tcl_GetString(objv[2]));	}	break;    case MLockIdx:	Ns_MutexLock(lockPtr);	break;    case MUnlockIdx:	Ns_MutexUnlock(lockPtr);	break;    case MDestroyIdx:	Ns_MutexDestroy(lockPtr);        ns_free(lockPtr);	break;    }    return TCL_OK;}