rem: } opt;
add: } _nsmayalias opt;
context: NsTclRWLockObjCmd(ClientData data, Tcl_Interp *interp, int objc,		  Tcl_Obj **objv){    Ns_RWLock *rwlockPtr;    static CONST char *opts[] = {	"create", "destroy", "readlock", "readunlock",	"writelock", "writeunlock", "unlock", NULL    };    enum {	RCreateIdx, RDestroyIdx, RReadLockIdx, RReadUnlockIdx,	RWriteLockIdx, RWriteUnlockIdx, RUnlockIdx    } opt;    if (!GetArgs(interp, objc, objv, opts, 'r', RCreateIdx,		  (int *) &opt, (void **) &rwlockPtr)) {	return TCL_ERROR;    }    switch (opt) {    case RCreateIdx:	Ns_RWLockInit(rwlockPtr);	break;    case RReadLockIdx:	Ns_RWLockRdLock(rwlockPtr);	break;    case RWriteLockIdx:	Ns_RWLockWrLock(rwlockPtr);	break;    case RReadUnlockIdx:    case RWriteUnlockIdx:    case RUnlockIdx:	Ns_RWLockUnlock(rwlockPtr);	break;    case RDestroyIdx:	Ns_RWLockDestroy(rwlockPtr);	ns_free(rwlockPtr);	break;    }    return TCL_OK;}