Bug 3601260: Reverting [8aca9a8e96] fixes it.
merge core-8-5-branch
For traces, select modernizations from Patrick Fradlin.
For embedding support, select modernizations from Patrick Fradin
For traces and embedding support, select modernizations from Patrick Fradin.
Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
Fix bug #3601260 and #3602706 by reverting [8aca9a8e96]. This gives time to investigate the issue without too many people being hindered by that.
merge core-8-5-branch
merge-mark
Bug [3598282]: Stop using installData.tcl to install the timezone files.
Bug [3598282]: Stop using installData.tcl to install the timezone files.
Branch for fixing 3602706
cherry-pick [0f098031c3]
merge trunk
re-apply [8aca9a8e96], while backporting [d91c86d0da] from trunk.
This fixes bugs #3601260 and #3602706
More symmetric Tcl_(Incr|Decr)RefCount call, preventing bugs like #3601260 and #3602706
Eliminate all Tcl_ConvertToType calls and all direct calls to typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
[3603163]: Prevent odd crashes in 'eval {array set ...}'
[3603163]: Stop crash in weird case where [eval] is used to make [array set]
get confused about whether there is a local variable table or not. Thanks to
Poor Yorick for identifying a reproducible crashing case.
Cherrypick the refcount fixes and comments from mig-review.

I also find the revised "createPart2" values in *Lookup* calls appealing,
but I'm too fearful of breaking things without understanding the implications.
This approach just focuses on fixing the things I broke, without trying
to "fix" things long "broken" in multiple years of releases.