summaryrefslogtreecommitdiffstats
path: root/generic/tclIntDecls.h
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2007-09-06 18:13:19 (GMT)
committerdgp <dgp@users.sourceforge.net>2007-09-06 18:13:19 (GMT)
commitfa9ca5327da10d6516693b272a082e03a255c835 (patch)
tree21db3085afb048eebeefccee941778b5e8733f74 /generic/tclIntDecls.h
parentd5f98c3ef4786469dfaedb23c4deeffd2973be05 (diff)
downloadtcl-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.h13
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) */