diff options
author | dgp <dgp@users.sourceforge.net> | 2004-10-05 18:14:24 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2004-10-05 18:14:24 (GMT) |
commit | eab3283014b276dd97ea9817fb75bf47c6181959 (patch) | |
tree | 88717c7d63e6416c4f15a3f6e1c96edd873699dc /generic/tclInt.h | |
parent | afd7b17255862ddee543ced29fb8e728965cf992 (diff) | |
download | tcl-eab3283014b276dd97ea9817fb75bf47c6181959.zip tcl-eab3283014b276dd97ea9817fb75bf47c6181959.tar.gz tcl-eab3283014b276dd97ea9817fb75bf47c6181959.tar.bz2 |
* generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp,
TclEvalObjvInternal,Tcl_LogCommandInfo):
* generic/tclCmdAH.c (Tcl_CatchObjCmd):
* generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors):
* generic/tclInt.h (Interp, ERROR_CODE_SET):
* generic/tclNamesp.c
(Tcl_CreateNamespace,Tcl_DeleteNamespace,TclTeardownNamespace):
* generic/tclResult.c
(Tcl_ResetResult,Tcl_SetObjErrorCode,TclTransferResult):
* generic/tclTrace.c (CallVarTraces):
Reworked management of the "errorCode" data of an interp.
That information is now primarily stored in a new private
(Tcl_Obj *) field of the Interp struct, rather than using a
global variable ::errorCode as the primary storage. The
ERROR_CODE_SET flag bit value is no longer required to manage
the value in its new location, and is removed. Variable traces
are established to support compatibility for any code expecting
the ::errorCode variable to hold the information.
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r-- | generic/tclInt.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index e525c52..c97e727 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclInt.h,v 1.179 2004/10/01 12:45:19 dkf Exp $ + * RCS: @(#) $Id: tclInt.h,v 1.180 2004/10/05 18:14:27 dgp Exp $ */ #ifndef _TCLINT @@ -1332,6 +1332,8 @@ typedef struct Interp { Tcl_Obj *returnLevelKey; /* holds "-level" */ Tcl_Obj *returnOptionsKey; /* holds "-options" */ + Tcl_Obj *errorCode; /* errorCode value (now as a Tcl_Obj) */ + /* * Resource limiting framework support (TIP#143). */ @@ -1400,10 +1402,6 @@ typedef struct Interp { * in $errorInfo for the current Tcl_Eval instance, * so Tcl_Eval needn't log it (used to implement the * "error message log" command). - * ERROR_CODE_SET: Non-zero means that Tcl_SetErrorCode has been - * called to record information for the current - * error. Zero means Tcl_Eval must clear the - * errorCode variable if an error is returned. * DONT_COMPILE_CMDS_INLINE: Non-zero means that the bytecode compiler * should not compile any commands into an inline * sequence of instructions. This is set 1, for @@ -1422,7 +1420,6 @@ typedef struct Interp { #define DELETED 1 #define ERR_IN_PROGRESS 2 #define ERR_ALREADY_LOGGED 4 -#define ERROR_CODE_SET 8 #define DONT_COMPILE_CMDS_INLINE 0x20 #define RAND_SEED_INITIALIZED 0x40 #define SAFE_INTERP 0x80 |