fix for [Bug 3484621], take 2
fix for [Bug 3484621], take 2
fix for [Bug 3484621], take 3
fix for [Bug 3484621], take 3
3485022 TclCompileEnsemble() avoid compile when exec traces set.
3485022 TclCompileEnsemble() avoid compile when exec traces set.
3485022 Disable ensemble subcommand compile inside a Tcl_Create*Trace().
3485022 Disable ensemble subcommand compile inside a Tcl_Create*Trace().
Honor per-namespace compile suppression in ensemble subcommands.
3484402 Correct Off-By-One error appending unicode. Thanks to Poor Yorick.
Also corrected test for when growth is needed.
Converted the memcpy() calls in append operations to memmove() calls.
This adds safety in the case of overlapping copies, and improves
performance on some benchmarks.
Document, by a retroactive bug report, a nasty Notifier issue on 64-bits x86 that affects the 8.4 branch
Document, by a retroactive bug report, a nasty Notifier issue on 64-bits x86 that affects the 8.4 branch
merge mark
Minor: Formatting fixes.
	* generic/tclCompCmds.c (TclCompileDictForCmd): [Bug 3487626]: Fix
	crash in compilation of [dict for] when its implementation command is
	used directly rather than through the ensemble.
	* generic/tclCompCmds.c (TclCompileDictForCmd): [Bug 3487626]: Fix
	crash in compilation of [dict for] when its implementation command is
	used directly rather than through the ensemble.
	* generic/tclCompCmds.c (TclCompileLrangeCmd): Add compiler for
	[lrange] with constant indices so we can take advantage of existing
	TCL_LIST_RANGE_IMM opcode.
	(TclCompileLindexCmd): Improve coverage of constant-index-style
	compliation using technique developed for [lrange] above.
	* generic/tclCompCmds.c (TclCompileLreplaceCmd): Added a compilation
	strategy for [lreplace] that tackles the cases which are equivalent to
	a static [lrange].
* generic/tclExecute.c (INST_LIST_RANGE_IMM): Enhance implementation
so that shortening a (not multiply-referenced) list by lopping the end
off with [lrange] or [lreplace] is efficient.