diff options
| author | hobbs <hobbs> | 2006-08-30 17:24:07 (GMT) |
|---|---|---|
| committer | hobbs <hobbs> | 2006-08-30 17:24:07 (GMT) |
| commit | 113c6f620d3e24add27ffce6fa7fcabd5749c6a3 (patch) | |
| tree | 4acce543b99fe80dfb632e244c58391e66a943c6 | |
| parent | 5ad6f6d072565e9ea6d6c528d818669f3d00ef09 (diff) | |
| download | tcl-113c6f620d3e24add27ffce6fa7fcabd5749c6a3.zip tcl-113c6f620d3e24add27ffce6fa7fcabd5749c6a3.tar.gz tcl-113c6f620d3e24add27ffce6fa7fcabd5749c6a3.tar.bz2 | |
* generic/tclIOGT.c (ExecuteCallback):
* generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
with more efficient Tcl_Eval(Obj)Ex
| -rw-r--r-- | generic/tclIOGT.c | 4 | ||||
| -rw-r--r-- | generic/tclPkg.c | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/generic/tclIOGT.c b/generic/tclIOGT.c index 552acc0..7fbdda9 100644 --- a/generic/tclIOGT.c +++ b/generic/tclIOGT.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * CVS: $Id: tclIOGT.c,v 1.7.2.1 2004/09/10 20:01:03 andreas_kupries Exp $ + * CVS: $Id: tclIOGT.c,v 1.7.2.2 2006/08/30 17:24:07 hobbs Exp $ */ #include "tclInt.h" @@ -440,7 +440,7 @@ ExecuteCallback (dataPtr, interp, op, buf, bufLen, transmit, preserve) * message into current interpreter. Don't copy if in preservation mode. */ - res = Tcl_GlobalEvalObj (dataPtr->interp, command); + res = Tcl_EvalObjEx(dataPtr->interp, command, TCL_EVAL_GLOBAL); Tcl_DecrRefCount (command); command = (Tcl_Obj*) NULL; diff --git a/generic/tclPkg.c b/generic/tclPkg.c index 3453020..4265aa9 100644 --- a/generic/tclPkg.c +++ b/generic/tclPkg.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclPkg.c,v 1.9.2.3 2006/04/05 01:20:53 dgp Exp $ + * RCS: @(#) $Id: tclPkg.c,v 1.9.2.4 2006/08/30 17:24:07 hobbs Exp $ */ #include "tclInt.h" @@ -327,7 +327,7 @@ Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) pkgPtr->clientData = (ClientData) versionToProvide; Tcl_Preserve((ClientData) script); Tcl_Preserve((ClientData) versionToProvide); - code = Tcl_GlobalEval(interp, script); + code = Tcl_EvalEx(interp, script, -1, TCL_EVAL_GLOBAL); Tcl_Release((ClientData) script); pkgPtr = FindPackage(interp, name); if (code == TCL_OK) { @@ -390,7 +390,7 @@ Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) pkgPtr->version, " provided instead", NULL); Tcl_ListObjAppendElement(NULL, cmdPtr, msg); Tcl_IncrRefCount(cmdPtr); - Tcl_GlobalEvalObj(interp, cmdPtr); + Tcl_EvalObjEx(interp, cmdPtr, TCL_EVAL_GLOBAL); Tcl_DecrRefCount(cmdPtr); Tcl_ResetResult(interp); } @@ -450,7 +450,8 @@ Tcl_PkgRequireEx(interp, name, version, exact, clientDataPtr) if (exact) { Tcl_DStringAppend(&command, " -exact", 7); } - code = Tcl_GlobalEval(interp, Tcl_DStringValue(&command)); + code = Tcl_EvalEx(interp, Tcl_DStringValue(&command), + Tcl_DStringLength(&command), TCL_EVAL_GLOBAL); Tcl_DStringFree(&command); if ((code != TCL_OK) && (code != TCL_ERROR)) { Tcl_Obj *codePtr = Tcl_NewIntObj(code); |
