diff options
author | dgp <dgp@users.sourceforge.net> | 2007-09-06 18:13:19 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2007-09-06 18:13:19 (GMT) |
commit | fa9ca5327da10d6516693b272a082e03a255c835 (patch) | |
tree | 21db3085afb048eebeefccee941778b5e8733f74 /generic/tclIntDecls.h | |
parent | d5f98c3ef4786469dfaedb23c4deeffd2973be05 (diff) | |
download | tcl-fa9ca5327da10d6516693b272a082e03a255c835.zip tcl-fa9ca5327da10d6516693b272a082e03a255c835.tar.gz tcl-fa9ca5327da10d6516693b272a082e03a255c835.tar.bz2 |
* generic/tclInt.decls: New internal routine TclBackgroundException()
* generic/tclEvent.c: that for the first time permits non-TCL_ERROR
exceptions to trigger [interp bgerror] handling. Closes a gap in
TIP 221. When falling back to [bgerror] (which is designed only
to handle TCL_ERROR), convert exceptions into errors complaining
about the exception.
* generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call
* generic/tclIO.c: TclBackgroundException().
* generic/tclIOCmd.c:
* generic/tclTimer.c:
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
Diffstat (limited to 'generic/tclIntDecls.h')
-rw-r--r-- | generic/tclIntDecls.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h index 876a4bf..157b189 100644 --- a/generic/tclIntDecls.h +++ b/generic/tclIntDecls.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIntDecls.h,v 1.104 2007/08/07 17:28:39 msofer Exp $ + * RCS: @(#) $Id: tclIntDecls.h,v 1.105 2007/09/06 18:13:20 dgp Exp $ */ #ifndef _TCLINTDECLS @@ -1051,6 +1051,12 @@ EXTERN Var * TclVarHashCreateVar (TclVarHashTable * tablePtr, EXTERN void TclInitVarHashTable (TclVarHashTable * tablePtr, Namespace * nsPtr); #endif +#ifndef TclBackgroundException_TCL_DECLARED +#define TclBackgroundException_TCL_DECLARED +/* 236 */ +EXTERN void TclBackgroundException (Tcl_Interp * interp, + int code); +#endif typedef struct TclIntStubs { int magic; @@ -1307,6 +1313,7 @@ typedef struct TclIntStubs { void (*tclGetSrcInfoForPc) (CmdFrame * contextPtr); /* 233 */ Var * (*tclVarHashCreateVar) (TclVarHashTable * tablePtr, const char * key, int * newPtr); /* 234 */ void (*tclInitVarHashTable) (TclVarHashTable * tablePtr, Namespace * nsPtr); /* 235 */ + void (*tclBackgroundException) (Tcl_Interp * interp, int code); /* 236 */ } TclIntStubs; #ifdef __cplusplus @@ -2036,6 +2043,10 @@ extern TclIntStubs *tclIntStubsPtr; #define TclInitVarHashTable \ (tclIntStubsPtr->tclInitVarHashTable) /* 235 */ #endif +#ifndef TclBackgroundException +#define TclBackgroundException \ + (tclIntStubsPtr->tclBackgroundException) /* 236 */ +#endif #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ |