diff --git a/ext2sim/ext2sim.c b/ext2sim/ext2sim.c index 6ca3dc11..af3f2d4b 100644 --- a/ext2sim/ext2sim.c +++ b/ext2sim/ext2sim.c @@ -210,7 +210,7 @@ Exttosim_Init(interp) if (interp == NULL) return TCL_ERROR; if (Tcl_PkgRequire(interp, "Tclmagic", MAGIC_VERSION, 0) == NULL) return TCL_ERROR; - if (Tcl_InitStubs(interp, "8.5", 0) == NULL) return TCL_ERROR; + if (Tcl_InitStubs(interp, Tclmagic_InitStubsVersion, 0) == NULL) return TCL_ERROR; TxPrintf("Auto-loading EXTTOSIM module\n"); TxFlushOut(); diff --git a/ext2spice/ext2spice.c b/ext2spice/ext2spice.c index d7efe11a..6bc56752 100644 --- a/ext2spice/ext2spice.c +++ b/ext2spice/ext2spice.c @@ -208,7 +208,7 @@ Exttospice_Init(interp) if (interp == NULL) return TCL_ERROR; if (Tcl_PkgRequire(interp, "Tclmagic", MAGIC_VERSION, 0) == NULL) return TCL_ERROR; - if (Tcl_InitStubs(interp, "8.5", 0) == NULL) return TCL_ERROR; + if (Tcl_InitStubs(interp, Tclmagic_InitStubsVersion, 0) == NULL) return TCL_ERROR; TxPrintf("Auto-loading EXTTOSPICE module\n"); TxFlushOut(); diff --git a/graphics/grTCairo1.c b/graphics/grTCairo1.c index 8cee61b1..133c518e 100644 --- a/graphics/grTCairo1.c +++ b/graphics/grTCairo1.c @@ -261,7 +261,7 @@ GrTCairoInit () { bool rstatus; - if (Tk_InitStubs(magicinterp, "8.5", 0) == NULL) return FALSE; + if (Tk_InitStubs(magicinterp, Tclmagic_InitStubsVersion, 0) == NULL) return FALSE; tcairoCurrent.window = Tk_MainWindow(magicinterp); if (tcairoCurrent.window == NULL) diff --git a/graphics/grTOGL1.c b/graphics/grTOGL1.c index bb1b0354..ec2d4c5f 100644 --- a/graphics/grTOGL1.c +++ b/graphics/grTOGL1.c @@ -269,7 +269,7 @@ GrTOGLInit () static int attributeList[] = { GLX_RGBA, None, None }; #endif - if (Tk_InitStubs(magicinterp, "8.5", 0) == NULL) return FALSE; + if (Tk_InitStubs(magicinterp, Tclmagic_InitStubsVersion, 0) == NULL) return FALSE; toglCurrent.window = Tk_MainWindow(magicinterp); if (toglCurrent.window == NULL) diff --git a/graphics/grTk1.c b/graphics/grTk1.c index d5d3e32f..d783d244 100644 --- a/graphics/grTk1.c +++ b/graphics/grTk1.c @@ -372,7 +372,7 @@ GrTkInit(dispType) int color_base, color_reserved; int status; - if (Tk_InitStubs(magicinterp, "8.5", 0) == NULL) return FALSE; + if (Tk_InitStubs(magicinterp, Tclmagic_InitStubsVersion, 0) == NULL) return FALSE; grCurrent.window = Tk_MainWindow(magicinterp); diff --git a/lef/tcllef.c b/lef/tcllef.c index c378b2a9..878d7af9 100644 --- a/lef/tcllef.c +++ b/lef/tcllef.c @@ -42,7 +42,7 @@ Magiclef_Init(interp) if (interp == NULL) return TCL_ERROR; if (Tcl_PkgRequire(interp, "Tclmagic", MAGIC_VERSION, 0) == NULL) return TCL_ERROR; - if (Tcl_InitStubs(interp, "8.5", 0) == NULL) return TCL_ERROR; + if (Tcl_InitStubs(interp, Tclmagic_InitStubsVersion, 0) == NULL) return TCL_ERROR; TxPrintf("Auto-loading LEF/DEF module\n"); TxFlushOut(); diff --git a/plot/tclplot.c b/plot/tclplot.c index 348b7b9f..a590f4b5 100644 --- a/plot/tclplot.c +++ b/plot/tclplot.c @@ -46,7 +46,7 @@ Tclplot_Init(interp) if (interp == NULL) return TCL_ERROR; if (Tcl_PkgRequire(interp, "Tclmagic", MAGIC_VERSION, 0) == NULL) return TCL_ERROR; - if (Tcl_InitStubs(interp, "8.5", 0) == NULL) return TCL_ERROR; + if (Tcl_InitStubs(interp, Tclmagic_InitStubsVersion, 0) == NULL) return TCL_ERROR; TxPrintf("Auto-loading PLOT module\n"); TxFlushOut(); diff --git a/router/tclroute.c b/router/tclroute.c index 0922b6f5..3426267b 100644 --- a/router/tclroute.c +++ b/router/tclroute.c @@ -53,7 +53,7 @@ Tclroute_Init(interp) if (interp == NULL) return TCL_ERROR; if (Tcl_PkgRequire(interp, "Tclmagic", MAGIC_VERSION, 0) == NULL) return TCL_ERROR; - if (Tcl_InitStubs(interp, "8.5", 0) == NULL) return TCL_ERROR; + if (Tcl_InitStubs(interp, Tclmagic_InitStubsVersion, 0) == NULL) return TCL_ERROR; TxPrintf("Auto-loading ROUTE module\n"); TxFlushOut(); diff --git a/tcltk/tclmagic.c b/tcltk/tclmagic.c index 3314346a..48741630 100644 --- a/tcltk/tclmagic.c +++ b/tcltk/tclmagic.c @@ -53,6 +53,16 @@ char *MagicVersion = MAGIC_VERSION; char *MagicRevision = MAGIC_REVISION; char *MagicCompileTime = MAGIC_DATE; +#if TCL_MAJOR_VERSION < 9 +const char *Tclmagic_InitStubsVersion = "8.5"; +#else +/* Major version changed API (as you'd expect for a major version upgrade) + * which is compiled into the resulting binary. + * No possibility of dual version support. + */ +const char *Tclmagic_InitStubsVersion = "9.0"; +#endif + Tcl_Interp *magicinterp; Tcl_Interp *consoleinterp; @@ -1293,7 +1303,7 @@ Tclmagic_Init(interp) /* Remember the interpreter */ magicinterp = interp; - if (Tcl_InitStubs(interp, "8.5", 0) == NULL) return TCL_ERROR; + if (Tcl_InitStubs(interp, Tclmagic_InitStubsVersion, 0) == NULL) return TCL_ERROR; /* Initialization and Startup commands */ Tcl_CreateCommand(interp, "magic::initialize", (Tcl_CmdProc *)_magic_initialize, diff --git a/tcltk/tclmagic.h b/tcltk/tclmagic.h index c9d411b2..c2dcbc61 100644 --- a/tcltk/tclmagic.h +++ b/tcltk/tclmagic.h @@ -28,5 +28,7 @@ extern int TagVerify(); extern int Tcl_printf(); extern void MakeWindowCommand(); +extern const char *Tclmagic_InitStubsVersion; + #endif /* MAGIC_WRAPPER */ #endif /* _TCLMAGIC_H */