Subject: Put back Tcl_[GS]etStartupScript in internal stub table, so extensions using this, compiled against 8.5 headers still run in Tcl 8.6.

From: "jan.nijtmans" <[email-masked]>
Date: Mon, 14 Jan 2013 15:19:18 +0000

---
 ChangeLog             |  6 ++++++
 generic/tclInt.decls  | 14 +++++++-------
 generic/tclIntDecls.h | 23 +++++++++++++++++------
 generic/tclStubInit.c |  4 ++--
 4 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 83e7053..d9b7df4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-14  Jan Nijtmans  <[email-masked]>
+
+	* generic/tclInt.decls: Put back Tcl_[GS]etStartupScript in
+	internal stub table, so extensions using this, compiled
+	against 8.5 headers still run in Tcl 8.6.
+
 2013-01-13  Alexandre Ferrieux  <[email-masked]>
 	* doc/fileevent.n: Clarify readable fileevent "false positives" in
 	the case of multibyte encodings/transforms [Bug 3436609].
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
index 948cc01..58dab42 100644
--- a/generic/tclInt.decls
+++ b/generic/tclInt.decls
@@ -731,13 +731,13 @@ declare 177 {
     void TclVarErrMsg(Tcl_Interp *interp, const char *part1, const char *part2,
 	    const char *operation, const char *reason)
 }
-# TIP 338 made these public - now declared in tcl.h
-#declare 178 {
-#    void Tcl_SetStartupScript(Tcl_Obj *pathPtr, const char *encodingName)
-#}
-#declare 179 {
-#    Tcl_Obj *Tcl_GetStartupScript(const char **encodingNamePtr)
-#}
+# TIP 338 made these public - now declared in tcl.h too
+declare 178 {
+    void Tcl_SetStartupScript(Tcl_Obj *pathPtr, const char *encodingName)
+}
+declare 179 {
+    Tcl_Obj *Tcl_GetStartupScript(const char **encodingNamePtr)
+}
 
 # REMOVED
 # Allocate lists without copying arrays
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h
index d788ee0..b76d2e0 100644
--- a/generic/tclIntDecls.h
+++ b/generic/tclIntDecls.h
@@ -41,6 +41,8 @@
 #undef Tcl_FindCommand
 #undef Tcl_GetCommandFromObj
 #undef Tcl_GetCommandFullName
+#undef Tcl_SetStartupScript
+#undef Tcl_GetStartupScript
 
 /*
  * WARNING: This file is automatically generated by the tools/genStubs.tcl
@@ -446,8 +448,11 @@ EXTERN void		TclCleanupVar(Var *varPtr, Var *arrayPtr);
 EXTERN void		TclVarErrMsg(Tcl_Interp *interp, const char *part1,
 				const char *part2, const char *operation,
 				const char *reason);
-/* Slot 178 is reserved */
-/* Slot 179 is reserved */
+/* 178 */
+EXTERN void		Tcl_SetStartupScript(Tcl_Obj *pathPtr,
+				const char *encodingName);
+/* 179 */
+EXTERN Tcl_Obj *	Tcl_GetStartupScript(const char **encodingNamePtr);
 /* Slot 180 is reserved */
 /* Slot 181 is reserved */
 /* 182 */
@@ -784,8 +789,8 @@ typedef struct TclIntStubs {
     int (*tclCallVarTraces) (Interp *iPtr, Var *arrayPtr, Var *varPtr, const char *part1, const char *part2, int flags, int leaveErrMsg); /* 175 */
     void (*tclCleanupVar) (Var *varPtr, Var *arrayPtr); /* 176 */
     void (*tclVarErrMsg) (Tcl_Interp *interp, const char *part1, const char *part2, const char *operation, const char *reason); /* 177 */
-    void (*reserved178)(void);
-    void (*reserved179)(void);
+    void (*tcl_SetStartupScript) (Tcl_Obj *pathPtr, const char *encodingName); /* 178 */
+    Tcl_Obj * (*tcl_GetStartupScript) (const char **encodingNamePtr); /* 179 */
     void (*reserved180)(void);
     void (*reserved181)(void);
     struct tm * (*tclpLocaltime) (const time_t *clock); /* 182 */
@@ -1164,8 +1169,10 @@ extern const TclIntStubs *tclIntStubsPtr;
 	(tclIntStubsPtr->tclCleanupVar) /* 176 */
 #define TclVarErrMsg \
 	(tclIntStubsPtr->tclVarErrMsg) /* 177 */
-/* Slot 178 is reserved */
-/* Slot 179 is reserved */
+#define Tcl_SetStartupScript \
+	(tclIntStubsPtr->tcl_SetStartupScript) /* 178 */
+#define Tcl_GetStartupScript \
+	(tclIntStubsPtr->tcl_GetStartupScript) /* 179 */
 /* Slot 180 is reserved */
 /* Slot 181 is reserved */
 #define TclpLocaltime \
@@ -1293,6 +1300,10 @@ extern const TclIntStubs *tclIntStubsPtr;
 #undef TclBackgroundException
 
 #if defined(USE_TCL_STUBS) && defined(TCL_NO_DEPRECATED)
+#   define Tcl_SetStartupScript \
+	    (tclStubsPtr->tcl_SetStartupScript) /* 622 */
+#   define Tcl_GetStartupScript \
+	    (tclStubsPtr->tcl_GetStartupScript) /* 623 */
 #   undef Tcl_CreateNamespace
 #   define Tcl_CreateNamespace \
 	   (tclStubsPtr->tcl_CreateNamespace) /* 506 */
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 14c838f..1d1fe15 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -368,8 +368,8 @@ static const TclIntStubs tclIntStubs = {
     TclCallVarTraces, /* 175 */
     TclCleanupVar, /* 176 */
     TclVarErrMsg, /* 177 */
-    0, /* 178 */
-    0, /* 179 */
+    Tcl_SetStartupScript, /* 178 */
+    Tcl_GetStartupScript, /* 179 */
     0, /* 180 */
     0, /* 181 */
     TclpLocaltime, /* 182 */
-- 
cgit v0.12