diff options
| author | dgp@users.sourceforge.net <dgp> | 2012-04-17 13:49:46 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2012-04-17 13:49:46 (GMT) |
| commit | 7ed34e9c5151fbe3751be1ea9d48d511e346ce66 (patch) | |
| tree | 8455e28435ac778476275eb1dd293cc9d8f59fe7 | |
| parent | 2cd4d6b3b669e45f4dd4de0f95447afa2c75e100 (diff) | |
| download | tcl-7ed34e9c5151fbe3751be1ea9d48d511e346ce66.zip tcl-7ed34e9c5151fbe3751be1ea9d48d511e346ce66.tar.gz tcl-7ed34e9c5151fbe3751be1ea9d48d511e346ce66.tar.bz2 | |
Restore the tcl_platform(threaded) variable.
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | generic/tclBasic.c | 11 | ||||
| -rw-r--r-- | tests/platform.test | 2 |
3 files changed, 13 insertions, 7 deletions
@@ -34,13 +34,6 @@ * library/dde/pkgIndex.tcl Use [::tcl::pkgconfig get debug] instead * library/reg/pkgIndex.tcl of [info exists ::tcl_platform(debug)] - ***POTENTIAL INCOMPATIBILITY*** - The variables $tcl_platform(debug) and $tcl_platform(threaded) no - longer exist. They don't belong in the tcl_platform array, were never - documented, disturbed the platform-1.1 test, $tcl_platform(debug) was - only available on Windows anyway, and TIP #59 provides a much better - alternative. - 2012-04-10 Donal K. Fellows <dkf@users.sf.net> * generic/tcl.h (TCL_DEPRECATED_API): [Bug 2458976]: Added macro that diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 21fb2e2..e09ea1e 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -928,6 +928,17 @@ Tcl_CreateInterp(void) TclPrecTraceProc, NULL); TclpSetVariables(interp); +#ifdef TCL_THREADS + /* + * The existence of the "threaded" element of the tcl_platform array + * indicates that this particular Tcl shell has been compiled with threads + * turned on. Using "info exists tcl_platform(threaded)" a Tcl script can + * introspect on the interpreter level of thread safety. + */ + + Tcl_SetVar2(interp, "tcl_platform", "threaded", "1", TCL_GLOBAL_ONLY); +#endif + /* * Register Tcl's version number. * TIP #268: Full patchlevel instead of just major.minor diff --git a/tests/platform.test b/tests/platform.test index 33c96ba..8cb8dcd 100644 --- a/tests/platform.test +++ b/tests/platform.test @@ -18,6 +18,8 @@ testConstraint testWinCPUID [llength [info commands testwincpuid]] test platform-1.1 {TclpSetVariables: tcl_platform} { interp create i + i eval {catch {unset tcl_platform(debug)}} + i eval {catch {unset tcl_platform(threaded)}} set result [i eval {lsort [array names tcl_platform]}] interp delete i set result |
