diff options
author | dgp <dgp@users.sourceforge.net> | 2004-09-21 22:45:24 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2004-09-21 22:45:24 (GMT) |
commit | 0fab4196b86cedddde357a45a507d28394f69041 (patch) | |
tree | 9a6f4d0fee8ce88471f221dc2fa8d566f014fa3c /generic/tclBasic.c | |
parent | 06a048576807784660a9d34719a0f704125098bf (diff) | |
download | tcl-0fab4196b86cedddde357a45a507d28394f69041.zip tcl-0fab4196b86cedddde357a45a507d28394f69041.tar.gz tcl-0fab4196b86cedddde357a45a507d28394f69041.tar.bz2 |
* generic/tclBasic.c: Reworked management of the interp
* generic/tclCompile.c: flag ERR_ALREADY_LOGGED, to reduce
* generic/tclExecute.c: its exposure. Still left several
* generic/tclNamesp.c: references that are just too nice
on performace to do away with. These changes also resolve
an inconsistency in the ::errorInfo values produced by
[namespace eval x error foo bar] and
[namespace eval x {error foo bar}].
* generic/tclExecute.c (TclCompEvalObj): Simplified
the TclCompEvalObj routine. Much housekeeping now reliably
happens elsewhere. [Patch 1031949]
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index f6e5235..aabcb27 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.114 2004/09/17 22:59:14 dgp Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.115 2004/09/21 22:45:40 dgp Exp $ */ #include "tclInt.h" @@ -3311,7 +3311,6 @@ Tcl_LogCommandInfo(interp, script, command, length) if (!(iPtr->flags & ERROR_CODE_SET)) { Tcl_SetErrorCode(interp, "NONE", NULL); } - iPtr->flags &= ~ERR_ALREADY_LOGGED; } /* @@ -3837,17 +3836,8 @@ Tcl_EvalObjEx(interp, objPtr, flags) && !allowExceptions) { ProcessUnexpectedResult(interp, result); result = TCL_ERROR; - - /* - * If an error was created here, record information about - * what was being executed when the error occurred. - */ - - if (!(iPtr->flags & ERR_ALREADY_LOGGED)) { - script = Tcl_GetStringFromObj(objPtr, &numSrcBytes); - Tcl_LogCommandInfo(interp, script, script, numSrcBytes); - iPtr->flags &= ~ERR_ALREADY_LOGGED; - } + script = Tcl_GetStringFromObj(objPtr, &numSrcBytes); + Tcl_LogCommandInfo(interp, script, script, numSrcBytes); } } iPtr->evalFlags = 0; |