summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-08-29 08:49:38 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-08-29 08:49:38 (GMT)
commit8cae8edfb8ffd74855e92ae04c84bc32146d1b67 (patch)
treeaf06bb02f88b6d32c2b968efeef5daffeb1a31a0
parenta204742a21724c1f5404afff35e6450941ee13ac (diff)
downloadtcl-bug_3562640_alt.zip
tcl-bug_3562640_alt.tar.gz
tcl-bug_3562640_alt.tar.bz2
Alternative fix for bug-3562640bug_3562640_alt
-rw-r--r--generic/tcl.decls8
-rw-r--r--generic/tclDecls.h98
-rw-r--r--generic/tclStubInit.c36
3 files changed, 142 insertions, 0 deletions
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 256701d..d652424 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -2109,6 +2109,14 @@ declare 579 {
void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr, const char *format, ...)
}
+# (Exposed starting with 8.6)
+declare 605 {
+ int Tcl_GetErrorLine(Tcl_Interp *interp)
+}
+declare 606 {
+ void Tcl_SetErrorLine(Tcl_Interp *interp, int lineNum)
+}
+
##############################################################################
# Define the platform specific public Tcl interface. These functions are only
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 4225c96..ccd13de 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -3408,6 +3408,41 @@ EXTERN Tcl_Obj * Tcl_ObjPrintf(CONST char *format, ...);
EXTERN void Tcl_AppendPrintfToObj(Tcl_Obj *objPtr,
CONST char *format, ...);
#endif
+/* Slot 580 is reserved */
+/* Slot 581 is reserved */
+/* Slot 582 is reserved */
+/* Slot 583 is reserved */
+/* Slot 584 is reserved */
+/* Slot 585 is reserved */
+/* Slot 586 is reserved */
+/* Slot 587 is reserved */
+/* Slot 588 is reserved */
+/* Slot 589 is reserved */
+/* Slot 590 is reserved */
+/* Slot 591 is reserved */
+/* Slot 592 is reserved */
+/* Slot 593 is reserved */
+/* Slot 594 is reserved */
+/* Slot 595 is reserved */
+/* Slot 596 is reserved */
+/* Slot 597 is reserved */
+/* Slot 598 is reserved */
+/* Slot 599 is reserved */
+/* Slot 600 is reserved */
+/* Slot 601 is reserved */
+/* Slot 602 is reserved */
+/* Slot 603 is reserved */
+/* Slot 604 is reserved */
+#ifndef Tcl_GetErrorLine_TCL_DECLARED
+#define Tcl_GetErrorLine_TCL_DECLARED
+/* 605 */
+EXTERN int Tcl_GetErrorLine(Tcl_Interp *interp);
+#endif
+#ifndef Tcl_SetErrorLine_TCL_DECLARED
+#define Tcl_SetErrorLine_TCL_DECLARED
+/* 606 */
+EXTERN void Tcl_SetErrorLine(Tcl_Interp *interp, int lineNum);
+#endif
typedef struct TclStubHooks {
struct TclPlatStubs *tclPlatStubs;
@@ -4023,6 +4058,33 @@ typedef struct TclStubs {
int (*tcl_AppendFormatToObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, CONST char *format, int objc, Tcl_Obj *CONST objv[]); /* 577 */
Tcl_Obj * (*tcl_ObjPrintf) (CONST char *format, ...); /* 578 */
void (*tcl_AppendPrintfToObj) (Tcl_Obj *objPtr, CONST char *format, ...); /* 579 */
+ VOID *reserved580;
+ VOID *reserved581;
+ VOID *reserved582;
+ VOID *reserved583;
+ VOID *reserved584;
+ VOID *reserved585;
+ VOID *reserved586;
+ VOID *reserved587;
+ VOID *reserved588;
+ VOID *reserved589;
+ VOID *reserved590;
+ VOID *reserved591;
+ VOID *reserved592;
+ VOID *reserved593;
+ VOID *reserved594;
+ VOID *reserved595;
+ VOID *reserved596;
+ VOID *reserved597;
+ VOID *reserved598;
+ VOID *reserved599;
+ VOID *reserved600;
+ VOID *reserved601;
+ VOID *reserved602;
+ VOID *reserved603;
+ VOID *reserved604;
+ int (*tcl_GetErrorLine) (Tcl_Interp *interp); /* 605 */
+ void (*tcl_SetErrorLine) (Tcl_Interp *interp, int lineNum); /* 606 */
} TclStubs;
#ifdef __cplusplus
@@ -6377,11 +6439,47 @@ extern TclStubs *tclStubsPtr;
#define Tcl_AppendPrintfToObj \
(tclStubsPtr->tcl_AppendPrintfToObj) /* 579 */
#endif
+/* Slot 580 is reserved */
+/* Slot 581 is reserved */
+/* Slot 582 is reserved */
+/* Slot 583 is reserved */
+/* Slot 584 is reserved */
+/* Slot 585 is reserved */
+/* Slot 586 is reserved */
+/* Slot 587 is reserved */
+/* Slot 588 is reserved */
+/* Slot 589 is reserved */
+/* Slot 590 is reserved */
+/* Slot 591 is reserved */
+/* Slot 592 is reserved */
+/* Slot 593 is reserved */
+/* Slot 594 is reserved */
+/* Slot 595 is reserved */
+/* Slot 596 is reserved */
+/* Slot 597 is reserved */
+/* Slot 598 is reserved */
+/* Slot 599 is reserved */
+/* Slot 600 is reserved */
+/* Slot 601 is reserved */
+/* Slot 602 is reserved */
+/* Slot 603 is reserved */
+/* Slot 604 is reserved */
+#ifndef Tcl_GetErrorLine
+#define Tcl_GetErrorLine \
+ (tclStubsPtr->tcl_GetErrorLine) /* 605 */
+#endif
+#ifndef Tcl_SetErrorLine
+#define Tcl_SetErrorLine \
+ (tclStubsPtr->tcl_SetErrorLine) /* 606 */
+#endif
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
/* !END!: Do not edit above this line. */
+#undef Tcl_GetErrorLine
+#undef Tcl_SetErrorLine
+
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index d06e174..0b5e927 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -82,6 +82,15 @@ unsigned short TclWinNToHS(unsigned short ns) {
}
#endif
+#define Tcl_GetErrorLine getErrorLine
+int Tcl_GetErrorLine(Tcl_Interp *interp) {
+ return interp->errorLine;
+}
+#define Tcl_SetErrorLine setErrorLine
+void Tcl_SetErrorLine(Tcl_Interp *interp, int errorline) {
+ interp->errorLine = errorline;
+}
+
#ifdef __WIN32__
# define TclUnixWaitForFile 0
# define TclUnixCopyFile 0
@@ -1254,6 +1263,33 @@ TclStubs tclStubs = {
Tcl_AppendFormatToObj, /* 577 */
Tcl_ObjPrintf, /* 578 */
Tcl_AppendPrintfToObj, /* 579 */
+ NULL, /* 580 */
+ NULL, /* 581 */
+ NULL, /* 582 */
+ NULL, /* 583 */
+ NULL, /* 584 */
+ NULL, /* 585 */
+ NULL, /* 586 */
+ NULL, /* 587 */
+ NULL, /* 588 */
+ NULL, /* 589 */
+ NULL, /* 590 */
+ NULL, /* 591 */
+ NULL, /* 592 */
+ NULL, /* 593 */
+ NULL, /* 594 */
+ NULL, /* 595 */
+ NULL, /* 596 */
+ NULL, /* 597 */
+ NULL, /* 598 */
+ NULL, /* 599 */
+ NULL, /* 600 */
+ NULL, /* 601 */
+ NULL, /* 602 */
+ NULL, /* 603 */
+ NULL, /* 604 */
+ Tcl_GetErrorLine, /* 605 */
+ Tcl_SetErrorLine, /* 606 */
};
/* !END!: Do not edit above this line. */