Fossil SCM

Don't set USE_TCL_EVALOBJV=1 for Tcl 8.6b3 and higher by default.

jan.nijtmans 2013-09-17 11:33 trunk
Commit 8c8c6bce2187307c2535042a8ffa6781227afab1
1 file changed +7 -10
+7 -10
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -29,27 +29,24 @@
2929
** Has the decision about whether or not to use Tcl_EvalObjv already been made
3030
** via the Makefile?
3131
*/
3232
#if !defined(USE_TCL_EVALOBJV)
3333
/*
34
-** Are we being compiled against Tcl 8.6 or higher? This check is [mostly]
35
-** wrong for at least the following two reasons:
34
+** Are we being compiled against Tcl 8.6b1 or b2? This check is [mostly]
35
+** wrong for at the following reason:
3636
**
37
-** 1. This check assumes that all versions of Tcl 8.6 and higher suffer from
38
-** the issue described in SF bug #3399564, which is incorrect.
39
-**
40
-** 2. Technically, this check is completely useless when the stubs mechanism
37
+** 1. Technically, this check is completely useless when the stubs mechanism
4138
** is in use. In that case, a runtime version check would be required and
4239
** that has not been implemented.
4340
**
44
-** However, if a particular user compiles and runs against Tcl 8.6 (or later),
41
+** However, if a particular user compiles and runs against Tcl 8.6b1 or b2,
4542
** this will cause a fallback to using the "conservative" method of directly
4643
** invoking a Tcl command. In that case, potential crashes will be avoided if
47
-** the user just so happened to compile or run against a late beta of Tcl 8.6.
44
+** the user just so happened to compile or run against Tcl 8.6b1 or b2.
4845
*/
49
-#if (TCL_MAJOR_VERSION > 8) || \
50
- ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 6))
46
+#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION == 6) && \
47
+ (TCL_RELEASE_LEVEL == TCL_BETA_RELEASE) && (TCL_RELEASE_SERIAL < 3)
5148
/*
5249
** Workaround NRE-specific issue in Tcl_EvalObjCmd (SF bug #3399564) by using
5350
** Tcl_EvalObjv instead of invoking the objProc directly.
5451
*/
5552
# define USE_TCL_EVALOBJV (1)
5653
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -29,27 +29,24 @@
29 ** Has the decision about whether or not to use Tcl_EvalObjv already been made
30 ** via the Makefile?
31 */
32 #if !defined(USE_TCL_EVALOBJV)
33 /*
34 ** Are we being compiled against Tcl 8.6 or higher? This check is [mostly]
35 ** wrong for at least the following two reasons:
36 **
37 ** 1. This check assumes that all versions of Tcl 8.6 and higher suffer from
38 ** the issue described in SF bug #3399564, which is incorrect.
39 **
40 ** 2. Technically, this check is completely useless when the stubs mechanism
41 ** is in use. In that case, a runtime version check would be required and
42 ** that has not been implemented.
43 **
44 ** However, if a particular user compiles and runs against Tcl 8.6 (or later),
45 ** this will cause a fallback to using the "conservative" method of directly
46 ** invoking a Tcl command. In that case, potential crashes will be avoided if
47 ** the user just so happened to compile or run against a late beta of Tcl 8.6.
48 */
49 #if (TCL_MAJOR_VERSION > 8) || \
50 ((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 6))
51 /*
52 ** Workaround NRE-specific issue in Tcl_EvalObjCmd (SF bug #3399564) by using
53 ** Tcl_EvalObjv instead of invoking the objProc directly.
54 */
55 # define USE_TCL_EVALOBJV (1)
56
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -29,27 +29,24 @@
29 ** Has the decision about whether or not to use Tcl_EvalObjv already been made
30 ** via the Makefile?
31 */
32 #if !defined(USE_TCL_EVALOBJV)
33 /*
34 ** Are we being compiled against Tcl 8.6b1 or b2? This check is [mostly]
35 ** wrong for at the following reason:
36 **
37 ** 1. Technically, this check is completely useless when the stubs mechanism
 
 
 
38 ** is in use. In that case, a runtime version check would be required and
39 ** that has not been implemented.
40 **
41 ** However, if a particular user compiles and runs against Tcl 8.6b1 or b2,
42 ** this will cause a fallback to using the "conservative" method of directly
43 ** invoking a Tcl command. In that case, potential crashes will be avoided if
44 ** the user just so happened to compile or run against Tcl 8.6b1 or b2.
45 */
46 #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION == 6) && \
47 (TCL_RELEASE_LEVEL == TCL_BETA_RELEASE) && (TCL_RELEASE_SERIAL < 3)
48 /*
49 ** Workaround NRE-specific issue in Tcl_EvalObjCmd (SF bug #3399564) by using
50 ** Tcl_EvalObjv instead of invoking the objProc directly.
51 */
52 # define USE_TCL_EVALOBJV (1)
53

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button