diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-07-02 08:17:50 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-07-02 08:17:50 (GMT) |
commit | a6e73bdff10969ba7650f19309abf4a6ee9c041d (patch) | |
tree | 9b1ff6ff3db457ec452f61ebcb38c942c259dc7d /generic/tclBasic.c | |
parent | 7f2e7b48d83365fd7bb943530df2e43ca61bea8d (diff) | |
download | tcl-a6e73bdff10969ba7650f19309abf4a6ee9c041d.zip tcl-a6e73bdff10969ba7650f19309abf4a6ee9c041d.tar.gz tcl-a6e73bdff10969ba7650f19309abf4a6ee9c041d.tar.bz2 |
Another round of refCount consistancy improvements.
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 1220239..c9b37b2 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -2260,7 +2260,7 @@ Tcl_CreateObjCommand( /* Command already exists. */ /* - * [***] This is wrong. See Tcl Bug a16752c252. + * [***] This is wrong. See Tcl Bug a16752c252. * However, this buggy behavior is kept under particular * circumstances to accommodate deployed binaries of the * "tclcompiler" program. http://sourceforge.net/projects/tclpro/ @@ -3084,7 +3084,7 @@ Tcl_DeleteCommandFromToken( while (tracePtr != NULL) { CommandTrace *nextPtr = tracePtr->nextPtr; - if ((--tracePtr->refCount) <= 0) { + if (tracePtr->refCount-- <= 1) { ckfree(tracePtr); } tracePtr = nextPtr; @@ -3270,7 +3270,7 @@ CallCommandTraces( tracePtr->traceProc(tracePtr->clientData, (Tcl_Interp *) iPtr, oldName, newName, flags); cmdPtr->flags &= ~tracePtr->flags; - if ((--tracePtr->refCount) <= 0) { + if (tracePtr->refCount-- <= 1) { ckfree(tracePtr); } } @@ -4144,7 +4144,7 @@ TclNREvalObjv( * data[1] stores a marker for use by tailcalls; it will be set to 1 by * command redirectors (imports, alias, ensembles) so that tailcall skips * this callback (that marks the end of the target command) and goes back - * to the end of the source command. + * to the end of the source command. */ if (iPtr->deferredCallbacks) { @@ -4172,7 +4172,7 @@ EvalObjvCore( Interp *iPtr = (Interp *) interp; Namespace *lookupNsPtr = NULL; int enterTracesDone = 0; - + /* * Push records for task to be done on return, in INVERSE order. First, if * needed, the exception handlers (as they should happen last). @@ -4298,7 +4298,7 @@ EvalObjvCore( } } - /* + /* * Schedule leave traces. Raise the refCount on the resolved * cmdPtr, so that when it passes to the leave traces we know * it's still valid. @@ -4409,7 +4409,7 @@ NRCommand( /* * If there is a tailcall, schedule it next */ - + if (data[1] && (data[1] != INT2PTR(1))) { TclNRAddCallback(interp, TclNRTailcallEval, data[1], NULL, NULL, NULL); } @@ -5643,10 +5643,10 @@ TclArgumentBCEnter( * ensemble dispatch. Ensemble subcommands that lead to script * evaluation are not supposed to get compiled, because a command * such as [info level] in the script can expose some of the dispatch - * shenanigans. This means that we don't have to tend to the + * shenanigans. This means that we don't have to tend to the * housekeeping, and can escape now. */ - + if (ePtr->nline != objc) { return; } @@ -5910,7 +5910,7 @@ Tcl_GlobalEvalObj( * * If the flag TCL_EVAL_DIRECT is passed in, the value of invoker * must be NULL. Support for non-NULL invokers in that mode has - * been removed since it was unused and untested. Failure to + * been removed since it was unused and untested. Failure to * follow this limitation will lead to an assertion panic. * * Results: @@ -8192,7 +8192,7 @@ Tcl_NRCmdSwap( * TclSkipTailcall: if the NEXT command to be pushed tailcalls, execution * should continue after the CURRENT command is fully returned ("skip * the next command: we are redirecting to it, tailcalls should run - * after WE return") + * after WE return") * TclPushTailcallPoint: the search for a tailcalling spot cannot traverse * this point. This is special for OO, as some of the oo constructs * that behave like commands may not push an NRCommand callback. @@ -8326,7 +8326,7 @@ TclNRTailcallObjCmd( /* The tailcall data is in a Tcl list: the first element is the * namespace, the rest the command to be tailcalled. */ - + listPtr = Tcl_NewListObj(objc, objv); nsObjPtr = Tcl_NewStringObj(nsPtr->fullName, -1); @@ -8335,7 +8335,7 @@ TclNRTailcallObjCmd( Tcl_Panic("Tailcall failed to find the proper namespace"); } TclListObjSetElement(interp, listPtr, 0, nsObjPtr); - + iPtr->varFramePtr->tailcallPtr = listPtr; } return TCL_RETURN; @@ -8364,9 +8364,9 @@ TclNRTailcallEval( int objc; Tcl_Obj **objv; - Tcl_ListObjGetElements(interp, listPtr, &objc, &objv); + Tcl_ListObjGetElements(interp, listPtr, &objc, &objv); nsObjPtr = objv[0]; - + if (result == TCL_OK) { result = TclGetNamespaceFromObj(interp, nsObjPtr, &nsPtr); } |