12004-12-29  Jeff Hobbs	<jeffh@ActiveState.com>
2
3	* win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove -Gs
4	(included in -O2) and -GD (outdated). Use "link -lib" instead of "lib"
5	binary and remove -YX for MSVC7 portability. Add -fomit-frame-pointer
6	for gcc OPT compiles. [Bug 1092952, 1091967] Align LIBS_GUI with Tk
7	head needs.
8
92004-12-29  Kevin B. Kenny  <kennykb@acm.org>
10
11	* generic/tclDate.c: Regen
12	* generic/tclGetDate.y (TclDatelex): Fixed a problem where a
13	four-digit group with >=2 leading zeroes appeared to be a two-digit
14	group, leading to misinterpreting the time 0012 as 1200. [Bug 1090413]
15	* library/clock.tcl: Added code to interpret correctly months outside
16	the range 01-12 as reduced modulo 12 with a corresponding adjustment
17	to the year. [Bug 1092789]
18	* tests/clock.test: Added regression test cases for the above two bugs
19	* unix/Makefile.in: Added --no-lines to the 'bison' command line to
20	* win/Makefile.in: help constrain the number of diffs in a cvs checkin
21
222004-12-24  Miguel Sofer <msofer@users.sf.net>
23
24	* generic/tclCompile.c:
25	* generic/tclCompile.h:
26	* generic/tclExecute.c:
27	* generic/tclInt.h:
28	* generic/tclLiteral.c:
29	* generic/tclProc.c:
30	Avoid sharing cmdName literals accross namespaces, and generalise
31	usage of the TclRegisterNewLiteral macro. [Patch 1090905]
32
332004-12-20  Miguel Sofer <msofer@users.sf.net>
34
35	* generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.c
36	* generic/tclProc.c: new static InitCompiledLocals to allow for a
37	single pass over the proc's arguments at proc load time (instead of
38	two as previously). TclObjInterpProc() now allocates the
39	compiledLocals on the tcl execution stack, using the new
40	TclStackAlloc/Free functions.
41
422004-12-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
43
44	* generic/tclInterp.c (Tcl_LimitSetTime, TimeLimitCallback):
45	(TclLimitRemoveAllHandlers, TclInitLimitSupport): Set a timer event to
46	trigger when the time limit runs out. All the time limit actually does
47	is check to see if the time limit has been exceeded, but this is
48	enough to fix [Bug 1085023].
49	* generic/tclInt.h (struct Interp): Added a field to hold the token
50	for the timer event handler associated with the current time limit.
51	* generic/tclEvent.c (Tcl_UpdateObjCmd, Tcl_VwaitObjCmd): Add error
52	message when limit exceeded.
53	* tests/interp.test (interp-34.[89]): Check that time limits handle
54	the two cases reported in [Bug 1085023]
55
56	* generic/tclTimer.c (TclCreateAbsoluteTimerHandler): New internal
57	function that allows setting a timer handler that will be triggered at
58	(or after) a specific time instead of at some number of milliseconds
59	in the future. This is a candidate for future exposure via a TIP.
60
612004-12-15  Miguel Sofer <msofer@users.sf.net>
62
63	* generic/tclBasic.c:
64	* generic/tclExecute.c:
65	* generic/tclInt.decls:
66	* generic/tclIntDecls.h:
67	* generic/tclNamesp.c:
68	* generic/tclProc.c:
69	* generic/tclStubInit.c:
70	* generic/tclTest.c: Added two new functions to allocate memory from
71	the execution stack (TclStackAlloc, TclStackFree). Added functions
72	TclPushStackFrame and TclPopStackFrame that do the work of
73	Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames allocated in
74	the execution stack - i.e., heap instead of C-stack. The core uses
75	these two new functions exclusively; the old ones remain for backwards
76	compat, as at least two popular extensions (itcl, xotcl) are known to
77	use them.
78
792004-12-14  Miguel Sofer <msofer@users.sf.net>
80
81	* generic/tclCmdIL.c:
82	* generic/tclInt.h:
83	* generic/tclProc.c:
84	* generic/tclVar.c: changing the isProcCallFrame field of the
85	CallFrame struct from a 0/1 field to flags. Should be perfectly
86	backwards compatible.
87
882004-12-14  Don Porter	<dgp@users.sourceforge.net>
89
90	* unix/configure.in: Added special processing to remove "$U" from
91	libraries in the LIBOBJS value. This is an auto-make-ism we need to
92	avoid. [Bug 1081541]
93
94	* unix/configure: autoconf-2.57
95
962004-12-13  Don Porter	<dgp@users.sourceforge.net>
97
98	* generic/tcl.h: Restored extern "C" guards so that C++ code sees
99	function pointer typedef linkage consistent with earlier Tcl releases.
100	[Bug 1082349]
101
102	* generic/tclEncoding.c: Plugged some memory leaks. Thanks to Rolf Ade
103	* generic/tclUtil.c:	 for reports and testing [Bug 1083082]
104
1052004-12-13  Kevin B. Kenny  <kennykb@acm.org>
106
107	* doc/clock.n: Clarify that the [clock scan] command does not accept
108	the full range of ISO8601 point-in-time formats. [Bug 1075433]
109
1102004-12-12  Miguel Sofer <msofer@users.sf.net>
111
112	* generic/tclVar.c (TclArrayObjCmd - ARRAY_NAMES): leaking an object
113	[Bug 1084111] - thanks to Rolf Ade.
114
1152004-12-12  Miguel Sofer <msofer@users.sf.net>
116
117	* generic/tclObj.c (TclSetCmdNameObj): special handling for fully
118	qualified command names (as in fix [Patch 456668]).
119
1202004-12-11  Miguel Sofer <msofer@users.sf.net>
121
122	* generic/tclInt.h:
123	* generic/tclNamesp.c: converting the static function
124	GetNamespaceFromObj() to MODULE_SCOPE TclGetNamespaceFromObj().
125
1262004-12-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
127
128	* tools/tcl.wse.in, unix/tcl.spec, win/README.binary, README:
129	* win/configure.in, unix/configure.in, generic/tcl.h:
130	Bumped version number to 8.5a3 to distinguish HEAD of CVS development
131	from the recent 8.5a2 release.
132
1332004-12-10  Miguel Sofer <msofer@users.sf.net>
134
135	* generic/tclCompile.c (TclInitCompiledLocals):
136	* generic/tclCompile.h:
137	* generic/tclInt.h:
138	* generic/tclProc.c (TclObjInterpProc, TclCreateProc): optimised
139	loops that initialise a proc's arguments and compiled local
140	variables, removing tests from inner loops.
141
1422004-12-10  Donal K. Fellows  <dkf@users.sf.net>
143
144	* generic/tclInt.h: Move ensemble API decls here from tclNamesp.c
145
1462004-12-09  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
147
148	* generic/tclNamesp.c (TclMakeEnsembleCmd, TclSetEnsemble*)
149	(TclSetEnsemble*, TclFindEnsemble): Build an internal API for creating
150	and manipulating ensembles; they can be deleted using the normal
151	command-deletion API.
152
153	* doc/Async.3: Reword for better grammar, better nroff and get the
154	flag name right. (Reported by David Welton.)
155
1562004-12-07  Don Porter	<dgp@users.sourceforge.net>
157
158	* tests/unixInit.test (2.1-4): Added constraints so that when a value
159	of TCL_LIBRARY is required for process initialization, we skip the
160	tests that mess with that value.
161
1622004-12-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
163
164	*** 8.5a2 TAGGED FOR RELEASE ***
165
166	* unix/Makefile.in: add library/{tzdata,msgs} to dist target (kbk)
167
168	* doc/foreach.n: Adjust tabs to be friendlier to some HTML
169	converters. [Bug 1078760]
170
1712004-12-06  Jeff Hobbs	<jeffh@ActiveState.com>
172
173	* unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits
174	[Bug 1079286]
175
176	* doc/error.n, doc/SaveResult.3, doc/Thread.3: minor nroff typos
177
1782004-12-06  Don Porter	<dgp@users.sourceforge.net>
179
180	* tests/safe.test:	Trim auto_path to improve performance [1080039]
181
182	* tests/msgcat.test:	makeFile/removeFile cleanup [1079117]
183
1842004-12-04  Don Porter	<dgp@users.sourceforge.net>
185
186	* generic/tclEncoding.c:	Different fix for [Bug 1077005].
187	* generic/tclEvent.c:	Broke apart TclpSetInitialEncodings() on
188	* generic/tclInt.h:	Windows into TclpSetInterfaces(), that is
189	* unix/tclUnixInit.c:	fundamentally essential, and the initialization
190	* win/tclWinInit.c:	of the system encoding, which is not. Made
191	the TclpSetInterfaces call part of TclInitSubsystems so it cannot be
192	overlooked.
193
1942004-12-03  Jeff Hobbs	<jeffh@ActiveState.com>
195
196	* changes: updated for 8.5a2 release
197
1982004-12-02  Don Porter	<dgp@users.sourceforge.net>
199
200	* generic/tclUtil.c (TclSetProcessGlobalValue): Handle the case where
201	a ProcessGlobalValue might be assigned to itself.
202
203	* generic/tclEncoding.c (MakeFileMap): Correct refcounting errors
204	managing values returned by TclPathPart (with refCount of 1!) that led
205	to a memory leak. [Bug 1077474].
206
2072004-12-02  Vince Darley  <vincentdarley@users.sourceforge.net>
208
209	* generic/tclPathObj.c:  fix and new tests for [Bug 1074671] to ensure
210	* tests/fileSystem.test: tilde paths are not returned specially by
211	'glob'.
212
2132004-12-02  Kevin B. Kenny  <kennykb@acm.org>
214
215	* win/Makefile.in: Added a 'sed' in the setting of ROOT_DIR_NATIVE to
216	compensate for a bug in cygpath (at least version 1.36) that leaves a
217	trailing backslash on the end of the converted path.
218
2192004-12-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
220
221	* generic/tclInterp.c (Alias,Target,Master): Rewrote these so that the
222	aliases that refer to an interpreter are stored in a list and not a
223	hashtable (which was only ever a convenience, and forced the use of a
224	global mutex to generate keys!) [FRQ 1077210]
225	* generic/tclNamesp.c (numNsCreated): Moved into thread-local storage
226	to remove a global mutex. [FRQ 1077210]
227
2282004-12-01  Don Porter	<dgp@users.sourceforge.net>
229
230	* generic/tclUtil.c (TclGetProcessGlobalValue): Narrowed the scope of
231	mutex locks.
232
233	* generic/tclUtil.c:		Updated Tcl_GetNameOfExecutable() to
234	* generic/tclEncoding.c:	make use of a ProcessGlobalValue for
235	* generic/tclEvent.c:		storing the executable name. Added
236	internal routines Tcl(Get|Set)ObjNameOfExecutable() to access that
237	storage in Tcl_Obj, rather than string format.
238
239	* unix/tclUnixFile.c:	Rewrote TclpFindExecutable() to use
240	* win/tclWinFile.c:	TclSetObjNameOfExecutable to store the
241	executable name it computes.
242
243	* generic/tclInt.h:	Added internal stub entries for
244	* generic/tclInt.decls: TclpFindExecutable and
245	Tcl(Get|Set)ObjNameOfExecutable.
246
247	* generic/tclIntDecls.h: make genstubs
248	* generic/tclStubInit.c:
249
250	* generic/tclCmdIL.c:	Retrieve executable name in Tcl_Obj form
251	* win/tclWinPipe.c:	instead of string form.
252
253	* unix/tclUnixTest.c:	Update [testfindexecutable] command to use new
254	internal interfaces.
255
256	* generic/tclEncoding.c:	Moved TclpSetInitialEncodings() call
257	from Tcl_FindExecutable() into TclInitEncodingSubsystem(). This is
258	important on Windows where it establishes whether the "ascii" or
259	"unicode" set of system routines will be used, and that needs to be
260	done earlier to support filesystem operations. [Bug 1077005]
261
2622004-12-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
263
264	* tests/winDde.test: Rewritten to use tcltest2 features more
265	thoroughly (reducing the [catch] count!) and fix the problem with
266	winDde-6.1 being out of synch with the implementation.
267
2682004-11-30  Don Porter	<dgp@users.sourceforge.net>
269
270	* library/init.tcl ([unknown]): Restored the save/restore of the
271	variables ::errorCode and ::errorInfo. This is needed when the
272	[::bgerror] command is auto-loaded (as it is by Tk).
273
274	Patch 976520 reworks several of the details involved with
275	startup/initialization of the Tcl library, focused on the activities
276	of Tcl_FindExecutable().
277
278	* generic/tclIO.c:	Removed bogus claim in comment that encoding
279	"iso8859-1" is "built-in" to Tcl.
280
281	* generic/tclInt.h:	Created a new struct ProcessGlobalValue,
282	* generic/tclUtil.c:	routines Tcl(Get|Set)ProcessGlobalValue, and
283	function type TclInitProcessGlobalValueProc. Together, these take care
284	of the housekeeping for "values" (things that can be held in a
285	Tcl_Obj) that are global across a whole process. That is, they are
286	shared among multiple threads, and epoch and mutex protection must
287	govern the validity of cached copies maintained in each thread.
288
289	* generic/tclNotify.c:	Modified TclInitNotifier() to tolerate being
290	called multiple times in the same thread.
291	* generic/tclEvent.c:	Dropped the unused argv0 argument to
292	TclInitSubsystems(). Removed machinery to unsure only one
293	TclInitNotifier() call per thread, now that that is safe. Converted
294	Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to
295	tclEncoding.c.
296	* generic/tclBasic.c:	Updated caller.
297
298	* generic/tclInt.h:	TclpFindExecutable now returns void.
299	* unix/tclUnixFile.c:
300	* win/tclWinFile.c:
301	* win/tclWinPipe.c:
302
303	* generic/tclEncoding.c: Built new encoding search initialization on a
304	foundation of ProcessGlobalValues, exposing new routines
305	Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to
306	directory pathname keeps track of where encodings are available for
307	loading. Tcl_FindExecutable greatly simplified into just three
308	function calls. The "library path" is now misnamed, as its only
309	remaining purpose is as a foundation for the default encoding search
310	path.
311
312	* generic/tclInterp.c:	Inlined the initScript that is evaluated by
313	Tcl_Init(). Added verification after initScript evaluation that Tcl
314	can find its installed *.enc files, and that it has initialized
315	[encoding system] in agreement with what the environment expects.
316	[tclInit] no longer driven by the value of $::tcl_libPath; it largely
317	constructs its own search path now, rather than attempt to share one
318	with the encoding system.
319
320	* unix/tclUnixInit.c:	TclpSetInitialEncodings factored so that a new
321	* win/tclWinInit.c:	routine TclpGetEncodingNameFromEnvironment can
322	reveal that Tcl thinks the [encoding system] should be, even when an
323	incomplete encoding search path, or a missing *.enc file won't allow
324	that initialization to succeed. TclpInitLibraryPath reworked as an
325	initializer of a ProcessGlobalValue.
326
327	* unix/tclUnixTest.c:	Update implementations of [testfindexecutable],
328	[testgetdefenc], and [testsetdefenc].
329
330	* tests/unixInit.test:	Corrected tests to operate properly even when
331	a value of TCL_LIBRARY is required to find encodings.
332
333	* generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
334	TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
335	are candidates for public exposure by future TIPs.
336
337	* generic/tclIntDecls.h: make genstubs
338	* generic/tclStubInit.c:
339
340	* generic/tclTest.c:	Updated [testencoding] to use
341	* tests/encoding.test:	Tcl(Get|Set)EncodingSearchPath.	 Updated tests.
342
3432004-11-30  Kevin B. Kenny  <kennykb@acm.org>
344
345	* library/clock.tcl: Corrected the regular expressions that match a
346	time zone to allow for time zones specified as +HH or -HH.
347	* tests/clock.test: Added regression test case for the above issue.
348	Thanks to Rolf Ade for reporting this issue [http://wiki.tcl.tk/13094]
349	* win/tclWinDde.c (Tcl_DdeObjCmd): Corrected a typo that caused a
350	compilation failure on VC++.
351
3522004-11-29  Andreas Kupries <andreask@activestate.com>
353
354	* win/Makefile.in (install-libraries): Brought entry '2004-10-26 Don
355	Porter (Tcl Modules)' into the windows world, actually the
356	win/configure buildsystem. The other windows buildsystems (.vc, .bc)
357	still have to be updated as well.
358
3592004-11-26  Andreas Kupries <andreask@activestate.com>
360
361	* win/tclWinDde.c (ExecuteRemoteObject): Removed bogus semicolon found
362	at the end of the header for the function definition, terminating it
363	early and preventing a compile. This is likely a fix for '2004-11-25
364	Donal'. I have to conclude that it is also unknown if the other
365	changes to this file actually pass the testsuite. Running testsuite
366	... They don't. winDde-6.1 fails. This is only a message discrepance,
367	i.e. not too bad. Leaving resolution of that to Pat and Donal.
368
3692004-11-26  Don Porter	<dgp@users.sourceforge.net>
370
371	* library/auto.tcl (tcl_findLibrary): Made sure the uniquifying
372	operations on the search path does not also normalize. [Bug 1072136]
373
3742004-11-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
375
376	* unix/configure.in: Simplify the code to check for correctness of
377	strstr, strtoul and strtod.
378	* unix/tcl.m4 (SC_TCL_CHECK_BROKEN_FUNC): Split a complex stanza out
379	of configure.in into its own function. Also force it to do the right
380	thing with cacheing of results of AC_TRY_RUN to deal with issue raised
381	in [Patch 1073524]
382
383	* doc/foreach.n: Added simple example. [FRQ 1073334]
384
3852004-11-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
386
387	* generic/tclProc.c (TclObjInterpProc):	    Make it so that only
388	* generic/tclIndexObj.c (Tcl_WrongNumArgs): [proc] instances do
389	* tests/indexObj.test (indexObj-5.7):	    quoting of their first
390	arguments, so keeping [Bug 942757] fixed and making [Bug 1066837] be
391	fixed as well. Done with a load of #ifdef-ery because this hack is so
392	ugly nobody should keep it around once Itcl's fixed.
393
3942004-11-25  Reinhard Max  <max@suse.de>
395
396	* tests/tcltest.test: The order in which [glob] returns the file names
397	is undefined, so tests should not depend on it.
398
3992004-11-25  Zoran Vasiljevic <vasiljevic@users.sf.net>
400
401	* doc/Thread.3:
402	* doc/Notifier.3: Added changes from the core-8-4-branch
403
4042004-11-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
405
406	* doc/dde.n: Synchronized the documentation of the commands with the
407	header of the docs and what the package actually does. Thanks to
408	Andreas Kupries for spotting this.
409	* win/tclWinDde.c (Tcl_DdeObjCmd): Much cleanup of argument parsing
410	code.
411
4122004-11-24  David Gravereaux <davygrvy@pobox.com>
413
414	* generic/tclPort.h: Relative include of tclWinPort.h returned as it
415	was requiring me set -I$(tcl_root)/win for my extensions that need to
416	include tclInt.h and doesn't appear to serve any purpose for windows
417	builds.
418
4192004-11-24  Kevin B. Kenny  <kennykb@acm.org>
420
421	* unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument
422	readdir_r [Bug 1001325].
423	* unix/configure: Regenerated.
424	* unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their
425	masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather
426	than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807]
427	* win/tclWinInit.c (TclpInitLibraryPath): Removed unused vars 'pathc'
428	and 'pathv' that caused compilation problems on VC++ with
429	--enable-symbols.
430
4312004-11-24  Don Porter	<dgp@users.sourceforge.net>
432
433	* unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine the
434	number of arguments for readdir_r on SunOS systems. [Bug 1071701]
435
436	* unix/configure:	autoconf-2.57
437
438	* generic/tclCmdIL.c (InfoVarsCmd):	Corrected segfault in new
439	* tests/info.test (info-19.6):	trivial matching branch [Bug 1072654]
440
4412004-11-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
442
443	* tools/man2html.tcl, tools/man2html1.tcl: Update to use Tcl 8.4.
444	* tools/man2html2.tcl: Fix broken .SS handling.
445
4462004-11-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
447
448	* unix/Makefile.in: Add (commented-out) code to integrate tclConfig.h
449	into the dependency tree and 'make distclean'. [Bug 1068171]
450
451	* generic/tclResult.c (Tcl_AppendResultVA): Remove call to
452	Tcl_GetStringResult to speed up repeated calls to Tcl_AppendResult
453	with the side effect that code that wants to access interp->result
454	should always call Tcl_GetStringResult first. See [Patch 1041072]
455	discussion for more details.
456
4572004-11-22  Mo DeJong  <mdejong@users.sourceforge.net>
458
459	* unix/configure: Regen.
460	* unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when
461	off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not
462	include an open64 function. [Bug 1030465]
463
4642004-11-22  Mo DeJong  <mdejong@users.sourceforge.net>
465
466	* unix/configure: Regen.
467	* unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2 argument version of
468	readdir_r that is known to exists under IRIX 5.3.
469	* unix/tclUnixThrd.c (TclpReaddir): Use either 2 arg or 3 arg version
470	of readdir_r. [Bug 1001325]
471
4722004-11-22  Don Porter	<dgp@users.sourceforge.net>
473
474	* unix/tclUnixInit.c (TclpInitLibraryPath): Purged dead code that used
475	* win/tclWinInit.c (TclpInitLibraryPath):  to extend the "library
476	path". Search path construction for init.tcl is now done within the
477	[tclInit] proc.
478	* generic/tclInterp.c:	Restored several directories to the search
479	* tests/unixInit.test:	path used to locate init.tcl within [tclInit].
480	This change does not restore any directories to the encoding search
481	path, so should still avoid the price of an unreasonably large number
482	of filesystem accesses during encoding initialization at startup
483	[Bug 976438]
484
4852004-11-22  Vince Darley  <vincentdarley@users.sourceforge.net>
486
487	* generic/tclPathObj.c: fix and new test for [Bug 1043129] in the
488	* tests/fileSystem.test: treatment of backslashes in file join on
489	Windows.
490
4912004-11-21  Don Porter	<dgp@users.sourceforge.net>
492
493	* doc/AddErrInfo.3:	Typo corrections (Thanks Daniel South).
494	* doc/interp.n:
495
4962004-11-19  Don Porter	<dgp@users.sourceforge.net>
497
498	* doc/AddErrInfo.3:	Docs for Tcl_(Get|Set)ReturnOptions. [TIP 227]
499
500	* doc/AddErrInfo.3:
501	* doc/Async.3:		Documentation updates to replace references
502	* doc/BackgdErr.3:	to global variable ::errorInfo and ::errorCode
503	* doc/SaveResult.3:	and to the ::bgerror command with references
504	* doc/after.n:		to their preferred replacements, the
505	* doc/bgerror.n:	-errorinfo and -errorcode return options,
506	* doc/error.n:		the Tcl_*InterpState routines, and the
507	* doc/exec.n:		[interp bgerror] command.
508	* doc/exit.n:
509	* doc/fileevent.n:
510	* doc/interp.n:
511	* doc/return.n:
512	* doc/tclvars.n:
513	* doc/update.n:
514
515	* tests/unixInit.test: Removed "knownBug" constraints to prompt bug
516	fixing before 8.5a2 release.
517
5182004-11-19  Daniel Steffen  <das@users.sourceforge.net>
519
520	* macosx/Makefile:
521	* unix/configure.in:
522	* unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection of tcl
523	framework build when determining tclLibPath from overloaded
524	TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088]
525
526	* unix/configure: autoconf-2.57
527	* unix/tclConfig.h.in: autoheader-2.57
528
5292004-11-18  Don Porter	<dgp@users.sourceforge.net>
530
531	* doc/SaveResult.3:	Documentation for Tcl_*InterpState (TIP 226).
532
533	* generic/tclEvent.c (HandleBgErrors):	Simplified program flow.
534
535	* tests/basic.test:	Updated functional (not testing) uses of
536	* tests/io.test:	[bgerror] to make use of [interp bgerror].
537	* tests/socket.test:
538	* tests/timer.test:
539
540	* tests/interp.test (interp-36.*):	[interp bgerror] tests.
541
542	* generic/tclInterp.c:	Corrected [interp bgerror] error messages.
543
5442004-11-18  Reinhard Max  <max@suse.de>
545
546	* unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of
547	* unix/configure.in:		    [Patch 996085], that introduces
548	* unix/Makefile.in:		    --enable-man-suffix.
549
550	* unix/installManPage:		    added
551	* unix/mkLinks.tcl:		    removed
552	* unix/mkLinks:			    removed
553	* unix/configure:		    generated
554
555	* unix/Makefile.in:		    Don't install tclConfig.h .
556
5572004-11-17  Don Porter	<dgp@users.sourceforge.net>
558
559	* unix/configure.in: The change below reveals that the public data
560	type Tcl_StatBuf relies on config information. For now, disabled the
561	use of the tclConfig.h file until its full impact on Tcl's interface
562	can be assessed.
563
564	* unix/configure:	autoconf-2.57
565
566	* generic/tcl.h:	Moved the #include "tclConfig.h" out of
567	* generic/tclInt.h:	tcl.h.	The config settings are not part of
568	* generic/tclPort.:	the public interface, and having it there
569	breaks compiled against uninstalled Tcl and extensions using
570	autoconf-2.5*.
571
5722004-11-16  Jeff Hobbs	<jeffh@ActiveState.com>
573
574	* unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuring
575	-ttycontrol on a channel. [Bug 1067708]
576
5772004-11-16  Don Porter	<dgp@users.sourceforge.net>
578
579	* generic/tclIOUtil.c (TclFSEpochOk): There were two code paths via
580	which the thread copy of filesystemEpoch could be synched with the
581	master copy, but only one kept the filesystem list cache up to date.
582	Fix routes everything through a single code path. [Bug 1035775].
583
5842004-11-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
585
586	* unix/tcl.m4 (SC_CONFIG_CFLAGS): Stop architecture flags to 'ld' from
587	getting lost when [load] is disabled. [Bug 1016796]
588
5892004-11-16  Daniel Steffen  <das@users.sourceforge.net>
590
591	* generic/tcl.h:
592	* unix/configure.in: changed HAVE_CONFIG_H to HAVE_TCL_CONFIG_H.
593
594	* unix/configure: autoconf-2.57
595
5962004-11-15  Don Porter	<dgp@users.sourceforge.net>
597
598	* generic/tclInt.h: Added comment warning that the old ERR_IN_PROGRESS
599	and ERROR_CODE_SET flag values should not be re-used for the sake of
600	those extensions that have accessed them.
601
602	* generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed
603	* tests/trace.test (trace-33.1):	to permit a variable trace
604	created with [trace variable] to be destroyed with [trace remove].
605	Thanks to Keith Vetter for the report.
606
6072004-11-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
608
609	* doc/tclvars.n: Added section to documentation on global variables
610	that are specific to tclsh and wish. [Patch 1065732]
611
6122004-11-12  Jeff Hobbs	<jeffh@ActiveState.com>
613
614	* generic/tclEncoding.c (TableFromUtfProc): correct crash condition
615	when TCL_UTF_MAX == 6. [Bug 1004065]
616
6172004-11-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
618
619	* doc/interp.n: Basic documentation of the TIP#221 API.
620
6212004-11-12  Don Porter	<dgp@users.sourceforge.net>
622
623	TIP #221 IMPLEMENTATION
624	* generic/tclBasic.c:	Define [::tcl::Bgerror] in new interps.
625	* generic/tclEvent.c:	Update Tcl_BackgroundError to make use of the
626				registered [interp bgerror] command.
627	* generic/tclInterp.c:	New [interp bgerror] subcommand.
628	* tests/interp.test:	syntax tests updated.
629
630	TIP #226 IMPLEMENTATION
631	* generic/tcl.decls:	Stubs for Tcl_(Save|Restore|Discard)InterpState
632	* generic/tcl.h:	New public opaque type, Tcl_InterpState.
633	* generic/tclInt.h:	Drop old private declarations. Add
634				Tcl(Get|Set)BgErrorHandler
635	* generic/tclResult.c:	Tcl_*InterpState implementations.
636	* generic/tclDictObj.c:	Update callers.
637	* generic/tclIOGT.c:
638	* generic/tclTrace.c:
639
640	TIP #227 IMPLEMENTATION
641	* generic/tcl.decls:	Stubs for Tcl_(Get|Set)ReturnOptions.
642	* generic/tclInt.h:	Drop old private declarations.
643	* generic/tclResult.c:	Tcl_*ReturnOptions implementations.
644	* generic/tclCmdAH.c:	Update callers.
645	* generic/tclMain.c:
646
647	* generic/tclDecls.h:	make genstubs
648	* generic/tclStubInit.c:
649
650	* unix/tclAppInit.c:	Removed tclConfig.h #include, now that tcl.h
651				takes care of it for us.
652
653	* generic/tclInt.h:	Moved verification of ptrdiff_t typedef from
654	* generic/tclExecute.c: multiple .c files into one common header where
655	* generic/tclVar.c:	it is verifiably after tclConfig.h inclusion.
656
6572004-11-12  Daniel Steffen  <das@users.sourceforge.net>
658
659	* generic/tcl.h:
660	* generic/tclInt.h:
661	* unix/Makefile.in: include tclConfig.h from tcl.h and install it as a
662	public header. Normalized compiler include path order to
663	-I${BUILD_DIR} -I${UNIX_DIR} -I${GENERIC_DIR}.
664
665	* unix/dltest/Makefile.in: add ${BUILD_DIR}/.. to include path to pick
666	up tclConfig.h.
667
668	* unix/tclUnixInit.c: moved check for HAVE_CFBUNDLE define after
669	#include "tclInt.h" to ensure tclConfig.h has been included.
670
6712004-11-12  Reinhard Max  <max@suse.de>
672
673	* unix/config.h.in:
674	* unix/tclConfig.h.in:	renamed
675
676	* unix/Makefile.in:	Completed support for config header,
677	* unix/configure.in:	fixed building outside of the unix dir,
678	* unix/tclAppinit.c:	and reflected the name change of config.h.
679	* generic/tclInt.h:
680
681	* unix/configure:	generated
682
6832004-11-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
684
685	* unix/config.h.in:	Allow configure to put all the C #defs into
686	* unix/configure.in:	a file (called config.h) so that Unix builds
687	* unix/tcl.m4:		now take far fewer lines of scrollback to
688	* unix/Makefile.in:	proceed (making it less likely that any errors
689	* generic/tclInt.h:	or warnings will get missed).
690	* unix/tclAppInit.c:	Part of the TIP#34 upgrades.
691
692	* unix/tcl.m4, unix/tclUnixPort.h: Check for pthread_attr_get_np in
693	<pthread.h> before forcing the use of <pthread_np.h> to make things
694	work on NetBSD 2.0. [Bug 1064882]
695
696	* doc/binary.n, doc/upvar.n: More minor fixes.
697
6982004-11-12  Daniel Steffen  <das@users.sourceforge.net>
699
700	* doc/CrtChannel.3:
701	* doc/Interp.3:
702	* doc/Limit.3:
703	* doc/binary.n:
704	* doc/dict.n:
705	* doc/tm.n:
706	* doc/upvar.n: fixed *roff errors uncovered by running 'make html'.
707
708	* tools/tcltk-man2html.tcl: added faked support for bullet point
709	lists, i.e. *nroff ".IP \(bu" syntax.
710
7112004-11-11  Daniel Steffen  <das@users.sourceforge.net>
712
713	* tests/fCmd.test:
714	* unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the
715	readdir() loop whenever the source hierarchy has been modified by
716	traverseProc (e.g. by deleting files); this is required to ensure
717	complete traversal of the source hierarchy on certain filesystems like
718	HFS+. Added test for failing recursive delete on Mac OS X that was due
719	to this. [Bug 1034337]
720
721	* generic/tclListObj.c (Tcl_ListObjReplace): use memmove() instead of
722	manual copy loop to shift list elements. Decreases time spent in
723	Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench
724	on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243]
725
726	* generic/tclHash.c: hoisted some constant pointer dereferences out of
727	loops to eliminate redundant loads that the gcc optimizer didn't deal
728	with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full
729	run of the tcl testuite on a ppc 7455. [Patch 1064243]
730
731	* tests/fileName.test:
732	* tests/fileSystem.test:
733	* tests/io.test:
734	* tests/msgcat.test:
735	* tests/tcltest.test:
736	* tests/unixInit.test: fixed bugs causing failures when running tests
737	with -tmpdir arg not set to working dir.
738
739	* macosx/Makefile: corrected path to html help inside framework.
740	Prevent parallel make from building several targets at the same time.
741
742	* macosx/tclMacOSXFCmd.c (struct fileinfobuf): force struct to be
743	packed to prevent failures when builing with -malign=natural.
744
7452004-11-10  Andreas Kupries <andreask@activestate.com>
746
747	* unix/tclUnixChan.c: [Bug 727786]. Exterminated the code marked
748	DEPRECATED. This code has not been used in over a year now, and we
749	have no complaints.
750
7512004-11-08  David Gravereaux <davygrvy@pobox.com>
752
753	* win/tclWinPipe.c: The pipe channel driver now respects the -blocking
754	option when closing is the same way the UNIX side works. This is to
755	avoid a hung shell when exiting due to open pipes that refuse to close
756	in a graceful manner.
757	* doc/open.n: Added a note about -blocking 0 and lack of exit status
758	as it had never been documented. [Bug 947693]
759
760	***POTENTIAL INCOMPATIBILITY***
761
762	Scripts that use async pipes on windows, must (like the UNIX side) set
763	-blocking to 1 before calling [close] to receive the exit status.
764
7652004-11-07  David Gravereaux <davygrvy@pobox.com>
766
767	* tests/winFile.test: added contraint to winFile-4.0 to prevent it
768	being run on NT4 [Bug 981829]
769
7702004-11-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
771
772	* tests/reg.test: Major reorganization so that this file is much
773	easier for a normal Tcl maintainer to comprehend. The test flags are
774	still very cryptic, but they appear to have to be that way. The number
775	of skipped tests has increased, but now the skipped tests have much
776	more meaningful content.
777
778	* tests/tm.test (genpaths): Add a [file normalize] so we pick up
779	Windows drive letters, etc. [Bug 1053568]
780
7812004-11-04  Don Porter	<dgp@users.sourceforge.net>
782
783	* changes:	Updates toward an 8.5a2 release.
784
7852004-11-03  Kevin B. Kenny  <kennykb@acm.org>
786
787	* library/clock.tcl (FreeScan): Fixed a bug where scanning "Monday"
788	with a base time other than midnight incorrectly carried the base time
789	forward.
790
791	* test/clock.test (clock-33.{5,5a}): Made the test failure more
792	informative.
793
794	* tests/clock.test (clock-34.{28,44,45,46}): Removed 'knownBug'
795	constraints from tests that no longer fail.
796
797	Thanks to Don Porter for reporting these.
798
7992004-11-03  David Gravereaux <davygrvy@pobox.com>
800
801	* generic/tcl.h:		Moved the preprocessor logic
802	* generic/tclDecls.h:		from tclInt.h of setting the
803	* generic/tclInt.h:		TCL_STORAGE_CLASS macro to the
804	* generic/tclIntDecls.h:	tcl*Decls.h files now that no
805	* generic/tclIntPlatDecls.h:	use of EXTERN is left in tclInt.h.
806	* generic/tclPlatDecls.h:	Proto for Tcl_Main moved in tcl.h
807	* win/tclWinPort.h:		to prior the inclusion of the Stubs
808	headers as they are now resetting TCL_STORAGE_CLASS. Removed
809	extraineous reset from tclWinPort.h. [Patch 1055668]
810
811	* generic/tclCompile.h: Removed extrainious reset of TCL_STORAGE_CLASS
812	missed in my last edit.
813
8142004-11-03  Don Porter	<dgp@users.sourceforge.net>
815
816	* library/init.tcl ([unknown]): Corrections to the 2004-10-25 mods to
817	Aunt ??? in [unknown]. Flaws revealed by Itcl test suite, which still
818	apparently relies on this brokenness. Also added comment suggesting
819	the error message that any code using this hack *ought* to receive in
820	reply.
821
822	* generic/tclTrace.c (TclCallVarTraces):  Improved ability to debug
823	* tests/incr-old.test (incr-old-2.6):	  errors during variable
824	* tests/incr.test (incr-{1,2}.28):	  traces by preserving the
825	* tests/set.test (set-{2,4}.4):		  -errorinfo data.
826	* tests/trace.test (trace-33.1):	  [Bug 527164]
827
8282004-11-02  David Gravereaux <davygrvy@pobox.com>
829
830	* generic/tclInt.h: added a check for #ifdef __cplusplus around the
831	#define of MODULE_SCOPE. About the only time it would be problem is
832	when someone is statically linking to Tcl and accessing internals from
833	a C++ file and has name mangling issues from the lack of "C" after
834	'extern' [Patch 1055668].
835	* generic/tclCompile.h: Exchanged use of the EXTERN macro to the new
836	MODULE_SCOPE macro. Lowered exported internals count by 35. [Patch
837	1055668]
838	* win/tclWinInt.h:
839	* win/tclWinPort.h: exported internals dropped by a count of 14.
840	* generic/tclFileSystem.h: Added use of MODULE_SCOPE on protos.
841	* generic/tclRegexp.h: manipulating TCL_STORAGE_CLASS unnecessary.
842
8432004-11-02  Don Porter	<dgp@users.sourceforge.net>
844
845	* library/tcltest/tcltest.tcl:		Corrected some misleading
846	* tests/tcltest.test (tcltest-26.1,2):	displays of ::errorInfo and
847	::errorCode information when the -setup, -body, and/or -cleanup scripts
848	return an unexpected return code. Thanks to Robert Seeger for the fix.
849	[RFE 1017151].
850
8512004-11-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
852
853	* generic/tclExecute.c (TclExecuteByteCode): Improved version of the
854	NaN fix from Miguel Sofer. [Bug 761471]
855
8562004-11-02  Kevin Kenny	 <kennykb@acm.org>
857
858	* library/tzdata/America/Cuiaba: Change to DST rules for
859	* library/tzdata/America/Havana: autumn of 2004.
860	[ftp://elsie.nci.nih.gov/pub/tzdata2004g.tar.gz]
861
862	* tools/tclZIC.tcl: Updated to be compatible with recent changes in
863	library/clock.tcl.
864
8652004-11-02  Vince Darley  <vincentdarley@users.sourceforge.net>
866
867	* win/tclWinFile.c: Simplify TclpUtime to use Tcl_FSGetNativePath, and
868	add comments.
869
8702004-11-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
871
872	* generic/tclInt.h: Change uses of EXTERN to MODULE_SCOPE (defined in
873	this file too to be 'extern' if not overridden) as nothing declared in
874	tclInt.h is supposed to be visible outside the Tcl core. If there *is*
875	anything that extensions are actually using, we can open this up later
876	on. [Patch 1055668]
877
878	* doc/CrtChannel.3 (Tcl_GetChannelMode): Add synopsis. [Bug 1058446]
879
8802004-11-01  Kevin B. Kenny  <kennykb@acm.org>
881
882	* win/tclWinFile.c (FromCTime, TclpUtime): Replaced a call to the
883	Posix 'utime' function with calls to Windows-API equivalents, to avoid
884	a bug where the VC++ versions misconvert times across a Daylight
885	Saving Time boundary. [Bug 926106]
886	* win/tclWinInt.h (TclWinProcs):
887	* win/tclWin32Dll.c (asciiProcs, unicodeProcs): Removed now-unused
888	reference to 'utime'.
889	* tests/cmdAH.test (cmdAH-24.12): Added test case for the above bug.
890
8912004-11-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
892
893	* generic/tclExecute.c (TclExecuteByteCode): Make INST_EQ and friends
894	handle NaN correctly in all cases. [Bug 761471]
895
896	* generic/tclNamesp.c (NamespaceInscopeCmd): Make the error message
897	generation the same as in NamespaceEvalCmd().
898	(Tcl_Import): Rationalized to use Tcl_EvalObjv().
899
9002004-10-31  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
901
902	* tests/io.test (io-40.3): Convert umask2 test constraint into a form
903	that most people will be able to satisfy.
904
905	* tests/cmdAH.test (cmdAH-8.45): Removed broken test constraint. It
906	didn't do what it was intended to do, and it implied the other correct
907	constraint. [Bug 1053908]
908
909	* generic/tclCmdIL.c (InfoGlobalsCmd):
910	* tests/info.test (info-8.4): Strip leading global-namespace
911	specifiers from the pattern argument. [Bug 1057461]
912
9132004-10-30  Kevin Kenny	 <kennykb@acm.org>
914
915	* generic/clock.c: Replaced WIN32 macro with __WIN32__. [Bug 1054357].
916	Thanks to David Gravereaux for the patch.
917	* win/tclWinFile.c: Removed a long-standing bug that causes incorrect
918	conversion between file time and UTC time if the file time is recorded
919	in a different Daylight Saving Time status than the current one. [Bug
920	926106]
921
9222004-10-29  Don Porter	<dgp@users.sourceforge.net>
923
924	* library/tcltest/tcltest.tcl:	Correct reaction to errors in the
925	obsolete processCmdLineArgsHook.	[Bug 1055673]
926	* library/tcltest/pkgIndex.tcl:	Bump to tcltest 2.2.7
927	* unix/Makefile.in:
928	* tests/all.tcl:	Update to use [tcltest::configure].
929
9302004-10-29  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
931
932	* library/tm.tcl (::tcl::tm::*): Use the core proc engine to generate
933	the wrong-num-args error messages for the path ensemble.
934
935	Ensembles can now (sometimes) rewrite the error messages of their
936	subcommands so they appear more like the arguments that the user
937	passed to the ensemble. Below is a description of changes involved in
938	doing this.
939
940	* tests/namespace.test (namespace-50.*): Tests of ensemble subcommand
941	error message rewriting.
942	* generic/tclProc.c (TclObjInterpProc): Make procedures implement
943	their wrong-num-args message using Tcl_WrongNumArgs instead of
944	something baked-at-home.
945	* generic/tclNamesp.c (TclIsEnsemble, NsEnsembleImplementationCmd):
946	Added test of ensemble-hood (available to rest of core) and made
947	ensembles set up the rewriting for Tcl_WrongNumArgs to take advantage
948	of.
949	* generic/tclInt.h (Interp.ensembleRewrite): Extra fields.
950	* generic/tclIndexObj.c (Tcl_WrongNumArgs): Add knowledge of what is
951	going on in ensembles' command rewriting so this command can generate
952	the right error message itself.
953	* generic/tclBasic.c (Tcl_CreateInterp, TclEvalObjvInternal): Added
954	code to initialize (as empty) the rewriting fields and reset them when
955	we leak outside an ensemble implementation.
956
9572004-10-28  Miguel Sofer <msofer@users.sf.net>
958
959	* generic/tclExecute.c (INST_START_CMD):
960	* tests/execute.test (execute-8.3): fix for execution stack corruption
961	[Bug 1055676]. Credit dgp for detective work and fix.
962
9632004-10-27  Don Porter	<dgp@users.sourceforge.net>
964
965	* tests/socket.test (socket-13.1):	Balanced [makeFile] and
966	[removeFile] commands.
967
968	* tests/clock.test:	Correct duplicate test names.
969	* tests/namespace.test:
970	* tests/string.test:
971	* tests/io.test (io-50.4):	Use namespace variables.
972
9732004-10-27  David Gravereaux <davygrvy@pobox.com>
974
975	* generic/tclInt.decls:	  The following 9 functions were moved from
976	* generic/tclInt.h:	  tclInt.h to the private/int Stubs table for
977	* generic/tclIntDecls.h:  use by the test suite. As tclTest.obj is
978	* generic/tclStubInit.c:  linked to the shell, these functions need
979	"blessed" status so as to always be exported from the library. Being
980	placed in the Stubs table guarantees this [Bug 1054748]:
981		TclpObjRemoveDirectory,	TclpObjCopyDirectory,
982		TclpObjCreateDirectory,	TclpObjDeleteFile,
983		TclpObjCopyFile,	TclpObjRenameFile,
984		TclpObjStat,		TclpObjAccess,
985		TclpOpenFileChannel
986
987	* tests/registry.test:	Fixed test files to load the correct
988	* tests/winDde.test:	registry and dde packages by using the info
989	* win/Makefile.in:	from makefiles to tell tcltest where to load
990	* win/makefile.vc:	them from. This avoids grabbing the wrong
991	package from $auto_path which might be the install point rather than
992	the dev location. Kudos to Jennifer Hom for adding -load and
993	-loadfile to the tcltest package. [Bug 926088]
994
995	* win/tclWinThrd.c (TclFinalizeLock): release the critical section
996	before deleting it. [Bug 731778]
997
998	* generic/tcl.h: Removed the file level 'extern "C" {' and the
999	coresponding closing block as it serves no purpose given that all the
1000	function prototypes have the proper extern usage already.
1001
1002	* unix/tclAppInit.c:	When built as tcltest, TclThread_Init was
1003	* win/tclAppInit.c:	getting called twice. First by Tcltest_Init,
1004	then again in Tcl_AppInit. The call from Tcl_AppInit is now removed.
1005
10062004-10-27  Andreas Kupries <andreask@activestate.com>
1007
1008	* tests/tm.test:  Expanded on the testsuite entered by Donal.
1009	* library/tm.tcl: Even found bugs, these have been corrected.
1010
10112004-10-26  Kevin Kenny <kennykb@acm.org>
1012
1013	* tests/format.test (format-19.1): Additional regression test for [Bug
1014	868489].
1015
10162004-10-27  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1017
1018	* doc/*.n: Many small general documentation fixes.
1019
10202004-10-26  David Gravereaux <davygrvy@pobox.com>
1021
1022	* generic/tclPipe.c (TclCleanupChildren): bad cast of resolvedPid
1023	caused PIDs on win95 to go negative. winpipe-4.2 brought this to the
1024	surface. Fixed with sprintf in place of TclFormatInt. Thanks to hgiese
1025	[Patch 767676]
1026
10272004-10-26  Andreas Kupries <andreask@activestate.com>
1028
1029	* library/tm.tcl (::tcl::tm::Defaults): Added a second [file dirname]
1030	around the location of the executable. This fixes [Bug 1038705].
1031	Instable of a bogus "foo/bin/lib" we now have the correct "foo/lib" as
1032	a base path for modules.
1033
10342004-10-26  Don Porter	<dgp@users.sourceforge.net>
1035
1036	* generic/tclParse.c (Tcl_SubstObj):	Fix for failed subst-12.3 test
1037	* tests/subst.test (subst-12.3-5):	More tests for Bug 1036649.
1038
1039	* unix/Makefile.in (install-libraries): Updated the installation of
1040	the http, msgcat, and tcltest packages to install as Tcl Modules on
1041	Unix systems. Other platform Makefiles still need updating. [Patch
1042	1054370]
1043
1044	* tests/basic.test:	Added missing constraints.
1045	* tests/compile.test:
1046	* tests/fileSystem.test:
1047
1048	* tests/init.test (init-2.8):	Updated to not rely on http package.
1049
10502004-10-26  Miguel Sofer <msofer@users.sf.net>
1051
1052	* generic/tclInt.h:
1053	* generic/tclVar.c: removed more direct references to the VAR flags,
1054	replaced with access macros.
1055
10562004-10-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1057
1058	* doc/expr.n: Clarified that non-num/non-bool literals require
1059	quoting. [Bug 1027849]. Also listed booleans as acceptable values.
1060
10612004-10-26  Kevin B. Kenny <kennykb@acm.org>
1062
1063	* library/clock.tcl (FreeScan): Fixed a bug that caused relative days
1064	of the week in free-form [clock scan] to be evaluated in the wrong
1065	time zone.
1066	* tests/clock.test (clock-31.[456]): Made sure that there isn't an
1067	env(TZ) or env(TCL_TZ) lying around that will override the time zone
1068	that we're trying to establish with the simulated registry.
1069	Both problems reported as [Bug 1054101].
1070
10712004-10-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1072
1073	* doc/string.n (map): Rewrote to clarify that we don't just map single
1074	characters. [Bug 1048005]
1075	* doc/info.n (procs): Clarified that the pattern argument may have
1076	namespace separators in it. [Bug 1047928]
1077
1078	* tests/cmdAH.test (cmdAH-8.45): Simplify in the hope that the reasons
1079	for [Bug 1053908] will become clearer.
1080
10812004-10-25  Don Porter	<dgp@users.sourceforge.net>
1082
1083	* generic/tclExecute.c (IllegalExprOperandType,TclExecuteByteCode):
1084	Removed several DECACHE_INFO/CACHE_INFO pairs that are no longer
1085	needed for protection because routines like Tcl_SetErrorCode() and
1086	Tcl_AddErrorInfo() can no longer re-enter bytecode execution.
1087
1088	* generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a
1089	missing -errorinfo option when code == TCL_ERROR causes the errorInfo
1090	field to get reset.
1091
1092	* tests/thread.test (thread-4.4): Test depended on a ::errorInfo value
1093	initialized to "". Added code to test to setup that requirement.
1094
1095	* library/auto.tcl:	Purged Tcl's script library of all
1096	* library/clock.tcl:	remaining references to global vars
1097	* library/init.tcl:	::errorInfo and ::errorCode.
1098
1099	* generic/tclMain.c (Tcl_Main): Updated to make use of
1100	TclGetReturnOptions instead of ::errorInfo variable.
1101
1102	* generic/tclInterp.c (tclInit): Bug fix. Access dict variables with
1103	[dict get], not array syntax.
1104
11052004-10-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1106
1107	* tests/tm.test: Rewrote the tests to actually perform syntax checks
1108	on the public API. Added a new test (currently failing) to indicate
1109	that the test suite is not complete yet.
1110	* library/tm.tcl (path): Rewrote to turn this command into an ensemble
1111	to make it faster and simpler.
1112
11132004-10-24  Miguel Sofer <msofer@users.sf.net>
1114
1115	* generic/tclCmdIL.c:
1116	* generic/tclExecute.c:
1117	* generic/tclInt.h:
1118	* generic/tclTrace.c: defined new macros to get/set the flags of
1119	variables. The only files that still access the flag values directly
1120	are tclCompCmds.c, tclCompile.c, tclProc.c and tclVar.c
1121
11222004-10-24  Don Porter	<dgp@users.sourceforge.net>
1123
1124	* generic/tclBasic.c (Tcl_LogCommandInfo,Tcl_AddObjErrorInfo): Shift
1125	the initialization of errorCode to NONE to more central location.
1126
1127	* generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors):
1128	Rewrite to build on the new TclGet/SetReturnOptions routines.
1129
1130	* generic/tclResult.c (TclGetReturnOptions): Add call to
1131	Tcl_AddObjErrorInfo to be sure error fields are initialized.
1132
1133	* generic/tclResult.c (TclTransferResult): Rewrite to build on the new
1134	TclGet/SetReturnOptions routines.
1135
11362004-10-22  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1137
1138	* doc/tm.n: Tightened up the documentation.
1139	* tests/tm.test: Created (with partially dummy content) so TIP#189 can
1140	be marked Final.
1141
1142	* generic/tclNamesp.c (NsEnsembleImplementationCmd): Make ensembles
1143	cut their implementations out of error traces. This is the right thing
1144	to do more often than not.
1145
11462004-10-22  Kevin B. Kenny  <kennykb@acm.org>
1147
1148	* library/clock.tcl: Fixed a typo where the fallback time zone became
1149	::localtime instead of :localtime. Fixed a bug where time zone names
1150	containing hyphens could not be loaded.
1151	* tests/clock.test: Added regression test cases that covers both bugs.
1152	Thanks to Todd M. Helfter <tmh@jumpgate.itsp.purdue.edu> for finding
1153	these bugs.
1154
11552004-10-22  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1156
1157	* generic/tclExecute.c (TclCompEvalObj, Tcl_ExprObj):
1158	* generic/tclProc.c (TclProcCompileProc): Always call object
1159	freeIntRepProc's in the same way.
1160
11612004-10-22  Miguel Sofer <msofer@users.sf.net>
1162
1163	* generic/tclVar.c: fixed bug in commit of 2004-07-23, which was
1164	causing a leak of Proc structures and failure of compile-12.1. Two
1165	lines were 'zombies' from the previous way localVarNames worked.
1166	Credit dgp for finding this.
1167
11682004-10-21  Don Porter	<dgp@users.sourceforge.net>
1169
1170	* generic/tclInt.h (Interp):
1171	* generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):
1172	* generic/tclResult.c (GetKeys,ReleaseKeys,etc.): Moved the key values
1173	of the return options dictionary out of private fields of the Interp
1174	struct and into thread-static values managed in tclResult.c.
1175
1176	* generic/tclCmdAH.c (Tcl_CatchObjCmd, Tcl_ErrorObjCmd): Updated to
1177	call the new TclGet/SetReturnOptions routines to do much of their
1178	work.
1179
1180	* generic/tclInt.h (TclGetReturnOptions,TclSetReturnOptions):
1181	* generic/tclResult.c (TclGetReturnOptions,TclSetReturnOptions): New
1182	utility routines to get/set the return options of an interp. Intent is
1183	that these routines will be converted to public routines after TIP
1184	approval.
1185
1186	* generic/tclCmdMZ.c (TclProcessReturn,TclMergeReturnOptions):
1187	* generic/tclResult.c (TclProcessReturn,TclMergeReturnOptions): Move
1188	internal utility routines from tclCmdMZ.c to tclResult.c.
1189
1190	* generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp):
1191	* generic/tclResult.c (TclTransferResult): Rework so that
1192	iPtr->returnOpts can be NULL when there are no special options.
1193
1194	* generic/tclResult.c (TclRestoreInterpState): Plug potential memory
1195	leak.
1196
11972004-10-21  Kevin B. Kenny  <kennykb@acm.org>
1198
1199	* generic/tclBasic.c: Various changes to [clock format] that,
1200	* generic/tclClock.c: together, make it roughly twice as fast
1201	* generic/tclInt.h:   while all tests in the test suite
1202	* library/clock.tcl:  continue to pass.
1203
12042004-10-20  Andreas Kupries <andreask@activestate.com>
1205
1206	* win/Makefile.in (install-msgs):   Fixed a problem with the
1207	* win/Makefile.in (install-tzdata): installation of timezone data and
1208	message catalogs. They used the installed tcl library directory, not
1209	the source library. Before it was installed. Switched to source lib
1210	dir. Thanks to Kevin for the help in figuring this out.
1211
12122004-10-20  Don Porter	<dgp@users.sourceforge.net>
1213
1214	* generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug
1215	where the returned (char *) from Tcl_GetStringResult(interp) continued
1216	to be used without copying or refcounting, while activity on the
1217	interp continued. That's not safe, and recent changes demonstrated the
1218	lack of safety with failing tests thread-4.3 and thread-4.5.
1219
12202004-10-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1221
1222	* generic/tclDictObj.c (DictWithCmd): Make sure all paths (that are
1223	not themselves error paths) do not lose the result code.
1224
12252004-10-19  Don Porter	<dgp@users.sourceforge.net>
1226
1227	* generic/tclInt.h (Tcl*InterpState):		New internal routines
1228	* generic/tclResult.c (Tcl*InterpState):	TclSaveInterpState,
1229	TclRestoreInterpState, and TclDiscardInterpState are superior
1230	replacements for Tcl_(Save|Restore|Discard)Result. Intent is that
1231	these routines will be converted to public routines after TIP
1232	approval. Interfaces for these routines were shamelessly stolen from
1233	Itcl.
1234
1235	* generic/tclBasic.c (TclEvalObjvInternal):
1236	* generic/tclDictObj.c (DictUpdateCmd, DictWithCmd):
1237	* generic/tclIOGT.c (ExecuteCallback):
1238	* generic/tclTrace.c (Trace*Proc,TclCheck*Traces,TclCallVarTraces):
1239	Callers of Tcl_*Result updated to call the new routines. The calls
1240	were relocated in several cases to perform save/restore operations
1241	only when needed.
1242
1243	* generic/tclEvent.c (HandleBgErrors):
1244	* generic/tclFCmd.c (CopyRenameOneFile): Calls to Tcl_*Result that
1245	were eliminated because they appeared to serve no useful purpose,
1246	typically saving/restoring an error message, only to throw it away.
1247
12482004-10-18  Don Porter	<dgp@users.sourceforge.net>
1249
1250	* generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):
1251	* generic/tclCmdAH.c (Tcl_CatchObjCmd):
1252	* generic/tclCmdMZ.c (TclMergeReturnOptions,TclProcessReturn):
1253	* generic/tclCompCmds.c (TclCompileReturnCmd):
1254	* generic/tclExecute.c (TclCompEvalObj):
1255	* generic/tclInt.h (Interp):
1256	* generic/tclProc.c (TclUpdateReturnInfo): Place primary storage of
1257	the -level and -code information in private fields of the Interp
1258	struct, rather than in a DictObj. This should significantly improve
1259	performance of TclUpdateReturnInfo.
1260
12612004-10-17  Miguel Sofer <msofer@users.sf.net>
1262
1263	* generic/tclResult.c: removed unused variable [Bug 1048588]. Thanks
1264	to Daniel South.
1265
12662004-10-15  Don Porter	<dgp@users.sourceforge.net>
1267
1268	* generic/tclCmdMZ.c (TclProcessReturn):	Now that primary
1269	* generic/tclProc.c (TclUpdateReturnInfo):	storage for the
1270	errorInfo and errorCode values are internal fields, we can set them at
1271	the time of the [return] command, and not have to wait until the
1272	specified number of "-level"s have popped.
1273
1274	* generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp)
1275	(TclEvalObjvInternal, Tcl_LogCommandInfo, TclAddObjErrorInfo):
1276	* generic/tclCmdAH.c (Tcl_CatchObjCmd):
1277	* generic/tclEvent.c (BgError, ErrAssocData, Tcl_BackgroundError)
1278	(HandleBgErrors, BgErrorDeleteProc):
1279	* generic/tclExecute.c (TclCreateExecEnv, TclDeleteExecEnv):
1280	* generic/tclIOUtil.c (comments only):
1281	* generic/tclInt.h (ExecEnv,Interp, ERR_IN_PROGRESS):
1282	* generic/tclInterp.c ([tclInit]):
1283	* generic/tclMain.c (comments only):
1284	* generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace)
1285	(TclTeardownNamespace):
1286	* generic/tclProc.c (TclUpdateReturnInfo):
1287	* generic/tclResult.c (Tcl_ResetResult, TclTransferResult):
1288	* generic/tclTrace.c (CallVarTraces):
1289	Reworked management of the "errorInfo" data of an interp. That
1290	information is now primarily stored in a new private (Tcl_Obj *) field
1291	of the Interp struct, rather than using a global variable ::errorInfo
1292	as the primary storage. The ERR_IN_PROGRESS flag bit value is no
1293	longer required to manage the value in its new location, and is
1294	removed. Variable traces are established to support compatibility for
1295	any code expecting the ::errorInfo variable to hold the information.
1296
1297	***POTENTIAL INCOMPATIBILITY***
1298	Code that sets traces on the ::errorInfo variable may notice a
1299	difference in timing of the firing of those traces. Code that uses the
1300	value ERR_IN_PROGRESS.
1301
13022004-10-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1303
1304	TIP#217 IMPLEMENTATION
1305
1306	* generic/tclCmdIL.c (Tcl_LsortObjCmd): Add -indices option from James
1307	Salsman. [Patch 1017532]
1308
1309	* generic/tclUtil.c (TclMatchIsTrivial): Detect degenerate cases of
1310	glob matching that let us avoid scanning through hash tables.
1311	* generic/tclCmdIL.c (InfoCommandsCmd, InfoGlobalsCmd, InfoProcsCmd):
1312	(InfoVarsCmd): Use this to speed up some [info] subcommands.
1313
13142004-10-12  Kevin B. Kenny  <kennykb@acm.org>
1315
1316	* library/tzdata/America/Campo_Grande:
1317	* library/tzdata/America/Cuiaba:
1318	* library/tzdata/America/Sao_Paulo
1319	* library/tzdata/America/Argentina/Mendoza:
1320	* library/tzdata/America/Argentina/San_Juan:
1321	Synchronized to Olson's 'tzdata2004e'.
1322
13232004-10-08  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1324
1325	TIP#201 AND TIP#212 IMPLEMENTATIONS
1326
1327	* doc/dict.n, doc/expr.n: Documentation for new functionality.
1328	* tests/expr.test: Basic tests of 'in' and 'ni' behaviour.
1329	* tests/dict.test (dict-21.*,dict-22.*): Tests for [dict update] and
1330	[dict with].
1331	* generic/tclExecute.c (TclExecuteByteCode): Implementation of the
1332	INST_LIST_IN and INST_LIST_NOT_IN bytecodes.
1333	* generic/tclParseExpr.c (GetLexeme): Parse the 'in' and 'ni'
1334	operators for TIP#201.
1335	* generic/tclDictObj.c (DictUpdateCmd,DictWithCmd): Core of
1336	implementation of TIP#212; docs and tests still to do...
1337
13382004-10-07  Don Porter	<dgp@users.sourceforge.net>
1339
1340	* generic/tclTest.c (TestsetobjerrorcodeCmd):  Simplified.
1341
13422004-10-07  Vince Darley  <vincentdarley@users.sourceforge.net>
1343
1344	* generic/tclFileName.c:
1345	* generic/tclFileSystem.h:
1346	* generic/tclIOUtil.c:
1347	* generic/tclPathObj.c:
1348	* unix/tclUnixFile.c:
1349	* win/tclWinFile.c:
1350	* tests/fileName.test:
1351	* tests/winFCmd.test: code reorganization for better generic/platform
1352	code splitting [Bug 925620] removing the need for several #ifdef's,
1353	and tests and fix for an unreported Windows glob problem ('glob -dir
1354	C: -tails *').
1355
13562004-10-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1357
1358	* *.3: Convert CONST to const and VOID to void so we document how
1359	people should actually use the Tcl API and not the compatibility hacks
1360	that it has to have.
1361
1362	* doc/man.macros, *.3: Update .AS macro so it can know how wide to
1363	make the third column of the argument list. Update documentation for C
1364	API (only users) to take advantage of this.
1365
1366	* doc/FileSystem.3: Formatting fixes for greater documentation
1367	clarity.
1368
13692004-10-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1370
1371	* generic/tclFileName.c (DoGlob, TclGlob): Stop messy sharing of
1372	interpreter result and instead use a private object for collecting the
1373	result of the glob. This simplifies TclGlob quite a lot.
1374	* generic/tclIOUtil.c (Tcl_FSMatchInDirectory): Simplify by removing
1375	some nesting. Also standardize variable names.
1376	(FsAddMountsToGlobResult): Force updates to the list to be done
1377	in-place, putting a side-condition of non-shared-ness on the resultPtr
1378	argument to Tcl_FSMatchInDirectory, but everything would have broken
1379	before if that was shared *anyway*.
1380
1381	* generic/tclEncoding.c (LoadTableEncoding): Removed reference to Tcl
1382	interpreter; it wasn't needed as direct object use is more efficient.
1383
1384	* generic/tclPathObj.c: Made this file follow the style rules in the
1385	Engineering Manual more closely, and also take advantage of the
1386	internal object manipulation macros more.
1387
1388	* generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reorganized to have fewer
1389	magic flag variables and to separate the code that scans for a match
1390	from the code that processes a match body.
1391
13922004-10-06  Don Porter	<dgp@users.sourceforge.net>
1393
1394	* generic/tclBasic.c:
1395	* generic/tclBinary.c:
1396	* generic/tclCmdAH.c:
1397	* generic/tclCmdIL.c:
1398	* generic/tclCmdMZ.c:
1399	* generic/tclCompExpr.c:
1400	* generic/tclDictObj.c:
1401	* generic/tclEncoding.c:
1402	* generic/tclExecute.c:
1403	* generic/tclFCmd.c:
1404	* generic/tclHistory.c:
1405	* generic/tclIndexObj.c:
1406	* generic/tclInterp.c:
1407	* generic/tclIO.c:
1408	* generic/tclIOCmd.c:
1409	* generic/tclNamesp.c:
1410	* generic/tclObj.c:
1411	* generic/tclPkg.c:
1412	* generic/tclResult.c:
1413	* generic/tclScan.c:
1414	* generic/tclTimer.c:
1415	* generic/tclTrace.c:
1416	* generic/tclUtil.c:
1417	* generic/tclVar.c:
1418	* unix/tclUnixFCmd.c:
1419	* unix/tclUnixPipe.c:
1420	* win/tclWinDde.c:
1421	* win/tclWinFCmd.c:
1422	* win/tclWinPipe.c:
1423	* win/tclWinReg.c:
1424	It is a poor practice to directly set or append to the value of the
1425	objResult of an interp, because that value might be shared, and in
1426	that circumstance a Tcl_Panic() will be the result. Searched for
1427	example of this practice and replaced with safer alternatives, often
1428	using the Tcl_AppendResult() routine that dkf just rehabilitated.
1429	* library/dde/pkgIndex.tcl: Bump to dde 1.3.1
1430	* library/reg/pkgIndex.tcl: Bump to registry 1.1.5
1431
14322004-10-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1433
1434	* doc/SetResult.3: Made Tcl_AppendResult non-deprecated; better that
1435	people use it than most of the common alternatives!
1436	* generic/tclResult.c (Tcl_AppendResultVA): Make this work better with
1437	Tcl_Objs. [Patch 1041072]
1438	(Tcl_SetResult, Tcl_AppendElement): Change string to stringPtr to
1439	avoid C++ keywords.
1440
14412004-10-05  Don Porter	<dgp@users.sourceforge.net>
1442
1443	* generic/tclBasic.c (TclObjInvoke): More simplification of the
1444	TclObjInvoke routine toward unification with the rest of the
1445	evaluation stack.
1446
1447	* generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp)
1448	(TclEvalObjvInternal, Tcl_LogCommandInfo):
1449	* generic/tclCmdAH.c (Tcl_CatchObjCmd):
1450	* generic/tclEvent.c (BgError, Tcl_BackgroundError, HandleBgErrors):
1451	* generic/tclInt.h (Interp, ERROR_CODE_SET):
1452	* generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace)
1453	(TclTeardownNamespace):
1454	* generic/tclResult.c (Tcl_ResetResult, Tcl_SetObjErrorCode)
1455	(TclTransferResult):
1456	* generic/tclTrace.c (CallVarTraces):
1457	Reworked management of the "errorCode" data of an interp. That
1458	information is now primarily stored in a new private (Tcl_Obj *) field
1459	of the Interp struct, rather than using a global variable ::errorCode
1460	as the primary storage. The ERROR_CODE_SET flag bit value is no longer
1461	required to manage the value in its new location, and is removed.
1462	Variable traces are established to support compatibility for any code
1463	expecting the ::errorCode variable to hold the information.
1464
1465	***POTENTIAL INCOMPATIBILITY***
1466	Code that sets traces on the ::errorCode variable may notice a
1467	difference in timing of the firing of those traces.
1468
1469	* generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021
1470	workaround. That bug is now fixed.
1471
14722004-10-04  Kevin B. Kenny  <kennykb@acm.org>
1473
1474	* tests/clock.test (clock-34.*): Removed an antibug that forced
1475	comparison of [clock scan] results with the :localtime time zone. Now
1476	that [clock scan] uses the current time zone instead, the antibug
1477	caused several tests to fail. [Bug 1038554]
1478
14792004-10-04  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1480
1481	* generic/tclParseExpr.c (GetLexeme): Ensure that the 'eq' and 'ne'
1482	operators are followed by non-alphabetic characters so lexemes can't
1483	run together. [Bug 884830]
1484
1485	* doc/DictObj.3, doc/dict.n: Clarified that a dictionary is not
1486	order-preserving. [Bug 1032243] Also added another example to show off
1487	more ways of using a dictionary and a few other formatting
1488	improvements.
1489
14902004-10-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1491
1492	* generic/tclDictObj.c (TraceDictPath, Tcl_DictObjPutKeyList): Add
1493	support for automatic creation of dictionary paths since that is what
1494	everyone seems to actually expect of the API! [Bug 1037235]
1495	(Tcl_DictObjNext): Make calling this after Tcl_DictObjDone non-fatal
1496	as that simplifies a number of internal APIs. This doesn't break any
1497	existing working code as it is a case which previously caused a panic.
1498
14992004-10-02  Don Porter	<dgp@users.sourceforge.net>
1500
1501	* tests/namespace.test (namespace-8.7):	Another test for save/restore
1502	of ::errorInfo and ::errorCode during global namespace teardown.
1503
15042004-10-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1505
1506	* generic/tclProc.c (TclObjGetFrame, Tcl_UplevelObjCmd):
1507	* generic/tclVar.c (Tcl_UpvarObjCmd): Cache stackframe level
1508	references in the level object for speed.
1509
15102004-09-30  Don Porter	<dgp@users.sourceforge.net>
1511
1512	* generic/tclBasic.c (Tcl_CreateInterp):
1513	* generic/tclInt.h (Interp): Removed the flag bit value
1514	EXPR_INITIALIZED. It was set during interp creation and never tested.
1515	Whatever purpose it had is in the past.
1516
1517	* generic/tclBasic.c (Tcl_EvalObjEx):	Removed the flag bit value
1518	* generic/tclInt.h (Interp):	        USE_EVAL_DIRECT. It was used
1519	* generic/tcLTest.c (TestevalexObjCmd): only in the testing command
1520	* tests/parser.test (parse-9.2):        [testevalex] and nothing in
1521	the test suite made use of the capability it enabled.
1522
1523	* generic/tclBasic.c (Tcl_AddObjErrorInfo): More re-organization
1524	* generic/tclCmdAH.c (Tcl_ErrorObjCmd):	    of the management of
1525	* generic/tclCmdMZ.c (TclProcessReturn):    the errorCode value.
1526	* tests/error.test (error-6.4-9):
1527
1528	* generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified
1529	* tests/namespace.test (namespace-8.5,6):	 the save/restore of
1530	::errorInfo and ::errorCode during global namespace teardown. Revised
1531	the comment to clarify why this is done, and added tests that will
1532	fail if this is not done.
1533
1534	* generic/tclResult.c (TclTransferResult): Added safety checks so that
1535	unexpected undefined ::errorInfo or ::errorCode will not lead to a
1536	segfault.
1537
1538	* generic/tclTrace.c (TclCallVarTraces):  Save/restore the flag values
1539	* tests/var.test (var-16.1):	          that define part of the
1540	interpreter state during variable traces. [Bug 1038021].
1541
15422004-09-30  Miguel Sofer <msofer@users.sf.net>
1543
1544	* tests/subst.test (12.1-2): added tests for [Bug 1036649]
1545
15462004-09-29  Don Porter	<dgp@users.sourceforge.net>
1547
1548	* tests/basic.test (49.*): New tests for TCL_EVAL_GLOBAL.
1549
15502004-09-29  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1551
1552	* generic/tclVar.c (TclObjLookupVar, TclObjLookupVar):
1553	(TclObjUnsetVar2, SetArraySearchObj):
1554	* generic/tclUtil.c (SetEndOffsetFromAny):
1555	* generic/tclStringObj.c (Tcl_SetStringObj):
1556	(Tcl_SetUnicodeObj, SetStringFromAny):
1557	* generic/tclResult.c (ResetObjResult):
1558	* generic/tclRegexp.c (Tcl_GetRegExpFromObj):
1559	* generic/tclPathObj.c (TclFSMakePathRelative, SetFsPathFromAny):
1560	(TclFSMakePathFromNormalized, Tcl_FSNewNativePath):
1561	* generic/tclObj.c (TclFreeObj, Tcl_SetBooleanObj, SetBooleanFromAny):
1562	(Tcl_SetDoubleObj, SetDoubleFromAny, Tcl_SetIntObj):
1563	(SetIntOrWideFromAny, Tcl_SetLongObj, SetWideIntFromAny):
1564	(Tcl_SetWideIntObj, TclSetCmdNameObj, SetCmdNameFromAny):
1565	* generic/tclNamesp.c (SetNsNameFromAny, MakeCachedEnsembleCommand):
1566	* generic/tclListObj.c (Tcl_SetListObj, SetListFromAny):
1567	* generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct):
1568	* generic/tclDictObj.c (SetDictFromAny):
1569	* generic/tclCompile.c (TclInitByteCodeObj):
1570	* generic/tclBinary.c (Tcl_SetByteArrayObj, SetByteArrayFromAny):
1571	* generic/tclInt.h (TclFreeIntRep): Factorize out deletion of object
1572	internal representation to a shared macro, so simplifying much code.
1573
15742004-09-27  Miguel Sofer <msofer@users.sf.net>
1575
1576	* generic/tclBasic.c (TclObjInvoke): fix for bogus gcc warning about
1577	uninitialised variable.
1578
15792004-09-27  Don Porter	<dgp@users.sourceforge.net>
1580
1581	* generic/tclBasic.c:	Removed internal routines TclInvoke,
1582	* generic/tclInt.decls: TclGlobalInvoke, TclObjInvokeGlobal and the
1583	* tests/basic.test:	portion of TclObjInvoke that handles calls
1584	without TCL_INVOKE_HIDDEN enabled. None of this code is called any
1585	longer within the core, and the superior public interface,
1586	Tcl_EvalObjv, is available for any external callers.
1587
1588	* generic/tclIntDecls.h:	make genstubs
1589	* generic/tclStubInit.c:
1590
1591	* generic/tclEvent.c (HandleBgErrors): Updated [bgerror] invocations
1592	to make use of Tcl_Obj based routines, dropping the calls to
1593	TclGlobalInvoke()
1594
15952004-09-27  Vince Darley  <vincentdarley@users.sourceforge.net>
1596
1597	* generic/tclFileName.c:
1598	* generic/tclFileSystem.h:
1599	* generic/tclIOUtil.c:
1600	* generic/tclPathObj.c:
1601	* tests/cmdAH.test:
1602	* tests/fileSystem.test:
1603	* tests/winFCmd.test: fix to bad error message with 'cd' on windows,
1604	when permissions are inadequate [Bug 1035462] and to treatment of a
1605	volume-relative pwd on Windows [Bug 1018980].
1606
1607	* doc/FileSystem.3: added missing Tcl_GlobTypeData documentation [Bug
1608	935853]
1609
16102004-09-27  Kevin Kenny	 <kennykb@acm.org>
1611
1612	* compat/strftime.c (Removed):
1613	* generic/tclClock.c (removed TclClockOldscanObjCmd):
1614	* generic/tclDate.c (Regenerated):
1615	* generic/tclGetDate.y:
1616	* generic/tclInt.decls (removed TclGetDate and TclpStrftime):
1617	* generic/tclInt.h (removed TclGetDateInfo):
1618	* generic/tclIntDecls.h (Regenerated):
1619	* generic/tclStubInit.c (Regenerated):
1620	* library/clock.tcl:
1621	* unix/tclUnixTime.c (removed TclpStrftime):
1622	* win/Makefile.in:
1623	* win/makefile.bc:
1624	* win/makefile.bc:
1625	* win/tcl.dsp:
1626	Continued refactoring of [clock] for TIP 173 changes. Broke the
1627	free-form parser apart so that the Bison parser is responsible for
1628	only parsing, while clock.tcl handles relative times like "next
1629	Thursday", "next January". This change is needed to make timezones
1630	other than :localtime and :Etc/UTC work with free-form scanning. This
1631	change closes out the issue identified as being "for another day" in
1632	my log message of 2004-09-08. The refactored code also eliminates the
1633	last known references to TclpStrftime and TclGetDate, so those
1634	routines (including compat/strftime.c) have been removed. The
1635	refactoring also has the benefit that all storage in the Bison parser
1636	is now on the C stack, eliminating any need for mutex protection
1637	around [clock scan]. Also, changed the Makefiles so that 'make
1638	gendate' is available on Windows as well as Unix.
1639
1640	* generic/tclCmdAH.c (Tcl_FormatObjCmd): Removed some grubby
1641	* generic/tclObj.c (SetBooleanFromAny):	 work-around code that was
1642	needed only because of Bug 868489.
1643
1644	* generic/tclBasic.c (TclObjInvoke): Removed three unused variables to
1645	silence a compiler warning in VC++.
1646
16472004-09-27  Vince Darley  <vincentdarley@users.sourceforge.net>
1648
1649	* doc/FileSystem.3: fix to small typo.
1650
16512004-09-26  Miguel Sofer <msofer@users.sf.net>
1652
1653	* generic/tclCompCmds.c:
1654	* generic/tclCompExpr.c:
1655	* generic/tclCompile.c:
1656	* generic/tclCompile.h:
1657	* generic/tclInt.h:
1658	* generic/tclProc.c:
1659	* tests/compExpr-old.test:
1660	* tests/compExpr.test:
1661	* tests/expr.test:
1662	* tests/for.test:
1663	* tests/if.test:
1664	* tests/incr.test:
1665	* tests/while.test:
1666	Report compilation errors at runtime, [Patch 1033689] by dgp.
1667
16682004-09-23  Mo DeJong  <mdejong@users.sourceforge.net>
1669
1670	* unix/dltest/Makefile.in (clean): Fixup make clean rule so that it
1671	does not delete all files when SHLIB_SUFFIX is set to the empty string
1672	in a static build. [Bug 1016726]
1673
16742004-09-23  Don Porter	<dgp@users.sourceforge.net>
1675
1676	* generic/tclBasic.c:	Corrections to the 2004-09-21 commit
1677	* generic/tclExecute.c:	regarding ERR_ALREADY_LOGGED. That commit
1678	* generic/tclNamesp.c:	caused Tk test send-10.7 to fail. Added
1679	* tests/namespace.test (25.7,8): tests in the Tcl test suite
1680	* tests/pkg.test (2.25,26):	 to catch this error without the aid
1681	of Tk in the future.
1682
1683	* generic/tclCmdAH.c (Tcl_ExprObjCmd):	Simplified the TclObjCmdProc
1684	of [expr] with a call to Tcl_ConcatObj.
1685
16862004-09-22  Don Porter	<dgp@users.sourceforge.net>
1687
1688	* generic/tclCmdMZ.c (TclProcessReturn):	Support the -errorline
1689	* generic/tclCompile.c (TclCompileScript):	option to [return].
1690	* tests/compile.test (16.23.*):	Use that capability to defer reporting
1691	* tests/misc.test (1.2):	of parse errors until runtime. Updated
1692	tests to reflect change. [Bug 1032805]
1693
16942004-09-22  Miguel Sofer <msofer@users.sf.net>
1695
1696	* generic/tclExecute.c (INST_START_CMD):
1697	* tests/proc.test (7.2-3): fix for [Bug 729692] was incorrect whenever
1698	a loop exception was returned.
1699
17002004-09-22  Kevin B. Kenny  <kennykb@acm.org>
1701
1702	* library/tzdata/America/Montevideo: Updated to reflect
1703	ftp://elsie.nci.nih.gov/pub/tzdata2004d.tar.gz. (Changes to
1704	Asia/Jerusalem were in the comments only.) [Routine maintenance - no
1705	bug] Spanish-language description of the change at
1706	http://www.presidencia.gub.uy/decretos/2004091502.htm
1707
17082004-09-21  Don Porter	<dgp@users.sourceforge.net>
1709
1710	* generic/tclCompCmds.c:	Tolerate [append] syntax errors
1711	* tests/appendComp.test (8.1):	at compile time, and allow runtime to
1712	raise the error (or succeed if a redefined [append] allows).
1713
1714	* generic/tclBasic.c:	Reworked management of the interp flag
1715	* generic/tclCompile.c:	ERR_ALREADY_LOGGED, to reduce its exposure.
1716	* generic/tclExecute.c: Still left several referebces that are just
1717	* generic/tclNamesp.c:	too nice on performace to do away with.	These
1718	changes also resolve an inconsistency in the ::errorInfo values
1719	produced by [namespace eval x error foo bar] and [namespace eval x
1720	{error foo bar}].
1721
1722	* generic/tclExecute.c (TclCompEvalObj):	Simplified the
1723	TclCompEvalObj routine. Much housekeeping now reliably happens
1724	elsewhere. [Patch 1031949]
1725
17262004-09-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1727
1728	* doc/interp.n: Tighten up wording on how [interp eval] and [interp
1729	invokehidden] operate w.r.t. stack frames. [Bug 926590]
1730
17312004-09-20  Don Porter	<dgp@users.sourceforge.net>
1732
1733	* tests/error.test (error-6.2,3):	Added more tests to verify
1734	::errorCode setting by/after a [catch].
1735
17362004-09-19  Miguel Sofer <msofer@users.sf.net>
1737
1738	* generic/tclCmdAH.c: removed outdated comment [Bug 1029518].
1739
17402004-09-18  David Gravereaux <davygrvy@pobox.com>
1741
1742	* win/tclAppInit.c: Dde package can load into a safe interp. Claim
1743	this fact for the Tcl_StaticPackage() call when the shell is built
1744	with the TCL_USE_STATIC_PACKAGES option.
1745
17462004-09-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1747
1748	* generic/tclExecute.c (TEBC-INST_LSHIFT,INST_RSHIFT): Ensure that
1749	large shifts end up shifting correctly. [Bug 868467]
1750
1751	* doc/FileSystem.3, doc/OpenFileChnl.3: More documentation fixes from
1752	Mikhail Kolesnitchenko. [Patch 1022527]
1753	* doc/*: Standardize highlighting of symbols defined in tcl.h
1754
17552004-09-17  Don Porter	<dgp@users.sourceforge.net>
1756
1757	* generic/tclBasic.c (Tcl_AddObjErrorInfo, Tcl_LogCommandInfo):
1758	* generic/tclCmdAH.c ([catch], [error]):
1759	* generic/tclCmdMZ.c ([return]):
1760	* generic/tclProc.c (TclUpdateReturnInfo):
1761	* generic/tclResult.c (Tcl_SetErrorCodeVA, Tcl_SetObjErrorCode)
1762	(TclTransferResult):	Refactored so that all errorCode setting flows
1763	through Tcl_SetObjErrorCode(). This greatly reduces the number of
1764	different places in the code that need to know details about an
1765	internal bitflag field of the Interp struct. Also places errorCode
1766	setting in one place for easier future mods.
1767
17682004-09-17  Kevin B.Kenny  <kennykb@acm.org>
1769
1770	* generic/tclDate.c:	Revised tclGetDate.y to use bison instead of
1771	* generic/tclGetDate.y: yacc to build the parser, eliminating all the
1772	* generic/tclInt.h:	complicated hackery involving 'sed'
1773	* unix/Makefile.in:	postprocessing. Rebuilt the parser.
1774
17752004-09-14  Kevin B. Kenny  <kennykb@acm.org>
1776
1777	* generic/tclClock.c (ClockOldscanObjCmd): Silenced a compiler warning
1778	(long passed as a param where unsigend long was expected). 'Unsigned
1779	long' is wrong, but the fix is really to change the signature of
1780	TclGetDate to return a structure of its 'yy' variables and then do the
1781	remaining work inside clock.tcl. But, as I said on 2004-09-08, that's
1782	a job for another day. [Bug 1027993]
1783
17842004-09-10  Miguel Sofer <msofer@users.sf.net>
1785
1786	* doc/interp.n:
1787	* generic/tclInterp.c (TclPreventAliasLoop, AliasCreate):
1788	* tests/interp.test (17.4-6, 19.3-4): fixing problems with renaming of
1789	aliases [Bugs 707104 1026493]. Fix designed by dgp.
1790
17912004-09-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1792
1793	* generic/tclNamesp.c (NsEnsembleImplementationCmd): Add token field
1794	to internal rep of EnsembleCmdRep structure so that we can check it to
1795	see if the subcommand object is really being used with the same
1796	ensemble. [Bug 1026903]
1797
17982004-09-11  Kevin B. Kenny  <kennykb@acm.org>
1799
1800	* generic/tclClock.c (TclMktimeObjCmd): Corrected a bad check for
1801	error return from 'mktime'.
1802	* generic/tclObj.c (Tcl_GetIntFromObj): Corrected a problem where
1803	demoting a wide to an int failed on a big-endian machine. [Bug
1804	1026125].
1805	* tests/clock.test (clock-43.1): Added regression test for error
1806	return from 'mktime'.
1807
18082004-09-11  Miguel Sofer <msofer@users.sf.net>
1809
1810	* generic/tclExecute.c (INST_CONCAT1): fix for [Bug 1025834]; avoid
1811	unnecessary string copies.
1812
18132004-09-10  David Gravereaux <davyrgvy@pobox.com>
1814
1815	* tests/tcltest.test: tcltest-12.3-4 needed to have
1816	::tcltest::loadScript set to empty in their -setup
1817
18182004-09-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1819
1820	* generic/tclObj.c (SetIntOrWideFromAny): Rewritten integral value
1821	parsing code so that values do not flip so easily between numeric
1822	representations. Thanks to KBK for this! [Bug 868489]
1823
1824	* generic/tclIO.c (Tcl_Seek): Make sure wide seeks do not fail to set
1825	::errorCode on error. [Bug 1025359]
1826
18272004-09-10  Andreas Kupries  <andreask@activestate.com>
1828
1829	* generic/tcl.h: Micro formatting fixes.
1830	* generic/tclIOGT.c: Channel version fixed, must be 3, to have
1831	wideseekProc. Thanks to David Graveraux <davygrvy@pobox.com>.
1832
18332004-09-11  Don Porter	<dgp@users.sourceforge.net>
1834
1835	* generic/tclNamespace.c (TclGetNamespaceForQualName): Resolved
1836	longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY
1837	flag revealed by testing the 2004-09-09 commits against Itcl.
1838	TCL_NAMESPACE_ONLY now acts as specified in the pre-function comment,
1839	forcing resolution in the passed in context namespace. It has been
1840	incorrectly forcing resolution in the interp's current namespace.
1841
18422004-09-10  Kevin Kenny	 <kennykb@acm.org>
1843
1844	* library/clock.tcl: Fixed a bug where %z always put a plus sign on
1845	the time zone in :localtime.
1846	* tests/clock.test: Added test case for the above bug.
1847
18482004-09-10  Miguel Sofer <msofer@users.sf.net>
1849
1850	* generic/tclExecute.c (INST_CONCAT1): added a peephole optimisation
1851	for concatting an empty string. This enables replacing the idiom 'K $x
1852	[set x {}]' by '$x[set x {}]' for fastest execution.
1853
18542004-09-09  David Gravereaux <davygrvy@pobox.com>
1855
1856	* win/tclWinConsole.c: Calls to WriteFile and WriteConsoleA changed to
1857	WriteConsole for simplicity.
1858
18592004-09-09  Don Porter	<dgp@users.sourceforge.net>
1860
1861	* generic/tclNamesp.c (Tcl_ForgetImport):	Corrected faulty
1862
1863	* tests/namespace.test: logic that relied exclusively on string
1864	matching and failed in the presence of [rename]s. [Bug 560297] Also
1865	corrected faulty prevention of [namespace import] cycles. [Bug 1017299]
1866
18672004-09-08  Don Porter	<dgp@users.sourceforge.net>
1868
1869	* generic/tclBasic.c (Tcl_CreateInterp):	Removed obsolete field
1870	for storing the string-based command procedure of built-in commands.
1871	We no longer have any string-based built-in commands!
1872
18732004-09-08  Kevin B. Kenny <kennykb@acm.org>
1874
1875	* compat/strftime.c (_conv): Corrected a problem where hour 0 would
1876	format as a blank format group with %k.
1877	* doc/clock.n: Corrected a buglet in the header information. [Bug
1878	1024058]
1879	* generic/tclClock.c (TclClockMktimeObjCmd): Fixed a bug where the
1880	month was scanned incorrectly in -timezone :localtime.
1881	* tests/clock.test (clock-34.*,clock-40.1, clock-41.1): Adjusted the
1882	clock-34.* test cases so that the consistency check is performed in
1883	:localtime rather than the current time zone. This change allows
1884	dealing with issues where the C library has a different idea of DST
1885	conversion than Tcl. (Real fix would be to break TclGetDate into
1886	separate parser and time converter, and do the time conversion in
1887	clock.tcl. That's for another day.) Added regression test case for the
1888	bug where month was scanned incorrectly in -timezone :localtime. [Bug
1889	1023779] Added regression test case for %k at the zero hour.
1890
18912004-09-07  David Gravereaux <davygrvy@pobox.com>
1892
1893	* win/makefile.vc: some quoting needed to be removed as it was
1894	breaking with VC7. [Bug 1023150]
1895
18962004-09-07  Kevin B. Kenny  <kennykb@acm.org>
1897
1898	* doc/clock.n: Documented the default -format, and changed references
1899	to a (nonexistent) msgcat command to refer to the msgcat package. [Bug
1900	1023870]
1901	* generic/tclTimer.c: Removed a premature optimisation that attempted
1902	to store the assoc data in the client data; the optimisation caused a
1903	bug that [after] would overwrite its imports. [Bug 1016167]
1904	* library/clock.tcl (InitTZData, ClearCaches): Changed so that the
1905	in-memory time zone :UTC (and its aliases) always gets reinitialised,
1906	in case tzdata is absent. [Bug 1019537, 1023779]
1907	* library/tzdata/*: Regenerated.
1908	* tests/clock.test (clock-31.*, clock-39.1): Corrected a problem where
1909	the 'system' locale tests fail on a non-English Windows machine. [Bug
1910	1023761]. Added a test to make sure that alias time zones load
1911	correctly. [Bug 1023779].
1912	* tests/timer.test (timer-1.1, timer-2.1): Changed to (one hopes!) be
1913	more resilient on an overloaded system, if [after 200] sleeps for 300
1914	ms or longer.
1915	* tools/tclZIC.tcl (writeLinks): Corrected a problem where alias time
1916	zone names were written incorrectly, causing them to fail to load at
1917	run time. [Bug 1023779].
1918	* win/tclWinTime.c (Tcl_GetTime): Eliminated CPUID tests on Win64 -
1919	assuming that HAL vendors now do a better job of keeping the
1920	performance counters synchronized among CPU's. [Bug 1020445]
1921
19222004-09-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1923
1924	* doc/tclvars.n, doc/tcltest.n, doc/tclsh.1, doc/safe.n, doc/expr.n
1925	* doc/WrongNumArgs.3, doc/Utf.3, doc/TraceVar.3, doc/Thread.3
1926	* doc/TCL_MEM_DEBUG.3, doc/SubstObj.3, doc/StdChannels.3
1927	* doc/SetResult.3, doc/RegExp.3, doc/RegConfig.3, doc/RecEvalObj.3
1928	* doc/PrintDbl.3, doc/ParseCmd.3, doc/Panic.3, doc/ObjectType.3
1929	* doc/Object.3, doc/Namespace.3, doc/Interp.3, doc/IntObj.3
1930	* doc/Hash.3, doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3
1931	* doc/Encoding.3, doc/DoubleObj.3, doc/DictObj.3, doc/CrtTimerHdlr.3
1932	* doc/CrtObjCmd.3, doc/CrtMathFnc.3, doc/CrtCommand.3, doc/CrtChannel.3
1933	* doc/ChnlStack.3, doc/ByteArrObj.3, doc/AssocData.3, doc/Alloc.3:
1934	More documentation fixes from Mikhail Kolesnitchenko. [Patch 1022527]
1935
19362004-09-03  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1937
1938	* unix/tclUnixFCmd.c: Stop NULL interp arguments from triggering a
1939	crash when an error happens. [Bug 1020538]
1940
19412004-09-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1942
1943	* doc/lsearch.n: Clarified meaning of -dictionary. [Bug 759545]
1944
19452004-09-02  Vince Darley  <vincentdarley@users.sourceforge.net>
1946
1947	* win/makefile.vc: clock.tcl needs to be installed.
1948
19492004-09-01  Jeff Hobbs	<jeffh@ActiveState.com>
1950
1951	* win/tclWinReg.c (BroadcastValue): WIN64 cast corrections
1952
1953	* win/tclWinDde.c (DdeClientWindowProc):
1954	(DdeServicesOnAck, DdeEnumWindowsCallback): WIN64 corrections
1955
1956	* win/tclWin32Dll.c (TclWinCPUID): need _asm for WIN64 (Itanium),
1957	until we have it, just return unknown. [Bug 1020445]
1958
19592004-09-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1960
1961	* doc/regsub.n, doc/RegConfig.3, doc/Environment.3:
1962	* doc/CrtChannel.3, doc/safe.n: Use correct abbreviations.
1963
19642004-08-31  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1965
1966	* doc/trace.n, doc/socket.n, doc/registry.n, doc/pid.n:
1967	* doc/namespace.n, doc/msgcat.n, doc/lsort.n, doc/lsearch.n:
1968	* doc/linsert.n, doc/info.n, doc/http.n, doc/history.n:
1969	* doc/format.n, doc/file.n, doc/exec.n, doc/dde.n, doc/clock.n:
1970	* doc/catch.n, doc/binary.n: More spelling and grammar fixes from
1971	Mikhail Kolesnitchenko. [Patch 1018486]
1972
19732004-08-31  Vince Darley  <vincentdarley@users.sourceforge.net>
1974
1975	* doc/FileSystem.3:
1976	* generic/tclIOUtil.c: Clarified documentation regarding ability of a
1977	filesystem to say that it doesn't support a given operation using the
1978	EXDEV posix error code (copyFileProc, renameFileProc, etc), and
1979	updated one piece of code to ensure correct behaviour when an
1980	operation is not supported [Bug 1017072]
1981
1982	* tests/fCmd.test: fix to test suite problem [Bug 1002884]
1983
19842004-08-31  Daniel Steffen  <das@users.sourceforge.net>
1985
1986	* unix/Makefile.in (install-libraries): portable sh fix.
1987
19882004-08-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1989
1990	* generic/tclCmdMZ.c (Tcl_StringObjCmd): Stop [string map] from
1991	crashing when its map and input string are the same object.
1992
19932004-08-27  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1994
1995	* generic/tclNamesp.c (FindEnsemble): Factor out the code to convert a
1996	command name into an ensemble configuration and add support for
1997	ignoring [namespace import] link chains. [Bug 1017022]
1998	(NamespaceWhichCmd): Rework to use newer option parsing API.
1999
20002004-08-27  Daniel Steffen  <das@users.sourceforge.net>
2001
2002	* unix/Makefile.in: added customization of default module path roots
2003	via TCL_MODULE_PATH makefile variable.
2004	* macosx/Makefile: add platform standard locations to default module
2005	path roots. [Patch 942881]
2006
2007	* tests/env.test: macosx fixes.
2008
20092004-08-25  Don Porter	<dgp@users.sourceforge.net>
2010
2011	* tests/timer.test (timer-10.1):	Test for Bug 1016167.
2012	* generic/tclTimer.c: Workaround for situation when a [namespace
2013	import] causes the objv[0] value to be something other than what
2014	Tcl_AfterObjCmd expects. [Bug 1016167].
2015
20162004-08-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2017
2018	* generic/tclNamesp.c (NsEnsembleImplementationCmd): Use the ensemble
2019	command token to get the name of the ensemble for passing to the
2020	-unknown handler instead of relying on objv[0], which may contain
2021	useless info in the presence of [namespace import]. Problem found by
2022	Don Porter when investigating [Bug 1016167].
2023
20242004-08-24  Don Porter	<dgp@users.sourceforge.net>
2025
2026	* generic/tclProc.c:		The routine TclProcInterpProc was a
2027	* generic/tclTestProcBodyObj.c: specific instance of the general
2028	service already provided by TclObjInvokeProc. Removed
2029	TclProcInterpProc and TclGetInterpProc from the code...
2030
2031	* generic/tclInt.decls:	...and from the internal stubs table.
2032	* generic/tclIntDecls.h
2033	* generic/tclStubInit.c
2034
20352004-08-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2036
2037	* doc/string.n: Added clarifying note.
2038
20392004-08-23  Don Porter	<dgp@users.sourceforge.net>
2040
2041	* library/auto.tcl:	Updated [tcl_findLibrary] search path to
2042	include any [<pkg>::pkgconfig get scriptdir,runtime] directory, as
2043	well as the $::auto_path. [RFE 695441]
2044
20452004-08-21  Kevin B. Kenny  <kennykb@acm.org>
2046
2047	* tests/clock.test (clock-38.1): Changed TZ setting to specify CET in
2048	excruciating detail to deal with systems that lack the Posix defaults
2049	for DST changes (and to be formally correct with the change dates for
2050	CET).
2051
20522004-08-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2053
2054	* generic/tclScan.c (Tcl_ScanObjCmd, ValidateFormat): Ensure that the
2055	%ld conversion works correctly on 64-bit platforms. [Bug 1011860]
2056
20572004-08-19  Kevin Kenny	 <kennykb@acm.org>
2058
2059	* library/clock.tcl (format): Changed default timezone format from
2060	alphabetic to numeric to produce scannable times in more locales.
2061	* tests/clock.test (clock-37.1): Removed now-unused 'needPST'
2062	constraint and the comments that refer to it.
2063
20642004-08-18  Andreas Kupries  <andreask@activestate.com>
2065
2066	* library/init.tcl: Integrated TIP #189. We source a separate file
2067	(see below), instead of inlining the contents of that file. This
2068	should beeasier to maintain, and easier to backport/install in 8.4
2069	installations.
2070
2071	Note: Usage of Tcl Modules is restricted to non-safe interps. It
2072	cannot be loaded into a safe interp.
2073
2074	* library/tm.tcl: New file, the v2 reference implementation for TIP
2075	#189, Tcl Modules.
2076
2077	* doc/tm.n: New file, documentation for Tcl Modules, based on the TIP.
2078
2079	* unix/mkLinks: Regenerated.
2080	* win/makefile.vc: Added tm.tcl to list of files to install.
2081
20822004-08-18  Kevin Kenny	 <kennykb@acm.org>
2083
2084	* tests/httpd (httpdRespond): Corrected an abuse of the [clock]
2085	command that caused test failures for some values of [clock clicks].
2086
2087	* doc/clock.n
2088	* generic/tclBasic.c (Tcl_CreateInterp, Tcl_HideUnsafeCommands):
2089	* generic/tclClock.c (all):
2090	* generic/tclInt.h:
2091	* generic/tclInterp.c (CreateSlave):
2092	* library/clock.tcl: (new file)
2093	* library/init.tcl (clock):
2094	* library/msgs/*.msg:(new files)
2095	* library/tzdata/*:
2096	* library/tzdata/*/*:
2097	* library/tzdata/*/*/*: (new files)
2098	* tools/installData.tcl: (new file)
2099	* tools/loadICU.tcl: (new file)
2100	* tools/makeTestCases.tcl: (new file)
2101	* tools/tclZIC.tcl: (new file)
2102	* unix/Makefile.in:
2103	* unix/configure: (regenerated)
2104	* unix/tcl.m4:
2105	* tests/clock.test (all):
2106	* win/Makefile.in:
2107	* win/Makefile.vc:
2108		Implementation of TIPs #173 and #209.
2109
2110	The [clock] command is now a Tcl ensemble, with most of its
2111	functionality written in Tcl and callouts to C code only to access
2112	low-level functions such as localtime, mktime and tzset.
2113
2114	In addition to the functionality changes called out in the two TIPs,
2115	it is worth noting that the [clock] command in a safe slave
2116	interpreter is now an alias to the [clock] command in the master, and
2117	that [clock] is otherwise not expected to function entirely correctly
2118	in safe interps. C code that simply does Tcl_MakeSafe needs to be
2119	aware that [clock] may need special handling. (It appears unlikely
2120	that such code actually exists.)
2121
2122	One incompatibility of note is that if the time zone cannot be
2123	determined from the TZ, TCL_TZ environment variables, or from the
2124	Windows control panel, so that the C library must be used for date and
2125	time conversions, then times outside the range of time_t will fail;
2126	they used to return bad data silently.
2127
2128	Many thanks to all the many people who assisted with testing,
2129	debugging, criticism of the specification, and localisation. Deserving
2130	of particular mention are Joe English, Clif Flynt, Donal K. Fellows,
2131	Jeff Hobbs, Cameron Laird, Arjen Markus, Reinhard Max, Christopher
2132	Nelson, Steve Offutt, Donald G. Porter, Pascal Scheffers, Peter da
2133	Silva and Richard Suchenwirth-Bauersachs.
2134
2135	*** POTENTIAL INCOMPATIBILITY ***
2136
21372004-08-16  Miguel Sofer <msofer@users.sf.net>
2138
2139	* doc/SetVar.3:
2140	* generic/tclTest.c (TestseterrorcodeCmd):
2141	* generic/tclVar.c (TclPtrSetVar):
2142	* tests/result.test (result-4.*, result-5.*): [Bug 1008314] detected
2143	and fixed by dgp.
2144
21452004-08-13  Don Porter	<dgp@users.sourceforge.net>
2146
2147	* library/msgcat/msgcat.tcl:	Added checks to prevent [mclocale]
2148	* tests/msgcat.test:	from registering filesystem paths to possibly
2149	malicious code to be evaluated by a later [mcload].
2150
21512004-08-10  Zoran Vasiljevic <vasiljevic@users.sf.net>
2152
2153	* unix/tclUnixThrd.c (TclpThreadCreate): changed handling of the
2154	returned thread ID since broken on 64-bit systems (Cray). Thanks to
2155	Rob Ratcliff for reporting the bug.
2156
21572004-08-03  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2158
2159	* generic/tclNamesp.c (MakeCachedEnsembleCommand): Initialize the
2160	epoch field cached in the subcommand. [Bug 989298]
2161	(NsEnsembleImplementationCmd): Plug a leak (thanks to Miguel Sofer for
2162	spotting it with valgrind) and reduce the number of goto labels to
2163	make the code clearer.
2164
21652004-08-02  Don Porter	<dgp@users.sourceforge.net>
2166
2167	* library/package.tcl (pkg_mkIndex):	Updated [pkg_mkIndex] to make
2168	use of [glob -directory $dir -tails] and return options.
2169
2170	TIP#207 IMPLEMENTATION
2171
2172	* doc/interp.n:		Added support for a -namespace option to the
2173	* generic/tclBasic.c:	[interp invokehidden] command.	Also added an
2174	* generic/tclInt.h:	internal routine TclObjInvokeNamespace() and
2175	* generic/tclInterp.c:	corrected the flag names TCL_FIND_ONLY_NS and
2176	* generic/tclNamesp.c:	TCL_CREATE_NS_IF_UNKNOWN that are passed to the
2177	* generic/tclTrace.c:	internal routine TclGetNamespaceForQualName().
2178	* tests/interp.test:	[Patch 981841]
2179
2180	* generic/tclLiteral.c (TclCleanupLiteralTable):	Corrected
2181	* tests/compile.test (compile-12.4):	flawed deletion of literal
2182	internal reps that could lead to accessing of freed memory. Thanks to
2183	Kevin Kenny for test case and fix [Bug 1001997].
2184
21852004-07-30  Don Porter	<dgp@users.sourceforge.net>
2186
2187	* tests/safe.test (safe-2.1):  Disabled senseless test.	 [Bug 999612]
2188
2189	* library/auto.tcl (auto_reset):  Removed "protected" list of commands
2190	from [auto_reset]. All entries in the auto_index can be re-loaded.
2191	* library/package.tcl: Updated comment to reflect 2004-07-28 commit.
2192
2193	* generic/tclEvent.c (Tcl_Finalize):	Re-organized Tcl_Finalize so
2194	that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause
2195	deadlock. [Patch 999084 fixes Tk Bug 714956]
2196
21972004-07-30  Daniel Steffen  <das@users.sourceforge.net>
2198
2199	* unix/configure:
2200	* unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS
2201	to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var.
2202	* unix/Makefile.in: added MAC_OSX_OBJS variable.
2203
22042004-07-29  Don Porter	<dgp@users.sourceforge.net>
2205
2206	* library/package.tcl: [::pkg::create] is now an alias. Test safe-2.1
2207	will now fail until Bug 999612 is corrected.
2208
22092004-07-28  Don Porter	<dgp@users.sourceforge.net>
2210
2211	* library/package.tcl:		Moved private command
2212	* library/tclIndex:		[pkg_compareExtension] into ::tcl::Pkg.
2213	* tests/pkg_mkIndex.test:	Also moved implementation of
2214	[::pkg::create] to [::tcl::Pkg::Create].
2215
22162004-07-25  Pat Thoyts	<patthoyts@users.sourceforge.net>
2217
2218	* tests/io.test: Make io-61.1 create file as binary to pass on Win32
2219
22202004-07-23  Miguel Sofer <msofer@users.sf.net>
2221
2222	* generic/tclVar.c: simplify tclLocalVarNameType, removing the
2223	reference to the corresponding proc. The reference is now seen as
2224	unnecessary, and it may cause leaking circular references under some
2225	circumstances (see for example [Bug 994838]).
2226
22272004-07-22  Don Porter	<dgp@users.sourceforge.net>
2228
2229	* tests/eofchar.data (removed): Test io-61.1 now generates its own
2230	* tests/io.test:	file of test data as needed.
2231
22322004-07-20  Jeff Hobbs	<jeffh@ActiveState.com>
2233
2234	* generic/tclEvent.c:	    Correct threaded obj allocator to
2235	* generic/tclInt.h:	    fully cleanup on exit and allow for
2236	* generic/tclThreadAlloc.c: reinitialization. [Bug 736426]
2237	* unix/tclUnixThrd.c:	    (mistachkin, kenny)
2238	* win/tclWinThrd.c:
2239
22402004-07-21  Kevin Kenny	 <kennykb@acm.org>
2241
2242	* generic/tclBasic.c (DeleteInterpProc):
2243	* generic/tclLiteral.c (TclCleanupLiteralTable):
2244	* generic/tclInt.h: added a TclCleanupLiteralTable function, called
2245	from DeleteInterpProc, that frees internal representations of shared
2246	literals early when an interpreter is being deleted. This change
2247	corrects a number of memory mismanagement issues in the cases where
2248	the internal representation of one literal contains a reference to
2249	another, and avoids conditions such as resolved variable names
2250	referring to procedure and namespace contexts that no longer exist.
2251	[Bug 994838]
2252
22532004-07-20  Daniel Steffen  <das@users.sourceforge.net>
2254
2255	* unix/Makefile.in:
2256	* win/Makefile.in: added 'install-private-headers' makefile target to
2257	allow optionally installing private tcl headers. [FR 922727]
2258
2259	* macosx/Makefile: use new 'install-private-headers' target to install
2260	private headers into framework. [FR 922727]
2261
2262	* unix/tclUnixFile.c (NativeMatchType): added support for readonly
2263	matching of user immutable files (where available).
2264
2265	* macosx/tclMacOSXBundle.c: dynamically acquire address for
2266	CFBundleOpenBundleResourceMap symbol, since it is only present in full
2267	CoreFoundation on Mac OS X and not in CFLite on pure Darwin.
2268
22692004-07-19  Zoran Vasiljevic <vasiljevic@users.sf.net>
2270
2271	* win/tclwinThrd.c: redefined MASTER_LOCK to call TclpMasterLock.
2272	Fixes [Bug 987967]
2273
22742004-07-17  Vince Darley  <vincentdarley@users.sourceforge.net>
2275
2276	* generic/tclIOUtil.c: fix to rare 'cd' infinite loop in normalization
2277	with vfs [Bug 991420].
2278	* tests/fileSystem.test: added test for above bug.
2279
2280	* doc/FileSystem.3: clarified documentation of posix error codes in
2281	'remove directory' FS proc - 'EEXIST' is used to signify a non-empty
2282	directory error (bug reported against tclvfs).
2283
22842004-07-16  Jeff Hobbs	<jeffh@ActiveState.com>
2285
2286	* unix/Makefile.in, unix/tcl.m4:     move (C|LD)FLAGS after their
2287	* unix/configure.in, unix/configure: _DEFAULT to allow for env setting
2288	to override m4 switches. Move SC_MISSING_POSIX_HEADERS up and
2289	consolidate calls to limit redundancy in configure.
2290	(CFLAGS_WARNING): Remove -Wconversion
2291	(SC_ENABLE_THREADS): Set m4 to force threaded build when built against
2292	a threaded Tcl core.
2293
22942004-07-16  Andreas Kupries  <andreask@activestate.com>
2295
2296	* generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the
2297	generation of error messages and simplified by reusing data in a
2298	variable instead of retrieving the string again. Fixes [Bug 835289].
2299
2300	* doc/OpenFileChnl.3: Added description of the behaviour of
2301	Tcl_ReadChars when its 'charsToRead' argument is set to -1. Fixes [Bug
2302	934511].
2303
2304	* doc/CrtCommand.3: Added note that the arguments given to the command
2305	proc of a Tcl_CreateCommand are in utf-8 since Tcl 8.1. Closing [Patch
2306	414778].
2307
2308	* doc/ChnlStack.3: Removed the declaration that the interp argument to
2309	Tcl_(un)StackChannel can be NULL. This fixes [Bug 881220], reported by
2310	Marco Maggi <marcomaggi@users.sourceforge.net>.
2311
2312	* tests/socket.test: Accepted two new testcases by Stuart Casoff
2313	<stwo@users.sourceforge.net> checking that -server and -async don't go
2314	together [Bug 796534].
2315
2316	* unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's
2317	patch for [Bug 990500], properly closing the notifier thread when its
2318	exits.
2319
23202004-07-15  Andreas Kupries  <andreask@activestate.com>
2321
2322	* unix/tclUnixThrd.c (TclpFinalizeMutex): Accepted Joe Mistachkin's
2323	patch for [Bug 990453], closing leakage of mutexes. They were not
2324	destroyed properly upon finalization.
2325
23262004-07-15  Andreas Kupries  <andreask@activestate.com>
2327
2328	* generic/tclIO.h (CHANNEL_INCLOSE):	   New flag. Set in
2329	* generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the
2330	* generic/tclIO.c (Tcl_Close):		   close callbacks are
2331	run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive
2332	call of 'close' in the close-callbacks. This is a possible error made
2333	by implementors of virtual filesystems based on 'tclvfs', thinking
2334	that they have to close the channel in the close handler for the
2335	filesystem.
2336
23372004-07-14  Andreas Kupries  <andreask@activestate.com>
2338
2339	* generic/tclIO.c:
2340	* generic/tclIO.h:
2341	* Not reverting, but #ifdef'ing the changes from May 19, 2004 out of
2342	the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel
2343	drivers it introduced. This has become possible due to Expect gaining
2344	a BlockModeProc and now handling blockingg and non-blocking modes
2345	correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough
2346	version of Expect is used.
2347
2348	* doc/CrtChannel.3: Added warning about usage of a channel without a
2349	BlockModeProc.
2350
23512004-07-15  Andreas Kupries  <andreask@pliers.activestate.com>
2352
2353	* generic/tclIOCmd.c (Tcl_PutsObjCmd): Added length check to the old
2354	depreceated newline syntax, to ensure that only "nonewline" is
2355	accepted. [Tcl SF Bug 985869], reported by Joe Mistachkin
2356	<mistachkin@users.sourceforge.net>.
2357
23582004-07-15  Zoran Vasiljevic <vasiljevic@users.sf.net>
2359
2360	* generic/tclEvent.c (Tcl_Finalize): stuffed memory leak incurred by
2361	re-initializing of TSD slots after the last call to
2362	TclFinalizeThreadData (done from within Tcl_FinalizeThread()). We
2363	basically just repeat the TclFinalizeThreadData() once more before
2364	tearing down TSD keys in TclFinalizeSynchronization(). There should be
2365	more elaborate mechanism in place for handling such issues, based on
2366	thread cleanup handlers registered on the OS level. Such change
2367	requires much more work and would also require TIP because some
2368	visible parts of Tcl API would have to be modified. In the meantime,
2369	this will do.
2370
2371	* generic/tclNotify.c (TclFinalizeNotifier): Added conditional
2372	notifier finalization based on the fact that an TclInitNotifier has
2373	been called for the current thread. This fixes the [Bug 770053] again.
2374	Hopefully this time w/o unwanted side-effects.
2375
23762004-07-15  Kevin Kenny	 <kennykb@acm.org>
2377
2378	* generic/tclLiteral.c (TclReleaseLiteral): Removed unused variable
2379	'codePtr' to silence a message from VC++.
2380
23812004-07-15  Miguel Sofer <msofer@users.sf.net>
2382
2383	* generic/tclCompile.c (TclCompileScript):
2384	* generic/tclLiteral.c (TclReleaseLiteral): fix for [Bug 467523],
2385	which resurfaced with the latest changes. The previous strategy was to
2386	have special code in TclReleaseLiteral to handle the self-references
2387	generated by empty scripts. The new approach avoids the self-reference
2388	altogether, by having empty scripts return an unshared literal.
2389
23902004-07-15  Zoran Vasiljevic <vasiljevic@users.sf.net>
2391
2392	* generic/tclEvent.c (NewThreadProc): Backout of changes to fix the
2393	[Bug 770053]. See SF bugreport for more info.
2394
23952004-07-11  Miguel Sofer <msofer@users.sf.net>
2396
2397	* generic/tclBasic.c (Tcl_EvalEx): leak fix by dgp, release
2398	objv[objectsUsed] on error.
2399
24002004-07-11  Miguel Sofer <msofer@users.sf.net>
2401
2402	* generic/tclParse.c (Tcl_SubstObj): leak fix by dgp, release result
2403	on error.
2404
24052004-07-11  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2406
2407	* generic/tclNamesp.c (BuildEnsembleConfig): Don't forget to clean out
2408	references when deleting the hash table.
2409	* generic/tclDictObj.c (Tcl_DictObjRemoveKeyList): Oops, forgot to
2410	delete value object when removing the hash entry. [Bug 989093 in part]
2411
24122004-07-11  Miguel Sofer <msofer@users.sf.net>
2413
2414	* generic/tclExecute.c (TEBC): fixed leak of expandNestList objs when
2415	there is an error while an expansion is in progress (code added at
2416	checkForCatch).
2417
24182004-07-11  Vince Darley  <vincentdarley@users.sourceforge.net>
2419
2420	* generic/tclIOUtil.c: fix to 'cd' bug when vfs is active [tclvfs Bug
2421	986944] - this bug recently introduced by some threading fixes. Need
2422	to work out how to add tests for this.
2423
24242004-07-10  Kevin Kenny	 <kennykb@acm.org>
2425
2426	* tests/clock.test (clock-2.11): Changed the test so that it isn't an
2427	infinite loop when run under valgrind on a slow virtual machine.
2428	Thanks to Miguel Sofer for the bug report. Also put in code to restore
2429	env(LC_TIME) after tests complete, silencing a warning from 'make
2430	TESTFLAGS="-debug 1" test'.
2431
24322004-07-08  Miguel Sofer <msofer@users.sf.net>
2433
2434	* generic/tclBasic.c (DeleteInterpProc): reverted the modification of
2435	3 days ago, as the leak of [Bug 983660] is now handled by the change
2436	in TclCleanupByteCode.
2437	* generic/tclCompile.c (TclCleanupByteCode): let each bytecode remove
2438	its references to literals at interp deletion, without updating the
2439	dying literal table.
2440	* generic/tclLiteral.c (TclDeleteLiteralTable): with the above change
2441	to TclCleanupByteCode, this function now removes a single reference to
2442	the literal object and cleans up its own structures.
2443
24442004-07-08  Kevin Kenny	 <kennykb@acm.org>
2445
2446	* win/tclWinInit.c (AppendEnvironment): Silenced a compilation warning
2447	about a type mismatch.
2448
24492004-07-07  Miguel Sofer <msofer@users.sf.net>
2450
2451	* generic/tclCompile.c (TclCompileScript): fix for [Bug 458361].
2452	Single-word scripts are compiled with an unshared cmdName to avoid
2453	shimmering between bytecode and cmdName reps.
2454
24552004-07-07  Don Porter	<dgp@users.sourceforge.net>
2456
2457	* generic/tclCmdMZ.c (TclMergeReturnOptions):  Simplified logic and
2458	removed potential memory leak. [Bug 986257].
2459
24602004-07-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2461
2462	* tools/man2help2.tcl (setTabs, IPmacro): Added support for the more
2463	advanced *roff macros used in Tk's doc/bind.n
2464
2465	* generic/tclObj.c (TclInitObjSubsystem): Declare all current object
2466	types.
2467
24682004-07-06  Don Porter	<dgp@users.sourceforge.net>
2469
2470	* tests/cmdMZ.test (cmdMZ-return-2.17): Added a test that a word
2471	containing backslash-quoted value is treated correctly.
2472
2473	* generic/tclCompile.c (TclWordKnownAtCompileTime): [Bug 986196]
2474	Corrected flaw above and the flaw that caused TCL_TOKEN_SIMPLE_WORDs
2475	to have their original word value copied ( "{a b}" ) rather than the
2476	actual value ( "a b" ). Thanks to Kevin Kenny for report and tests.
2477
24782004-07-06  Kevin B. Kenny  <kennykb@acm.org>
2479
2480	* tests/cmdMZ.test (cmdMZ-return-2.15,cmdMZ-return-2.16): Added a test
2481	that a return code containing spaces is correctly returned.
2482
24832004-07-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2484
2485	* tools/man2html2.tcl (IPmacro, setTabs): Added support for the more
2486	advanced *roff macros used in Tk's doc/bind.n
2487
24882004-07-05  Miguel Sofer <msofer@users.sf.net>
2489
2490	* generic/tclBasic.c (DeleteInterpProc): fix for [Bug 983660], found
2491	by pspjuth. Tear down the global namespace before freeing the interp
2492	handle, to allow the bytecodes to free their non-shared literals.
2493	* generic/tclLiteral.c (TclReleaseLiteral): moved special code for
2494	self-ref so that it is also used for non-shared literals. Possible bug
2495	found by inspection.
2496
24972004-07-03  Miguel Sofer <msofer@users.sf.net>
2498
2499	* generic/tclExecute.c (ExprRoundFunc):
2500	* tests/expr-old.test (39.1): added support for wide integers to
2501	round(); [Bug 908375], reported by Hemang Lavana.
2502
25032004-07-03  Miguel Sofer <msofer@users.sf.net>
2504
2505	* generic/tclCompile.h:
2506	* generic/tclInt.decls:
2507	* generic/tclIntDecls.h:
2508	* generic/tclStubInit.c: Moved declaration of TclCompEvalObj() from
2509	tclCompile.h to the internal stubs table, for compiler
2510	experimentation.
2511
25122004-07-02  Jeff Hobbs	<jeffh@ActiveState.com>
2513
2514	* generic/regcomp.c (stid): correct minor pointer size error
2515
2516	* generic/tclPipe.c (TclCreatePipeline): applied TIP #202 patch that
2517	* doc/exec.n, tests/exec.test:		 adds 2>@1 as a special case
2518	redirection of stderr to the result output.
2519
25202004-07-02  Kevin B. Kenny  <kennykb@acm.org>
2521
2522	* tests/io.test: Changed several tests to run the event loop rather
2523	than just calling [update] periodically, avoiding intermittent
2524	failures (usually in io-29.32) that stemmed from unreaped processes on
2525	Windows.
2526	* tests/winPipe.test (winpipe-1.11): Fixed a bug that caused test to
2527	fail if the path name of the working directory contained whitespace
2528	[Bug 678430]
2529
25302004-07-01  Vince Darley  <vincentdarley@users.sourceforge.net>
2531
2532	* tests/fileSystem.test: Added test for [Bug 970529]
2533
25342004-07-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2535
2536	* win/README.binary, win/README: Updated references to Tcl and Tk 8.4
2537	to point to 8.5 instead. Thanks to Theo Verelst for spotting this.
2538	* generic/tcl.h: Added note to help prevent those changes from getting
2539	missed in the future.
2540
2541	* doc/Namespace.3, doc/load.n, doc/Limit.3: Typo fixes and remove
2542	duplicate documentation. [Bug 983146]
2543
25442004-06-30  Don Porter	<dgp@users.sourceforge.net>
2545
2546	* tests/fileSystem.test: Minor correction to new fileSystem-9.X tests
2547	so that they clean up temporary directories correctly.
2548
25492004-06-30  Vince Darley  <vincentdarley@users.sourceforge.net>
2550
2551	* doc/filename.n: clarified behaviour concerning trailing slashes in
2552	filenames [Bug 971976]
2553
2554	* win/tclWinFile.c:
2555	* tests/fileSystem.test: fix and tests for [Bug 979879]
2556
25572004-06-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2558
2559	TIP#188 IMPLEMENTATION
2560
2561	* doc/string.n, tests/string.test:	 Add 'wideinteger' to things
2562	* generic/tclCmdMZ.c (Tcl_StringObjCmd): that can be tested for with
2563	the [string is] subcommand. [Patch 940915, by Kevin Kenny]
2564
25652004-06-29  Don Porter	<dgp@users.sourceforge.net>
2566
2567	* win/tclWinInit.c:	Corrected reference counting flaw in recent
2568	changes. Thanks to Pat Thoyts. [Bug 981893].
2569
25702004-06-29  Vince Darley  <vincentdarley@users.sourceforge.net>
2571
2572	* win/tclWin32Dll.c: fix to compilation with VC++ 5.2
2573
25742004-06-29  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2575
2576	* library/safe.tcl: Make sure that the temporary variable is local to
2577	the namespace and not inadvertently global. [Bug 981733]
2578
25792004-06-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2580
2581	* tests/unixNotfy.test: Modified constraints so that testing with a
2582	threaded tclsh (not tcltest) will not hang.
2583
25842004-06-23  Don Porter	<dgp@users.sourceforge.net>
2585
2586	* generic/tclThreadStorage.c: Corrected type casting errors that led
2587	to calculation of a negative index value, thus accesses outside the
2588	threadStorageCache array, thus memory corruption. Crash observed on
2589	Mac OS X platform.
2590
25912004-06-23  Joe Mistachkin  <joe@mistachkin.com>
2592
2593	* generic/tclThread.c: Implements platform independent thread storage
2594	* generic/tclThreadStorage.c: mechanism and fixes associated bugs on
2595	platforms where there is limited thread local storage space
2596	(Win98/WinNT4). [Patch 976496]
2597
2598	* generic/tclInt.decls:
2599	* generic/tclIntDecls.h: Added thread storage functions to the
2600	* generic/tclStubInit.c: internal stubs table.
2601
2602	* unix/Makefile.in:
2603	* unix/configure:
2604	* unix/tcl.m4:
2605	* win/makefile.vc:
2606	* win/rules.vc:
2607	* win/Makefile.in: Modified the unix, VC++, and Cygwin build systems
2608	* win/configure: to include the new "tclThreadStorage.c" and the new
2609	* win/tcl.m4: USE_THREAD_STORAGE define.
2610
26112004-06-23  Pat Thoyts	<patthoyts@users.sourceforge.net>
2612
2613	* tests/io.test: Added -force to 18.1 and 18.2. This was failing on
2614	WinXP.
2615
2616	* tests/winFCmd.test: Added a cleanup to winFCmd-16.11 to avoid a
2617	failure in 16.12.
2618
2619	* tests/eofchar.data: Added -kb option to ensure a binary checkout to
2620	win32 systems. This fixes a failure in io-61.1
2621
2622	* win/makefile.vc: fix for [Bug 977369] about launching tclsh to
2623	generate a tclConfig.sh with the nmake build system
2624
26252004-06-23  Kevin B. Kenny  <kennykb@acm.org>
2626
2627	* tests/winDde.test (createChildProcess): Added a 200-ms delay (with
2628	the event loop live) when shutting down the test DDE server process.
2629	With the delay in place, nuisance failures of tests winDde-4.2, -6.5,
2630	and -6.6 appear to be much less frequent. [Bug 957449]
2631
26322004-06-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2633
2634	* tests/*.test: Standardize use of platform constraints.
2635
2636	* unix/tclUnixInit.c (GetStackSize, TclpCheckStackSpace):
2637	* unix/tclUnixThrd.c (TclpThreadGetStackSize): Added code to check
2638	whether the C stack is about to be exceeded, from [Patch 746378] by
2639	Joe Mistachkin but with substantial revisions.
2640
26412004-06-22  Kevin Kenny	 <kennykb@acm.org>
2642
2643	* generic/tclEvent.c (NewThreadProc): Fixed broken build on Windows
2644	caused by missing TCL_THREAD_CREATE_RETURN.
2645
2646	* tests/stack.test (stack-3.1): Corrected nuisance error in threaded
2647	builds.
2648
26492004-06-22  Zoran Vasiljevic <vasiljevic@users.sf.net>
2650
2651	* generic/tclEvent.c:
2652	* generic/tclInt.h:
2653	* unix/tclUnixNotfy.c:
2654	* unix/tclUnixThrd.c:
2655	* win/tclWinThrd.c: [Bug 770053]. See bug report for more information
2656	about what it does.
2657
2658	* tests/unixNotfy.test: rewritten to use tcltest::threadReap to
2659	gracefully wait for the test thread to exit. Otherwise we got a race
2660	condition with main thread exiting before the test thread. This
2661	exposed the long-standing Tcl lib issue with resource
2662	garbage-collection on application exit.
2663
26642004-06-21  Mo DeJong  <mdejong@users.sourceforge.net>
2665
2666	* win/tclWin32Dll.c (DllMain, _except_dllmain_detach_handler)
2667	(TclpCheckStackSpace, _except_checkstackspace_handler)
2668	(TclWinCPUID, _except_TclWinCPUID_detach_handler):
2669	* win/tclWinChan.c (Tcl_MakeFileChannel)
2670	(_except_makefilechannel_handler):
2671	* win/tclWinFCmd.c (DoRenameFile, _except_dorenamefile_handler)
2672	(DoCopyFile, _except_docopyfile_handler):
2673	Rework pushing of exception handler function pointer so that compiling
2674	with gcc -O3 works. Remove empty function call to avoid compiler
2675	warning. Mark the DllMain function as noinline to avoid compiler error
2676	from duplicated asm labels in generated code.
2677
26782004-06-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2679
2680	* generic/tclThreadAlloc.c (Ptr2Block): Rewrote so as to maximize the
2681	chance of detecting and reporting a memory inconsistency without
2682	relying on things being consistent. [Bug 975895]
2683
26842004-06-18  Don Porter	<dgp@users.sourceforge.net>
2685
2686	* tests/load.test:	Relaxed strictness of error message matching
2687	for test load-2.3 so that it will pass on Mac OSX.
2688
2689	* generic/tclEncoding.c: Static TclFindEncodings -> FindEncodings.
2690	* generic/tclInt.h:	Updated TclpFindExecutable() so that failed
2691	* generic/tclUtil.c:	attempts to find the executable are saved
2692	* unix/tclUnixFile.c:	just as successful finds are. [Patch 966053]
2693	* unix/tclUnixTest.c:
2694
26952004-06-18  Kevin B. Kenny  <kennykb@acm.org>
2696
2697	* tests/winFCmd.test (winFCmd-16.12): Changed test to compute the
2698	target directory, so as not to fail if the user's HOME isn't the root.
2699
27002004-06-19  Daniel Steffen  <das@users.sourceforge.net>
2701
2702	* unix/tcl.m4: autoconf 2.5 fixes in Darwin section.
2703	* unix/configure: autoconf-2.57
2704
27052004-06-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2706
2707	* unix/tclUnixInit.c (localeTable): Added some more locale to encoding
2708	mapping info from Jim Huang <jserv@kaffe.org>
2709
2710	* generic/tclInt.h (PendingObjData,TclFreeObjMacro,etc):
2711	* generic/tclObj.c (TclFreeObj): Added scheme for making TclFreeObj()
2712	avoid blowing up the C stack when freeing up very large object trees.
2713	[Bug 886231]
2714
2715	* win/tclWinInit.c (SetDefaultLibraryDir): Fix logic, simplify and add
2716	comments.
2717
27182004-06-17  Don Porter	<dgp@users.sourceforge.net>
2719
2720	* generic/tclObj.c:	Added missing space in panic message.
2721
2722	* win/tclWinInit.c:	Inform [tclInit] about the default library
2723	directory via the ::tclDefaultLibrary variable. This should correct a
2724	problem with my 2004-06-11 commit. Better solutions still in the
2725	works. Thanks to Joe Mistachkin for pointing out the breakage.
2726
27272004-06-16  Don Porter	<dgp@users.sourceforge.net>
2728
2729	* doc/library.n:	Moved variables ::auto_oldpath and
2730	* library/auto.tcl:	::unknown_pending into ::tcl namespace.
2731	* library/init.tcl:	[Bugs 808319, 948794]
2732
27332004-06-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2734
2735	* doc/binary.n: Added some notes to the documentation of the 'a'
2736	format to address the point raised in [RFE 768852].
2737
27382004-06-15  Jeff Hobbs	<jeffh@ActiveState.com>
2739
2740	* unix/tclConfig.sh.in (TCL_EXTRA_CFLAGS): set to @CFLAGS@, which is
2741	the configure-time CFLAGS. Addendum to m4 change on 2004-05-26.
2742
27432004-06-14  Kevin Kenny	 <kennykb@acm.org>
2744
2745	* win/Makefile.in: Corrected compilation flags for tclPkgConfig.c so
2746	that it doesn't require Stubs.
2747	* generic/tclBasic.c (Tcl_CreateInterp): Removed comment stating that
2748	TclInitEmbeddedConfigurationInformation needs Stubs; with the change
2749	above, the comment is now erroneous.
2750
27512004-06-11  Don Porter	<dgp@users.sourceforge.net>
2752
2753	* doc/Encoding.3:	Removed bogus claims about tcl_libPath.
2754
2755	* generic/tclInterp.c (Tcl_Init):	Stopped setting the
2756	tcl_libPath variable. [tclInit] can get all its directories without it.
2757
2758	* tests/unixInit.test:	Modified test code that made use of
2759	tcl_libPath variable.
2760
2761	* unix/tclUnixInit.c:	Stopped setting the tclDefaultLibrary variable,
2762	execept on the Mac OS X platform with HAVE_CFBUNDLE. In that
2763	configuration we should seek some way to make use of the TIP 59
2764	facilities and get rid of that usage of tclDefaultLibrary as well.
2765
2766	* generic/tclInterp.c:	Updated [tclInit] to make $env(TCL_LIBRARY) an
2767	absolute path, and to include the scriptdir,runtime configuration value
2768	on the search path for init.tcl.
2769
2770	* unix/tclUnixInit.c:	The routines Tcl_Init() and TclSourceRCFile()
2771	* win/tclWinInit.c:	had identical implementations for both win and
2772	* generic/tclInterp.c:	unix. Moved to a single generic implementation.
2773	* generic/tclMain.c:
2774	* library/init.tcl:
2775	* generic/tclInitScript.h (removed):
2776	* unix/Makefile.in:
2777	* win/tcl.dsp:
2778
2779	* unix/configure.in:	Updated TCL_PACKAGE_PATH value to handle
2780	* win/configure.in:	--libdir configuration.
2781
2782	* unix/configure.in:	autoconf-2.57
2783	* win/configure.in:
2784
2785	* generic/tclBasic.c (Tcl_CreateInterp): Moved call to
2786	TclInitEmbeddedConfigurationInformation() earlier in
2787	Tcl_CreateInterp() so that other parts of interp creation and
2788	initialization may access and use the config values.
2789
27902004-06-11  Kevin Kenny	 <kennykb@acm.org>
2791
2792	* win/tclAppInit.c: Restored the 'setargv' procedure when compiling
2793	with mingw. Apparently, the command line parsing in mingw doesn't work
2794	as well as that in vc++, and the result was (1) that winPipe-8.19
2795	failed, and (2) that 'make test' would work at all only with
2796	TESTFLAGS='-singleproc 1'. [Bug 967195]
2797
27982004-06-10  Zoran Vasiljevic <vasiljevic@users.sf.net>
2799
2800	* generic/tclIOUtil.c: removed forceful setting of the private cached
2801	current working directory rep from within the Tcl_FSChdir(). We
2802	delegate this task to the Tcl_FSGetCwd() which does this task anyway.
2803	The relevant code is still present but disabled temporarily until the
2804	change proves correct. The Tcl test suite passes all test with the
2805	given change so I suppose it is good enough.
2806
28072004-06-10  Don Porter	<dgp@users.sourceforge.net>
2808
2809	* unix/tclUnixInit.c (TclpInitLibraryPath):	Disabled addition of
2810	* win/tclWinInit.c (TclpInitLibraryPath):	relative-to-executable
2811	directories to the library search path. A first step in reform of
2812	Tcl's startup process.
2813
2814	***POTENTIAL INCOMPATIBILITY***
2815	Attempts to directly run ./tclsh or ./tcltest out of a build directory
2816	will either fail, or will make use of an installed script library in
2817	preference to the one in the source tree. Use `make shell` or `make
2818	runtest` instead.
2819
2820	* tests/unixInit.test:	Modified tests to suit above changes.
2821
2822	* generic/tclPathObj.c:	Corrected [file tail] results when operating
2823	on a path produced by TclNewFSPathObj(). [Bug 970529]
2824
28252004-06-09  Zoran Vasiljevic <vasiljevic@users.sf.net>
2826
2827	* generic/tclIOUtil.c: partially corrected [Bug 932314]. Also
2828	corrected return values of Tcl_FSChdir() to reflect those of the
2829	underlying platform-specific call. Originally, return codes were mixed
2830	with those of Tcl.
2831
28322004-06-08  Miguel Sofer <msofer@users.sf.net>
2833
2834	* generic/tclCompile.c:
2835	* generic/tclExecute.c: handle warning [Bug 969066]
2836
28372004-06-08  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2838
2839	* generic/tclHash.c (RebuildTable): Move declaration of variable so it
2840	is only declared when it is used. [Bug 969068]
2841
28422004-06-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2843
2844	* doc/lsearch.n: Added correct option to example. [Bug 968219]
2845
28462004-06-05  Kevin B. Kenny  <kennykb@acm.org>
2847
2848	* generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw
2849	build works again.
2850	* generic/tclDecls.h:			Changes to the tests for clock
2851	* generic/tclInt.decls:			frequency in Tcl_WinTime so
2852	* generic/tclIntDecls.h:		that any clock frequency is
2853	* generic/tclIntPlatDecls.h:		accepted provided that all
2854	* generic/tclPlatDecls.h:		CPU's in the system share a
2855	* generic/tclStubInit.c:		common chip, and hence,
2856	* tests/platform.test (platform-1.3):	presumably, a common clock.
2857	* win/tclWin32Dll.c (TclWinCPUID):	This change necessitated a
2858	* win/tclWinTest.c (TestwincpuidCmd)	small burst of assembly code
2859	* win/tclWinTime.c (Tcl_GetTime):	to read CPU ID information,
2860	which was added as TclWinCPUID in the internal Stubs. To test this
2861	code in the common case of a single-processor machine, a
2862	'testwincpuid' command was added to tclWinTest.c, and a test case in
2863	platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for
2864	reporting this bug. [Bug 976722]
2865
28662004-06-04  Don Porter	<dgp@users.sourceforge.net>
2867
2868	* generic/tcl.h:	Restored #include <stdio.h> to tcl.h,
2869	rejecting the "fix" for "Bug" 945570. Tcl_FSSeek() needs the values of
2870	SEEK_SET, etc. and too many extensions rely on tcl.h providing stdio.h
2871	for them.
2872
28732004-06-02  Jeff Hobbs	<jeffh@ActiveState.com>
2874
2875	* win/tclWinFile.c (TclpFindExecutable): when using GetModuleFileNameA
2876	(Win9x), convert from CP_ACP to WCHAR then convert back to utf-8.
2877	Adjunct to 2004-04-07 fix.
2878
28792004-06-02  David Gravereaux <davygrvy@pobox.com>
2880
2881	* tests/winPipe.test (winpipe-6.1): blocking set to 1 before closing
2882	to ensure we get an exitcode. The windows pipe channel driver doesn't
2883	differentiate between a blocking and non-blocking close just yet, but
2884	will soon. Part of [Bug 947693]
2885
28862004-06-02  Vince Darley  <vincentdarley@users.sourceforge.net>
2887
2888	* doc/file.n: fix to documentation of 'file volumes' (Bug 962435)
2889
28902004-06-01  David Gravereaux <davygrvy@pobox.com>
2891
2892	* win/makefile.vc: check for either MSDEVDIR or MSVCDIR being in the
2893	environment, for VC7. [Bug 942214]
2894
2895	* generic/tclIO.c (Tcl_SetChannelOption): -buffersize wasn't
2896	understanding hexidecimal notation nor was reporting number conversion
2897	errors. The behavior to silently ignore settings outside the
2898	acceptable range of Tcl_SetChannelBufferSize (<10 or >1M) is
2899	unchanged. This silent ignoring behavior might be up for review soon.
2900
29012004-05-30  David Gravereaux <davygrvy@pobox.com>
2902
2903	* win/tclWinPipe.c:
2904	* win/tclWinPort.h:  Reworked the win implementation of Tcl_WaitPid to
2905	support exitcodes in the 'signed short' range. Even though this range
2906	is non-portable, it is valid on windows. Detection of exception codes
2907	are now more accurate. Previously, an application that exited with
2908	ExitProcess((DWORD)-1); was improperly reported as exiting with
2909	SIGABRT.
2910
29112004-05-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2912
2913	* generic/tclInterp.c: Added comments describing the purposes of each
2914	function in the limit implementation and rewrote the names of some
2915	non-public functions for greater clarity of purpose.
2916	* doc/interp.n: Added note about what happens when a limited
2917	interpreter creates a slave interpreter.
2918	* doc/Limit.3: Added manual page for the resource limit subsystem's C
2919	API. [Bug 953903]
2920
29212004-05-29  Joe English	 <jenglish@users.sourceforge.net>
2922
2923	* doc/global.n, doc/interp.n, doc/lrange.n: Fix minor markup errors.
2924
29252004-05-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2926
2927	* doc/*.n: Added examples to many (too many to list) more man pages.
2928
29292004-05-25  Miguel Sofer <msofer@users.sf.net>
2930
2931	* generic/tclExecute.c:
2932	* generic/tclVar.c: using (ptrdiff_t) instead of (int) casting to
2933	correct compiler warnings [Bug 961657], reported by Bob Techentin.
2934
29352004-05-27  Kevin B. Kenny  <kennykb@acm.org>
2936
2937	* tests/clock.test: Added a single test for the presence of %G in
2938	[clock format], and conditioned out the clock-10.x series if they're
2939	all going to fail because of a broken strftime() call. [Bug 961714]
2940
29412004-05-27  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2942
2943	* generic/tclHash.c (CompareStringKeys): Added #ifdef to allow people
2944	to instruct this function to use strcmp(). [FRQ 951168]
2945
2946	* generic/tclVar.c: Moved declarations into #if guards so they only
2947	happen when required.
2948	* unix/tclUnixPort.h: Guard declaration of strtod() so it is only
2949	enabled when we don't have a declaration in stdlib.h
2950	* unix/tclUnixThrd.c (Tcl_CreateThread):	Added declarations
2951	* unix/tclUnixTest.c (AlarmHandler):		and casts so that
2952	* unix/tclUnixChan.c (TtyModemStatusStr):	all functions are
2953	* generic/tclScan.c (Tcl_ScanObjCmd):		defined before use
2954	* generic/tclDictObj.c (InvalidateDictChain):	and no cross-type
2955	* generic/tclCmdMZ.c (Tcl_StringObjCmd):	uses are performed.
2956
2957	The overall effect is to make building with gcc with the additional
2958	flags -Wstrict-prototypes -Wmissing-prototypes produce no increase in
2959	the total number of warnings (except for main(), which is undeclared
2960	for traditional reasons.)
2961
29622004-05-26  Jeff Hobbs	<jeffh@ActiveState.com>
2963
2964	* unix/Makefile.in:  Rework configure ordering to TCL_LINK_LIBS,
2965	* unix/tcl.m4:	     ENABLE_SHARED, CONFIG_CFLAGS, & ENABLE_SYMBOLS
2966	* unix/configure:    before TCL_EARLY_FLAGS and TCL_64BIT_FLAGS
2967	* unix/configure.in: (about 400 lines earlier) in configure.in. This
2968	forces CFLAGS configuration to be done before many tests, which is
2969	needed for 64-bit builds and may affect other builds. Also make
2970	CONFIG_CFLAGS append to CFLAGS directly instead of using EXTRA_CFLAGS,
2971	and have LDFLAGS append to any existing value. [Bug 874058]
2972	* unix/dltest/Makefile.in: change EXTRA_CFLAGS to DEFS
2973
29742004-05-26  Don Porter	<dgp@users.sourceforge.net>
2975
2976	* library/tcltest/tcltest.tcl:	Correction to debug prints and testing
2977	* library/tcltest/pkgIndex.tcl:	if TCLTEST_OPTIONS value. Corrected
2978	* tests/tcltest.test:		double increment of numTestFiles in
2979	-singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1
2980	behavior. Corrected tcltest-25.3 to not falsely report a failure in
2981	tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926]
2982
29832004-05-25  Jeff Hobbs	<jeffh@ActiveState.com>
2984
2985	* doc/http.n (http::config): add -urlencoding option (default utf-8)
2986	* library/http/http.tcl:     that specifies encoding conversion of
2987	* library/http/pkgIndex.tcl: args for http::formatQuery. Previously
2988	* tests/http.test:	     undefined, RFC 2718 says it should be
2989	utf-8. 'http::config -urlencoding {}' returns previous behavior, which
2990	will throw errors processing non-latin-1 chars. Bumped http package to
2991	2.5.0.
2992
29932004-05-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2994
2995	* generic/tclInterp.c (DeleteScriptLimitCallback): Move all deletion
2996	of script callback hash table entries to happen here so the entries
2997	are correctly removed at the right time. [Bug 960410]
2998
29992004-05-25  Miguel Sofer <msofer@users.sf.net>
3000
3001	* docs/global.n: added details for qualified variable names [Bug
3002	959831]
3003
30042004-05-25  Miguel Sofer <msofer@users.sf.net>
3005
3006	* generic/tclNamesp.c (Tcl_FindNamespaceVar):
3007	* tests/namespace.test (namespace-17.10-12): reverted commit of
3008	2004-05-23 and removed the tests, as it interferes with the varname
3009	resolver and there are apps that break (AlphaTk). A fix will have to
3010	wait for Tcl9.
3011
3012	* generic/tclVar.c: Caching of namespace variables disabled: no simple
3013	way was found to avoid interfering with the resolver's idea of
3014	variable existence. A cached varName may keep a variable's name in the
3015	namespace's hash table, which is the resolver's criterion for
3016	existence.
3017
3018	* tests/namespace.c (namespace-17.10): testing for interference
3019	between varname caching and name resolver.
3020
30212004-05-25  Kevin Kenny	 <kennykb@acm.org>
3022
3023	* tests/winFCmd.test: Correct test for the presence of a CD-ROM so
3024	that it doesn't misdetect some other sort of filesystem with a
3025	write-protected root as being a CD-ROM drive. [Bug 918267]
3026
30272004-05-25  Don Porter	<dgp@users.sourceforge.net>
3028
3029	* tests/winPipe.test:	Protect against path being set
3030	* tests/unixInit.test:	Unset path when done.
3031	* tests/unload.test (unload-3.1): Verify [pkgb_sub] does not exist.
3032	Delete interps when done.
3033	* tests/stringComp.test:	stop re-use of string.test test names
3034	* tests/regexpComp.test:	stop re-use of regexp.test test names
3035	* tests/namespace.test (namespace-46.3): Verify [p] does not exist.
3036	* tests/http.test:	Clear away the custom [bgerror] when done.
3037	* tests/io.test:	Take care to use namespace variables.
3038	* tests/autoMkindex.test (autoMkindex-5.2): Use variable "result"
3039	that gets cleaned up.
3040	* tests/exec.test:	Clean up the "path" array.
3041	* tests/interp.test (interp-9.3): Initialize res, so prior values
3042	cannot make the test fail.
3043	* tests/execute.test (execute-8.1):  Updated to remove the trace set
3044	on ::errorInfo. When left in place, that trace can cause later tests
3045	to fail.
3046
30472004-05-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3048
3049	* generic/tclBasic.c: Removed references to Tcl_RenameCommand from
3050	* generic/tcl.h:      comments. [Bug 848440, second part]
3051
3052	* tests/fCmd.test: Rewrote tests that failed consistently on NFS so
3053	they either succeed (through slightly more liberal matching of the
3054	results) or are constrained to not run. [Bug 931312]
3055
3056	* doc/bgerror.n: Use idiomatic open flags for working with log
3057	files. [Bug 959602]
3058
30592004-05-24  Jeff Hobbs	<jeffh@ActiveState.com>
3060
3061	* generic/tclExecute.c (VerifyExprObjType): use GET_WIDE_OR_INT to
3062	properly have tclIntType used for smaller values. This corrects [TclX
3063	Bug 896727] and any other 3rd party extension that created math
3064	functions but was not yet WIDE_INT aware in them.
3065
30662004-05-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3067
3068	* generic/tclInterp.c (TclInitLimitSupport): Made limits work on
3069	platforms where sizeof(void*)!=sizeof(int). [Bug 959193]
3070
30712004-05-24 Miguel Sofer <msofer@users.sf.net>
3072
3073	* doc/set.n: accurate description of name resolution process,
3074	referring to namespace.n for details [Bug 959180]
3075
30762004-05-23  Miguel Sofer <msofer@users.sf.net>
3077
3078	* generic/tclNamesp.c (Tcl_FindNamespaceVar): [Bug 959052] fixed,
3079	insuring that no "zombie" variables are found.
3080	* generic/tclVar.c (TclLookupSimpleVar): comments re [Bug 736729]
3081	(predecessor of [Bug 959052]) removed.
3082	* tests/namespace.test: added tests 17.10-12
3083
3084	The patch modifies non-documented behaviour, and passes every test in
3085	the testsuite. However, scripts relying on the old behaviour may
3086	break.
3087	Note that the only behaviour change concerns the creative writing of
3088	unset variables. More precisely, which variable will be created when
3089	neither a namespace variable nor a global variable by that name
3090	exists, as defined by [info vars]. The new behaviour is that the
3091	namespace resolution process deems a variable to exist exactly when
3092	[info vars] finds it - ie, either it has value, or else it was "fixed"
3093	by a call to [variable].
3094	Note: this patch was removed on 2002-05-25.
3095
30962004-05-22  Miguel Sofer <msofer@users.sf.net>
3097
3098	* generic/tclVar.c (TclObjLookupVar, TclObjUnsetVar2): fix for new (in
3099	tcl8.4) exteriorisations of [Bug 736729] due to the use of
3100	tclNsVarNameType obj types. Reenabling the use of this objType ("VAR
3101	ref absolute" benchmark down to 66 ms, from 230). Added comments in
3102	TclLookupSimpleVar explaining my current understanding of [Bug
3103	736729].
3104
31052004-05-22  Miguel Sofer <msofer@users.sf.net>
3106
3107	* generic/tclVar.c: fix for [Bug 735335]. The use of tclNsVarNameType
3108	objs is still disabled, pending resolution of [Bug 736729].
3109
31102004-05-21  Miguel Sofer <msofer@users.sf.net>
3111
3112	* tests/namespace.test (namespace-41.3): removed the {knownBug}
3113	constraint: [Bug 231259] is closed since nov 2001, and the fix of [Bug
3114	729692] (INST_START_CMD) makes the test succeed.
3115
31162004-05-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3117
3118	* generic/tclExecute.c (TclExecuteByteCode): Move a few declarations a
3119	short distance so pre-C99 compilers can cope. Also fix so
3120	TCL_COMPILE_DEBUG path compiles...
3121
31222004-05-21  Miguel Sofer <msofer@users.sf.net>
3123
3124	* generic/tclExecute.c (TclExecuteByteCode): reorganised TEBC
3125	automatic variables, defining them in tight blocks instead of at the
3126	function level. This has three purposes:
3127	- it simplifies the analysis of individual instructions
3128	- it is preliminary work to the non-recursive engine
3129	- it allows a better register allocation by the optimiser; under
3130	gcc3.3, this results in up to 10% runtime in some tests
3131
31322004-05-20  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3133
3134	* generic/tclInterp.c (TclLimitRemoveAllHandlers):
3135	* generic/tclBasic.c (DeleteInterpProc):
3136	* tests/interp.test (interp-34.7): Ensure that all limit callbacks are
3137	deleted when their interpreters are deleted. [Bug 956083]
3138
31392004-05-19  Kevin B. Kenny  <kennykb@acm.org>
3140
3141	* win/tclWinFile.c (TclpMatchInDirectory): fix for an issue where
3142	there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The
3143	result was that the error code could be reset between a call to
3144	FindFirstFileEx and the check of its status return, leading to a
3145	bizarre error return of {POSIX unknown {No error}}. (Found in
3146	unplanned test - no incident logged at SourceForge.)
3147
31482004-05-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3149
3150	* tests/interp.test (interp-34.3): Rewrite this test to see if a time
3151	limit can catch a tight bytecode loop, a maximally aggressive
3152	denial-of-service attack.
3153	* generic/tclInterp.c (Tcl_LimitCheck): Fix the sense of checks to see
3154	whether a time limit has been extended.
3155
3156	* tests/*.test: Many minor fixes, including ensuring that every test
3157	is run (so constraints control whether the test is doing anything) and
3158	making sure that constraints are always set using the API instead of
3159	poking around inside tcltest's internal datastructures. Also got rid
3160	of all trailing whitespace lines from the test suite!
3161
31622004-05-19  Andreas Kupries  <andreask@activestate.com>
3163
3164	* generic/tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem
3165	* generic/tclIO.h: as [SF Tcl Bug 462317], see ChangeLog entry
3166	2001-09-26. The fix done at that time is incomplete. It is possible to
3167	get around it if the actual read operation is defered and not executed
3168	in the event handler itself. Instead of tracking if we are in an read
3169	caused by a synthesized fileevent we now track if the OS has delivered
3170	a true event = actual data and bypass the driver if a read finds that
3171	there is no actual data waiting. The flag is cleared by a short or
3172	full read.
3173
3174	***POTENTIAL INCOMPATIBILITY*** for channel drivers.
3175
31762004-05-17  Vince Darley  <vincentdarley@users.sourceforge.net>
3177
3178	* generic/tclPathObj.c: fix to (Bug 956063) in 'file dirname'.
3179	* tests/cmdAH.test: added test for this bug.
3180
3181	* doc/FileSystem.3: better documentation of refCount requirements of
3182	some FS functions (Bug 956126)
3183
31842004-05-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3185
3186	* generic/tclTest.c (TestgetintCmd): Made the tests in get.test check
3187	* tests/get.test:		     Tcl_GetInt() since the core now
3188					     avoids that function.
3189
31902004-05-18  Kevin B. Kenny  <kennykb@acm.org>
3191
3192	* compat/strftime.c (_fmt, ISO8601Week):
3193	* doc/clock.n:
3194	* tests/clock.test: Major rework to the handling of ISO8601 week
3195	numbers. Now passes all the %G and %V test cases on Windows, Linux and
3196	Solaris [Bugs 500285, 500389, and 852944]
3197
31982004-05-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3199
3200	* doc/append.n, doc/upvar.n: Added example.
3201
32022004-05-18  David Gravereaux <davygrvy@pobox.com>
3203
3204	* win/makefile.vc: now generates a tclConfig.sh from Pat Thoyts [Patch
3205	909911]
3206
32072004-05-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3208
3209	* doc/lsearch.n: Improve clarity (based on [Patch 955361] by Peter
3210	Spjuth)
3211
3212	* tools/man2help2.tcl (macro,SHmacro): Added support for subsection
3213	(.SS) header macros.
3214
3215	* doc/interp.n: Added user documentation for the TIP#143 resource
3216	limits and some examples.
3217
3218	* generic/tclInterp.c (Tcl_LimitCheck, Tcl_LimitTypeReset): Reset the
3219	limit-exceeded flag when removing a limit.
3220
32212004-05-18  Miguel Sofer <msofer@users.sf.net>
3222
3223	* generic/tclExecute.c (TclExecuteByteCode): added comments to
3224	classify the variables according to their use in TEBC.
3225
32262004-05-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3227
3228	* doc/global.n, doc/uplevel.n: Added an example.
3229
3230	* tests/info.test (info-3.1): Corrected test result back to what it
3231	used to be in Tcl 7.* now that command counts are being correctly kept
3232
3233	* generic/tclExecute.c (TEBC:INST_START_CMD): Make sure that the
3234	command-count is always advanced. Allows TIP#143 limits to tell that
3235	work is being done.
3236
3237	* doc/list.n: Updated example to fit with the unified format.
3238	* doc/seek.n: Added some examples.
3239
32402004-05-17  Vince Darley  <vincentdarley@users.sourceforge.net>
3241
3242	* win/tclWinFile.c:
3243	* tests/cmdAH.test: fix to (Bug 954263) where 'file executable' was
3244	case-sensitive.
3245
32462004-05-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3247
3248	* doc/OpenFileChnl.3: Documented type of 'offset' argument to Tcl_Seek
3249	was wrong. [Bug 953374]
3250
32512004-05-16  Miguel Sofer <msofer@users.sf.net>
3252
3253	* generic/tclExecute.c (TclExecuteByteCode): remove one level of
3254	indirection for compiledLocals addressing.
3255
32562004-05-16  Miguel Sofer <msofer@users.sf.net>
3257
3258	* generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored
3259	(DE)CACHE_STACK_INFO pair around the call - the user defined math
3260	function could cause a recursive call to TEBC.
3261
32622004-05-16  Miguel Sofer <msofer@users.sf.net>
3263
3264	* generic/tclBasic.c (Tcl_DeleteInterp):
3265	* generic/tclExecute.c (INST_START_CMD): interp deletion now modifies
3266	the compileEpoch, eliminating the need for the check for interp
3267	deletion in INST_START_CMD.
3268
32692004-05-16  Miguel Sofer <msofer@users.sf.net>
3270
3271	* generic/tclCompile.h:
3272	* generic/tclCompile.c:
3273	* generic/tclExecute.c: changed implementation of {expand}, last
3274	chance while in alpha as ...
3275
3276	***POTENTIAL INCOMPATIBILITY***
3277	Scripts precompiled with ProComp under previous tcl8.5a versions may
3278	malfunction due to changed instruction numbers for
3279	INST_LIST_INDEX_IMM, INST_LIST_RANGE_IMM and INST_START_CMD.
3280
32812004-05-14  Kevin B. Kenny  <kennykb@acm.org>
3282
3283	* generic/tclInt.decls:	     Promoted TclpLocaltime and TclpGmtime
3284	* generic/tclIntDecls.h:     from Unix-specific stubs to the generic
3285	* generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs'
3286	* generic/tclStubInit.c:
3287	* unix/tclUnixPort.h:
3288
3289	* generic/tclClock.c: Changed a buggy 'GMT' timezone specification
3290			      to the correct 'GMT0'. [Bug 922848]
3291
3292	* unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to
3293			      unix/tclUnixTime.c where they belong.
3294
3295	* unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone,
3296			      ThreadSafeGMTime [removed],
3297			      ThreadSafeLocalTime [removed],
3298			      SetTZIfNecessary, CleanupMemory):
3299	Restructured to make sure that the same mutex protects all calls to
3300	localtime, gmtime, and tzset. Added a check in front of those calls to
3301	make sure that the TZ env var hasn't changed since the last call to
3302	tzset, and repeat tzset if necessary. [Bug 942078] Removed a buggy
3303	test of the Daylight Saving Time information in 'gettimeofday' in
3304	favor of applying 'localtime' to a known value. [Bug 922848]
3305
3306	* tests/clock.test (clock-3.14): Added test to make sure that changes
3307	to $env(TZ) take effect immediately.
3308
3309	* win/tclWinTime.c (TclpLocaltime, TclpGmtime): Added porting layer
3310	for 'localtime' and 'gmtime' calls.
3311
33122004-05-14  Miguel Sofer <msofer@users.sf.net>
3313
3314	* generic/tclExecute.c:
3315	* generic/tclCompile.h: the math functions receive a pointer to top of
3316	the stack (tosPtr) instead of the execution environment (eePtr). First
3317	step towards a change in the execution stack management - it is now
3318	only used within TEBC.
3319
33202004-05-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3321
3322	TIP#143 IMPLEMENTATION
3323
3324	* generic/tclExecute.c (TclCompEvalObj, TclExecuteByteCode):
3325	* generic/tclBasic.c (TclEvalObjvInternal): Enable limit checking.
3326	* generic/tclInterp.c (Tcl_Limit*): Public limit API.
3327	* generic/tcl.decls:
3328	* tests/interp.test: Basic tests of command limits.
3329
3330	* doc/binary.n:		TIP#129 IMPLEMENTATION [Patch 858211]
3331	* generic/tclBinary.c:	Note that the test suite probably has many more
3332	* tests/binary.test:	failures now due to alterations in constraints.
3333
33342004-05-12  Miguel Sofer <msofer@users.sf.net>
3335
3336	Optimisations for INST_START_CMD [Bug 926164].
3337	* generic/tclCompile.c (TclCompileScript): avoid emitting
3338	INST_START_CMD as the first instruction in a bytecoded Tcl_Obj. It is
3339	not needed, as the checks are done before calling TEBC.
3340	* generic/tclExecute.c (TclExecuteByteCode): runtime peephole
3341	optimisation: check at INST_POP if the next instruction is
3342	INST_START_CMD, in which case we fall through.
3343
33442004-05-11  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3345
3346	* doc/split.n, doc/join.n: Updated examples and added more.
3347
33482004-05-11  Vince Darley  <vincentdarley@users.sourceforge.net>
3349
3350	* doc/glob.n: documented behaviour of symbolic links with 'glob -types
3351	d' (Bug 951489)
3352
33532004-05-11  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3354
3355	* doc/scan.n: Updated the examples to be clearer about their relevance
3356	to the scan command.
3357
33582004-05-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3359
3360	* doc/scan.n: Added examples.
3361
33622004-05-10  David Gravereaux <davygrvy@pobox.com>
3363
3364	* win/tclWinPipe.c (BuildCommandLine): Moved non-obvious appending
3365	logic to outside the loop and added commentary for its purpose. Also
3366	use the existence of contents in the linePtr rather than the scratch
3367	DString post the append, as this more clear.
3368
3369	(TclpCreateProcess): When under NT, with no console, and executing a
3370	DOS application, the path priming does not need an ending space as
3371	BuildCommandLine() will do this for us.
3372
33732004-05-08  Vince Darley  <vincentdarley@users.sourceforge.net>
3374
3375	* generic/tclFileName.c:
3376	* generic/tclIOUtil.c: remove some compiler warnings on MacOS X.
3377
33782004-05-07  Chengye Mao <chengye.geo@yahoo.com>
3379
3380	* win/tclWinPipe.c: refixed bug 789040 re-entered in rev 1.41. Let's
3381	be careful and don't re-enter previously fixed bugs.
3382
33832004-05-08  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3384
3385	* doc/format.n: Added examples.
3386
33872004-05-07  Miguel Sofer <msofer@users.sf.net>
3388
3389	* doc/unset.n: added upvar.n to the "see also" list
3390
33912004-05-07  Reinhard Max  <max@suse.de>
3392
3393	* generic/tclEncoding.c:
3394	* tests/encoding.test: added support and tests for translating
3395	embedded null characters between real nullbytes and the internal
3396	representation on input/output [Bug 949905].
3397
33982004-05-07  Vince Darley  <vincentdarley@users.sourceforge.net>
3399
3400	* generic/tclFileName.c:
3401	* generic/tclIOUtil.c:
3402	* generic/tclFileSystem.h:
3403	* tests/fileSystem.test: fix for [Bug 943995], in which vfs-registered
3404	root volumes were not handled correctly as glob patterns in all
3405	circumstances.
3406
34072004-05-06  Miguel Sofer <msofer@users.sf.net>
3408
3409	* generic/tclInt.h:
3410	* generic/tclObj.c (TclFreeObj): made TclFreeObj use the new macro
3411	TclFreeObjMacro(), so that the allocation and freeing of Tcl_Obj is
3412	defined in a single spot (the macros in tclInt.h), with the exception
3413	of the TCL_MEM_DEBUG case.
3414	The #ifdef logic for the corresponding macros has been reformulated to
3415	make it clearer.
3416
34172004-05-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3418
3419	* doc/break.n, doc/continue.n, doc/for.n, doc/while.n: More examples.
3420
34212004-05-05  Don Porter	<dgp@users.sourceforge.net>
3422
3423	* tests/unixInit.test (unixInit-2.10):	Test correction for Mac OSX.
3424	Be sure to consistently compare normalized path names. Thanks to
3425	Steven Abner (tauvan). [Bug 948177]
3426
34272004-05-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3428
3429	* doc/CrtObjCmd.3: Remove reference to Tcl_RenameCommand; there is no
3430	such API. [Bug 848440]
3431
34322004-05-05  David Gravereaux <davygrvy@pobox.com>
3433
3434	* win/tclWinSock.c (SocketEventProc) : connect errors should fire both
3435	the readable and writable handlers because this is how it works on
3436	UNIX [Bug 794839]
3437
3438	* generic/tclEncoding.c (TclFinalizeEncodingSubsystem):
3439	FreeEncoding(systemEncoding); moved to before the hash table iteration
3440	as it was causing a double free attempt under some conditions.
3441
3442	* win/coffbase.txt: Added the tls extension to the list of preferred
3443	load addresses.
3444
34452004-05-04  Jeff Hobbs	<jeffh@ActiveState.com>
3446
3447	* tests/fileSystem.test (filesystem-1.39): replace 'file volumes'
3448	* tests/fileName.test (filename-12.9,10):  lindex with direct C:/
3449	hard-coded because A:/ was being used and that is empty for most.
3450
3451	* tests/winFCmd.test (winFCmd-16.12): test volumerelative $HOME
3452
34532004-05-04  Don Porter	<dgp@users.sourceforge.net>
3454
3455	* generic/tclAlloc.c:		Make sure Tclp*Alloc* routines get
3456	* generic/tclInt.h:		declared in the TCL_MEM_DEBUG and
3457	* generic/tclThreadAlloc.c:	TCL_THREADS configuration. [Bug 947564]
3458
3459	* tests/tcltest.test:	Test corrections for Mac OSX. Thanks to Steven
3460	Abner (tauvan). [Bug 947440]
3461
34622004-05-04  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3463
3464	* generic/tclEvent.c (TclSetLibraryPath): Suppress a warning.
3465
34662004-05-03  Andreas Kupries  <andreask@activestate.com>
3467
3468	* Applied [Patch 868853], fixing a mem leak in TtySetOptionProc.
3469	Report and Patch provided by Stuart Cassoff <stwo@users.sf.net>.
3470
34712004-05-03  Miguel Sofer <msofer@users.sf.net>
3472
3473	* generic/tclProc.c (TclCreateProc): comments corrected.
3474
34752004-05-03  Miguel Sofer <msofer@users.sf.net>
3476
3477	* generic/tclCompile.c (TclCompileScript): setting the compilation
3478	namespace outside of the loop.
3479
34802004-05-03  Miguel Sofer <msofer@users.sf.net>
3481
3482	* generic/tclCompile.c:
3483	* generic/tclInt.h: reverted fix for [Bug 926445] of 2004-04-02,
3484	restoring TCL_ALIGN to the header file. Todd Helfter reported that the
3485	macro is required by tbcload.
3486
34872004-05-03  Kevin Kenny	 <kennykb@acm.org>
3488
3489	* win/tclWin32Dll.c (TclpCheckStackSpace):
3490	* tests/stack.test (stack-3.1): Fix for undetected stack overflow in
3491	TclReExec on Windows. [Bug 947070]
3492
34932004-05-03  Don Porter	<dgp@users.sourceforge.net>
3494
3495	* library/init.tcl:	Corrected unique prefix matching of
3496	interactive command completion in [unknown]. [Bug 946952]
3497
34982004-05-02  Miguel Sofer <msofer@users.sf.net>
3499
3500	* generic/tclProc.c (TclObjInvokeProc):
3501	* tests/proc.test (proc-3.6): fix for bad quoting of multi-word proc
3502	names in error messages [Bug 942757]
3503
35042004-04-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3505
3506	* doc/glob.n, doc/incr.n, doc/set.n:	More examples.
3507	* doc/if.n, doc/rename.n, doc/time.n:
3508
35092004-04-30  Don Porter	<dgp@users.sourceforge.net>
3510
3511	* generic/tclInt.h:		Replaced Kevin Kenny's temporary
3512	* generic/tclThreadAlloc.c:	fix for Bug 945447 with a cleaner,
3513	more permanent replacement.
3514
35152004-04-30  Kevin B. Kenny   <kennykb@acm.org>
3516
3517	* generic/tclThreadAlloc.c: Added a temporary (or so I hope!)
3518	inclusion of "tclWinInt.h" to avoid problems when compiling on
3519	Win32-VC++ with --enable-threads. [Bug 945447]
3520
35212004-04-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3522
3523	* doc/puts.n: Added a few examples.
3524
35252004-04-29  Don Porter	<dgp@users.sourceforge.net>
3526
3527	* tests/execute.test (execute-8.2):	Avoid crashes when there is
3528	limited system stack space (threads-enabled).
3529
35302004-04-28  Miguel Sofer <msofer@users.sf.net>
3531
3532	* doc/global.n:
3533	* doc/upvar.n:
3534	* generic/tclVar.c (ObjMakeUpvar):
3535	* tests/upvar.test (upvar-8.11):
3536	* tests/var.test (var-3.11): Avoid creation of unusable variables:
3537	[Bug 600812] [TIP 184].
3538
35392004-04-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3540
3541	* doc/lsearch.n: Fixed fault in documentation of -index option [943448]
3542
35432004-04-26  Don Porter	<dgp@users.sourceforge.net>
3544
3545	* unix/tclUnixFCmd.c (TclpObjNormalizePath):  Corrected improper
3546	positioning of returned checkpoint. [Bug 941108]
3547
35482004-04-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3549
3550	* doc/open.n, doc/close.n: Updated (thanks to David Welton) to be
3551	clearer about pipeline errors and added example to open(n) that shows
3552	simple pipeline use. [Patches 941377,941380]
3553
3554	* doc/DictObj.3: Added warning about the use of Tcl_DictObjDone and an
3555	example of use of iteration. [Bug 940843]
3556
3557	* doc/Thread.3: Reworked to remove references to testing interfaces
3558	and instead promote the use of the Thread package. [Patch 932527]
3559	Also reworked and reordered the page for better readability.
3560
35612004-04-25  Don Porter	<dgp@users.sourceforge.net>
3562
3563	* generic/tcl.h:	Removed obsolete declarations and #include's.
3564	* generic/tclInt.h:	[Bugs 926459, 926486]
3565
35662004-04-24  David Gravereaux <davygrvy@pobox.com>
3567
3568	* win/tclWin32Dll.c (DllMain): Added DisableThreadLibraryCalls() for
3569	the DLL_PROCESS_ATTACH case. We're not interested in knowing about
3570	DLL_THREAD_ATTACH, so disable the notices.
3571
35722004-04-24  Daniel Steffen  <das@users.sourceforge.net>
3573
3574	* generic/tclPort.h:
3575	* macosx/Makefile:
3576	* unix/Makefile.in: followup on tcl header reform [FR 922727]: removed
3577	use of relative #include paths in tclPort.h to allow installation of
3578	private headers outside of tcl source tree; added 'unix' dir to
3579	compiler header search path; add newly required tcl private headers to
3580	Tcl.framework on Mac OSX.
3581
35822004-04-23  Andreas Kupries  <andreask@activestate.com>
3583
3584	* generic/tclIO.c (Tcl_SetChannelOption): Fixed [SF Tcl Bug 930851].
3585	When changing the eofchar we have to zap the related flags to prevent
3586	them from prematurely aborting the next read.
3587
35882004-04-25  Vince Darley  <vincentdarley@users.sourceforge.net>
3589
3590	* generic/tclPathObj.c: fix to [Bug 940281]. Tcl_FSJoinPath will now
3591	always return a valid Tcl_Obj when the input is valid.
3592	* generic/tclIOUtil.c: fix to [Bug 931823] for a more consistent
3593	Tcl_FSPathSeparator() implementation which allows filesystems not to
3594	implement their Tcl_FSFilesystemSeparatorProc if they wish to use the
3595	default '/'. Also fixed associated memory leak seen with, e.g., tclvfs
3596	package.
3597	* doc/FileSystem.3: documented Tcl_FSJoinPath return values more
3598	clearly, and Tcl_FSFilesystemSeparatorProc requirements.
3599
36002004-04-23  David Gravereaux <davygrvy@pobox.com>
3601
3602	* win/tclWin32Dll.c: Removed my mistake from 4/19 of adding an exit
3603	handler to TclWinInit. TclWinEncodingsCleanup called from
3604	TclFinalizeFilesystem does the Tcl_FreeEncoding for us.
3605
3606	* win/tclWinChan.c (Tcl_MakeFileChannel): Case for CloseHandle
3607	returning zero and not throwing a
3608	RaiseException(EXCEPTION_INVALID_HANDLE) now being done.
3609
36102004-04-22  David Gravereaux <davygrvy@pobox.com>
3611
3612	* generic/tclEvent.c: TclSetLibraryPath's use of caching the stringrep
3613	of the pathPtr object to TclGetLibraryPath called from another thread
3614	was ineffective if the original's stringrep had been invalidated as
3615	what happens when it gets muted to a list.
3616
3617	* win/tclWinTime.c: If the Tcl_ExitProc (StopCalibration) is called
3618	from the stack frame of DllMain's PROCESS_DETACH, the wait operation
3619	should timeout and continue.
3620
3621	* generic/tclInt.h:
3622	* generic/tclThread.c:
3623	* generic/tclEvent.c:
3624	* unix/tclUnixThrd.c:
3625	* win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock
3626	and joinLock mutexes can be recovered during Tcl_Finalize.
3627
36282004-04-22  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3629
3630	* doc/switch.n: Reworked the examples to be more systematically named
3631	and to cover some TIP#75 capabilities.
3632
3633	* doc/cd.n: Documentation clarification from David Welton.
3634
3635	* doc/exec.n: Added some examples, Windows ones from Arjen Markus and
3636	Unix ones by myself.
3637
36382004-04-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3639
3640	* doc/Hash.3: Added note to Tcl_{First,Next}HashEntry docs that
3641	deleting the element they return is supported (and is in fact the only
3642	safe update you can do to the structure of a hashtable while an
3643	iteration is going over it.)
3644
3645	* doc/bgerror.n: Added example from David Welton. [Patch 939473]
3646
3647	* doc/after.n: Added examples from David Welton. [Patch 938820]
3648
36492004-04-19  David Gravereaux <davygrvy@pobox.com>
3650
3651	* win/tclWin32Dll.c: Added an exit handler in TclWinInit() so
3652	tclWinTCharEncoding could be freed during Tcl_Finalize().
3653
3654	* generic/tclEncoding.c: Added FreeEncoding(systemEncoding) in
3655	TclFinalizeEncodingSubsystem because its ref count was incremented in
3656	TclInitEncodingSubsystem.
3657
36582004-04-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3659
3660	* doc/read.n: Added example from David Welton. [Patch 938056]
3661
36622004-04-19  Kevin B. Kenny   <kennykb@acm.org>
3663
3664	* generic/tclObj.c (Tcl_GetDoubleFromObj) Corrected "short circuit"
3665	conversion of int to double. Reported by Jeff Hobbs on the Tcl'ers
3666	Chat.
3667
36682004-04-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3669
3670	* doc/lreplace.n, doc/lrange.n, doc/llength.n:	More examples for
3671	* doc/linsert.n, doc/lappend.n:			the documentation.
3672
36732004-04-16  Vince Darley  <vincentdarley@users.sourceforge.net>
3674
3675	* doc/FileSystem.3: Corrected documentation of Tcl_FSUtime, and the
3676	corresponding filesystem driver Tcl_FSUtimeProc. [Bug 935838]
3677
36782004-04-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3679
3680	* doc/socket.n: Added example from [Patch 936245].
3681	* doc/gets.n: Added example based on [Patch 935911].
3682
36832004-04-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3684
3685	* generic/tclClock.c (Tcl_ClockObjCmd): Minor fault in a [clock
3686	clicks] error message.
3687
36882004-04-07  Jeff Hobbs	<jeffh@ActiveState.com>
3689
3690	* win/tclWinInit.c (TclpSetInitialEncodings): note that WIN32_CE is
3691	also a unicode platform.
3692	* generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable):
3693	* generic/tclInt.h:			    Correct handling of UTF
3694	* unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually
3695	* win/tclWinFile.c (TclpFindExecutable):    "clean", allowing the
3696	* win/tclWinInit.c (TclpInitLibraryPath):   loading of Tcl from paths
3697	that contain multi-byte chars on Windows [Bug 920667]
3698
3699	* win/configure:    define TCL_LIB_FLAG, TCL_BUILD_LIB_SPEC,
3700	* win/configure.in: TCL_LIB_SPEC, TCL_PACKAGE_PATH in tclConfig.sh.
3701
37022004-04-06  Don Porter	<dgp@users.sourceforge.net>
3703
3704	Patch 922727 committed.	 Implements three changes:
3705
3706	* generic/tclInt.h:	Reworked the Tcl header files into a clean
3707	* unix/tclUnixPort.h:	hierarchy where tcl.h < tclPort.h < tclInt.h
3708	* win/tclWinInt.h:	and every C source file should #include
3709	* win/tclWinPort.h:	at most one of those files to satisfy its
3710	declaration needs. tclWinInt.h and tclWinPort.h also better organized
3711	so that tclWinPort.h includes the Windows implementation of
3712	cross-platform declarations, while tclWinInt.h makes declarations that
3713	are available on Windows only.
3714
3715	* generic/tclBinary.c (TCL_NO_MATH):	Deleted the generic/tclMath.h
3716	* generic/tclMath.h (removed):		header file. The internal Tcl
3717	* macosx/Makefile (PRIVATE_HEADERS):	header, tclInt.h, has a
3718	* win/tcl.dsp:				#include <math.h> directly,
3719	and file external to Tcl needing libm should do the same.
3720
3721	* win/Makefile.in (WIN_OBJS):	Deleted the win/tclWinMtherr.c file.
3722	* win/makefile.bc (TCLOBJS):	It's a vestige from matherr() days
3723	* win/makefile.vc (TCLOBJS):	gone by.
3724	* win/tcl.dsp:
3725	* win/tclWinMtherr.c (removed):
3726
3727	End Patch 922727.
3728
3729	* tests/unixInit.test (unixInit-3.1):	Default encoding on Darwin
3730	systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808]
3731
37322004-04-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3733
3734	* tests/cmdAH.test (cmdAH-18.2): Added constraint because
3735	access(...,X_OK) is defined to be permitted to be meaningless when
3736	running as root, and OSX exhibits this. [Bug 929892]
3737
37382004-04-02  Miguel Sofer <msofer@users.sf.net>
3739
3740	* generic/tclCompile.c:
3741	* generic/tclInt.h: removed the macro TCL_ALIGN() from tclInt.h,
3742	replaced by the static macro ALIGN() in tclCompile.c [Bug 926445]
3743
37442004-04-02  Miguel Sofer <msofer@users.sf.net>
3745
3746	* generic/tclCompile.h: removed redundant #ifdef _TCLINT [Bug 928415],
3747	reported by tauvan.
3748
37492004-04-02  Don Porter	<dgp@users.sourceforge.net>
3750
3751	* tests/tcltest.test: Corrected constraint typos: "nonRoot" ->
3752	"notRoot". Thanks to Steven Abner (tauvan). [Bug 928353]
3753
37542004-04-01  Don Porter	<dgp@users.sourceforge.net>
3755
3756	* generic/tclInt.h:  Removed obsolete tclBlockTime* declarations. [Bug
3757	926454]
3758
37592004-04-01  Vince Darley  <vincentdarley@users.sourceforge.net>
3760
3761	* generic/tclIOUtil.c: Fix to privately reported vfs bug with 'glob
3762	-type d -dir . *' across a vfs boundary. No tests for this are
3763	currently possible without effectively moving tclvfs into Tcl's test
3764	suite.
3765
37662004-03-31  Don Porter	<dgp@users.sourceforge.net>
3767
3768	* doc/msgcat.n:	Clarified message catalog file encodings. [Bug 811457]
3769	* library/msgcat/msgcat.tcl: Updated internals to make use of [dict]s
3770	to store message catalog data and to use [source -encoding utf-8] to
3771	access catalog files. Thanks to Michael Sclenker. [Patch 875055, RFE
3772	811459] Corrected [mcset] to be able to successfully set a translation
3773	to the empty string. [mcset $loc $src {}] was incorrectly set the $loc
3774	translation of $src back to $src. Also changed [ConvertLocale] to
3775	minimally require a non-empty "language" part in the locale value. If
3776	not, an error raised prompts [Init] to keep looking for a valid locale
3777	value, or ultimately fall back on the "C" locale. [Bug 811461].
3778	* library/msgcat/pkgIndex.tcl:	Bump to msgcat 1.4.1.
3779
37802004-03-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3781
3782	* generic/tclHash.c (HashStringKey): Cleaned up. This function is not
3783	faster, but it is a little bit clearer.
3784	* generic/tclLiteral.c (HashString): Applied logic from HashObjKey.
3785	* generic/tclObj.c (HashObjKey): Rewrote to fix fault which hashed
3786	every single-character object to the same hash bucket. The new code is
3787	shorter, simpler, clearer, and (happily) faster.
3788
37892004-03-30  Miguel Sofer <msofer@users.sf.net>
3790
3791	* generic/tclExecute.c (TEBC): reverting to the previous method for
3792	async tests in TEBC, as the new method turned out to be too costly.
3793	Async tests now run every 64 instructions.
3794
37952004-03-30  Miguel Sofer <msofer@users.sf.net>
3796
3797	* generic/tclCompile.c:	    New instruction code INST_START_CMD that
3798	* generic/tclCompile.h:	    allows checking the bytecode's validity
3799	* generic/tclExecute.c:	    [Bug 729692] and the interp's readyness
3800	* tests/interp.test (18.9): [Bug 495830] before running the command.
3801	* tests/proc.test (7.1):    It also changes the mechanics of the async
3802	* tests/rename.test (6.1):  tests in TEBC, doing it now at command
3803	start instead of every 16 instructions.
3804
38052004-03-30  Vince Darley  <vincentdarley@users.sourceforge.net>
3806
3807	* generic/tclFileName.c:  Fix to Windows glob where the pattern is a
3808	* generic/tclIOUtil.c:	  volume relative path or a network share [Bug
3809	* tests/fileName.test:	  898238]. On windows 'glob' will now return
3810	* tests/fileSystem.test:  the results of 'glob /foo/bar' and 'glob
3811	\\foo\\bar' as 'C:/foo/bar', i.e. a correct absolute path (rather than
3812	a volume relative path).
3813
3814	Note that the test suite does not test commands like
3815	'glob //Machine/Shared/*' (on a network share).
3816
38172004-03-30  Vince Darley  <vincentdarley@users.sourceforge.net>
3818
3819	* generic/tclPathObj.c:	  Fix to filename bugs recently
3820	* tests/fileName.test:	  introduced [Bug 918320].
3821
38222004-03-29  Don Porter	<dgp@users.sourceforge.net>
3823
3824	* generic/tclMain.c (Tcl_Main, StdinProc):	Append newline only
3825	* tests/basic.test (basic-46.1):		to incomplete scripts
3826	as part of multi-line script construction. Do not add an extra
3827	trailing newline to the complete script. [Bug 833150]
3828
38292004-03-28  Miguel Sofer <msofer@users.sf.net>
3830
3831	* generic/tclCompile.c (TclCompileScript): corrected possible segfault
3832	when a compilation returns TCL_OUTLINE_COMPILE after having grown the
3833	compile environment [Bug 925121].
3834
38352004-03-27  Miguel Sofer <msofer@users.sf.net>
3836
3837	* doc/array.n: added documentation for trace-realted behaviour of
3838	'array get' [Bug 449893]
3839
38402004-03-26  Don Porter	<dgp@users.sourceforge.net>
3841
3842	* README:		Bumped version number to 8.5a2 to distinguish
3843	* tools/tcl.wse.in:	HEAD of CVS development from the recent 8.5a1
3844	* unix/configure.in:	release.
3845	* unix/tcl.spec:
3846	* win/README.binary:
3847	* win/configure.in:
3848
3849	* unix/configure:	autoconf-2.57
3850	* win/configure:
3851
38522004-03-26  Vince Darley  <vincentdarley@users.sourceforge.net>
3853
3854	* generic/tclPathObj.c:	  Fix to Windows-only volume relative path
3855	* tests/fileSystem.test:  normalization. [Bug 923568]. Also fixed
3856	another volume relative bug found while testing.
3857
38582004-03-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3859
3860	* generic/tclNamesp.c (NsEnsembleImplementationCmd): Fix messed up
3861	handling of strncmp result which just happened to work in some libc
3862	implementations. [Bug 922752]
3863
38642004-03-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3865
3866	* doc/StringObj.3: Inverted the sense of the documentation of how the
3867	bytes parameter is documented to match behaviour. [Bug 921464]
3868
38692004-03-19  Kevin B. Kenny   <kennykb@acm.org>
3870
3871	* compat/strtoll.c:
3872	* compat/strtoull.c:
3873	* generic/tclIntDecls.h:
3874	* generic/tclMain.c:
3875	* generic/tclObj.c:
3876	* win/tclWinDde.c:
3877	* win/tclWinReg.c:
3878	* win/tclWinTime.c:	   Made HEAD build on Windows VC++ again.
3879
38802004-03-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3881
3882	* generic/tclIntDecls.h: Made HEAD build on Solaris again by applying
3883	fix recommended by Don Porter.
3884
38852004-03-18  Reinhard Max  <max@suse.de>
3886
3887	* generic/tclIntDecls.h: Removed TclpTime_t. It wasn't really needed,
3888	* generic/tclInt.h:	 but caused warnings related to
3889	* generic/tclInt.decls:	 strict aliasing with GCC 3.3.
3890	* generic/tclClock.c:
3891	* generic/tclDate.c:
3892	* generic/tclGetDate.y:
3893	* win/tclWinTime.c:
3894	* unix/tclUnixTime.c:
3895
3896	* generic/tclNamesp.c:	 Added temporary pointer variables to work
3897	* generic/tclStubLib.c:	 around warnings related to
3898	* unix/tclUnixChan.c:	 strict aliasing with GCC 3.3.
3899
3900	* unix/tcl.m4:		 Removed -Wno-strict-aliasing.
3901
39022004-03-18  Daniel Steffen  <das@users.sourceforge.net>
3903
3904	Removed support for Mac OS Classic platform [Patch 918142]
3905
3906	* README:
3907	* compat/string.h:
3908	* doc/Encoding.3:
3909	* doc/FileSystem.3:
3910	* doc/Init.3:
3911	* doc/Macintosh.3 (removed):
3912	* doc/OpenFileChnl.3:
3913	* doc/OpenTcp.3:
3914	* doc/SourceRCFile.3:
3915	* doc/Thread.3:
3916	* doc/clock.n:
3917	* doc/exec.n:
3918	* doc/fconfigure.n:
3919	* doc/file.n:
3920	* doc/filename.n:
3921	* doc/glob.n:
3922	* doc/open.n:
3923	* doc/puts.n:
3924	* doc/resource.n (removed):
3925	* doc/safe.n:
3926	* doc/source.n:
3927	* doc/tclvars.n:
3928	* doc/unload.n:
3929	* generic/README:
3930	* generic/tcl.decls:
3931	* generic/tcl.h:
3932	* generic/tclAlloc.c:
3933	* generic/tclBasic.c:
3934	* generic/tclCmdAH.c:
3935	* generic/tclDate.c:
3936	* generic/tclDecls.h:
3937	* generic/tclFCmd.c:
3938	* generic/tclFileName.c:
3939	* generic/tclGetDate.y:
3940	* generic/tclIOCmd.c:
3941	* generic/tclIOUtil.c:
3942	* generic/tclInitScript.h:
3943	* generic/tclInt.decls:
3944	* generic/tclInt.h:
3945	* generic/tclIntDecls.h:
3946	* generic/tclIntPlatDecls.h:
3947	* generic/tclMain.c:
3948	* generic/tclMath.h:
3949	* generic/tclNotify.c:
3950	* generic/tclPathObj.c:
3951	* generic/tclPlatDecls.h:
3952	* generic/tclPort.h:
3953	* generic/tclStubInit.c:
3954	* generic/tclTest.c:
3955	* generic/tclThreadJoin.c:
3956	* library/auto.tcl:
3957	* library/init.tcl:
3958	* library/package.tcl:
3959	* library/safe.tcl:
3960	* library/tclIndex:
3961	* mac/AppleScript.html (removed):
3962	* mac/Background.doc (removed):
3963	* mac/MW_TclAppleScriptHeader.h (removed):
3964	* mac/MW_TclAppleScriptHeader.pch (removed):
3965	* mac/MW_TclBuildLibHeader.h (removed):
3966	* mac/MW_TclBuildLibHeader.pch (removed):
3967	* mac/MW_TclHeader.h (removed):
3968	* mac/MW_TclHeader.pch (removed):
3969	* mac/MW_TclHeaderCommon.h (removed):
3970	* mac/MW_TclStaticHeader.h (removed):
3971	* mac/MW_TclStaticHeader.pch (removed):
3972	* mac/MW_TclTestHeader.h (removed):
3973	* mac/MW_TclTestHeader.pch (removed):
3974	* mac/README (removed):
3975	* mac/bugs.doc (removed):
3976	* mac/libmoto.doc (removed):
3977	* mac/morefiles.doc (removed):
3978	* mac/porting.notes (removed):
3979	* mac/tclMac.h (removed):
3980	* mac/tclMacAETE.r (removed):
3981	* mac/tclMacAlloc.c (removed):
3982	* mac/tclMacAppInit.c (removed):
3983	* mac/tclMacApplication.r (removed):
3984	* mac/tclMacBOAAppInit.c (removed):
3985	* mac/tclMacBOAMain.c (removed):
3986	* mac/tclMacChan.c (removed):
3987	* mac/tclMacCommonPch.h (removed):
3988	* mac/tclMacDNR.c (removed):
3989	* mac/tclMacEnv.c (removed):
3990	* mac/tclMacExit.c (removed):
3991	* mac/tclMacFCmd.c (removed):
3992	* mac/tclMacFile.c (removed):
3993	* mac/tclMacInit.c (removed):
3994	* mac/tclMacInt.h (removed):
3995	* mac/tclMacInterupt.c (removed):
3996	* mac/tclMacLibrary.c (removed):
3997	* mac/tclMacLibrary.r (removed):
3998	* mac/tclMacLoad.c (removed):
3999	* mac/tclMacMath.h (removed):
4000	* mac/tclMacNotify.c (removed):
4001	* mac/tclMacOSA.c (removed):
4002	* mac/tclMacOSA.r (removed):
4003	* mac/tclMacPanic.c (removed):
4004	* mac/tclMacPkgConfig.c (removed):
4005	* mac/tclMacPort.h (removed):
4006	* mac/tclMacProjects.sea.hqx (removed):
4007	* mac/tclMacResource.c (removed):
4008	* mac/tclMacResource.r (removed):
4009	* mac/tclMacSock.c (removed):
4010	* mac/tclMacTclCode.r (removed):
4011	* mac/tclMacTest.c (removed):
4012	* mac/tclMacThrd.c (removed):
4013	* mac/tclMacThrd.h (removed):
4014	* mac/tclMacTime.c (removed):
4015	* mac/tclMacUnix.c (removed):
4016	* mac/tclMacUtil.c (removed):
4017	* mac/tcltkMacBuildSupport.sea.hqx (removed):
4018	* tests/all.tcl:
4019	* tests/binary.test:
4020	* tests/cmdAH.test:
4021	* tests/cmdMZ.test:
4022	* tests/fCmd.test:
4023	* tests/fileName.test:
4024	* tests/fileSystem.test:
4025	* tests/interp.test:
4026	* tests/io.test:
4027	* tests/ioCmd.test:
4028	* tests/load.test:
4029	* tests/macFCmd.test (removed):
4030	* tests/osa.test (removed):
4031	* tests/resource.test (removed):
4032	* tests/socket.test:
4033	* tests/source.test:
4034	* tests/unload.test:
4035	* tools/cvtEOL.tcl (removed):
4036	* tools/genStubs.tcl:
4037	* unix/Makefile.in:
4038	* unix/README:
4039	* unix/mkLinks:
4040	* unix/tcl.spec:
4041	* win/README.binary:
4042	* win/tcl.dsp:
4043
40442004-03-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4045
4046	* doc/lsearch.n: Improved examples on the advanced capabilities of
4047	lsearch (with the right options, set element removal can be done)
4048	following discussion on tkchat.
4049
40502004-03-16  Don Porter	<dgp@users.sourceforge.net>
4051
4052	* doc/catch.n:	Compiled [catch] no longer fails to catch syntax
4053	errors. Removed the claims in the documentation that it does.
4054	* doc/return.n:	Updated example to use [dict merge].
4055
40562004-03-16  Jeff Hobbs	<jeffh@ActiveState.com>
4057
4058	* unix/configure, unix/tcl.m4: add -Wno-strict-aliasing for GCC to
4059	suppress useless type puning warnings.
4060
40612004-03-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4062
4063	* doc/file.n: *roff formatting fix. [Bug 917171]
4064
40652004-03-15  David Gravereaux <davygrvy@pobox.com>
4066
4067	* win/tclWinNotify.c: Fixed a mistake where the return value of
4068	MsgWaitForMultipleObjectsEx for "a message is in the queue" wasn't
4069	accurate. I removed the check on the case result==(WAIT_OBJECT_0 + 1)
4070	This was having the error of falling into GetMessage and waiting there
4071	by accident, which wasn't alertable through Tcl_AlertNotifier. I'll do
4072	some more study on this and try to find-out why.
4073
40742004-03-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4075
4076	IMPLEMENTATION OF TIP#163
4077	* generic/tclDictObj.c (DictMergeCmd):	This is based on work by Joe
4078	* tests/dict.test (dict-20.*):		English in Tcl [FRQ 745851]
4079	* doc/dict.n:				but not exactly.
4080
40812004-03-10  Kevin B. Kenny <kennykb@acm.org>
4082
4083	* generic/tclGetDate.y (TclGetDate): Fix so that [clock scan
4084	<timeOfDay> -gmt true] uses the GMT base date instead of the local
4085	one. [Bug 913513]
4086	* tests/clock.test: Added test cases for wrong ISO8601 week number
4087	[Bug 500285] and wrong GMT base date [Bug 913513]. Several tests still
4088	fail on Windows, and these are actual faults in [clock scan]. Fix is
4089	still pending.
4090	* generic/tclDate.c: Regenerated.
4091
40922004-03-08  Vince Darley  <vincentdarley@users.sourceforge.net>
4093
4094	* generic/tclFileName.c:  Fix to 'glob -path' near the root
4095	* tests/fileName.test:	  of the filesystem. [Bug 910525]
4096
40972004-03-08  Don Porter	<dgp@users.sourceforge.net>
4098
4099	* generic/tclParse.c (TclParseInit):	Modified TclParseInit so
4100	* generic/tclTest.c ([testexprparser]): that Tcl_Parse initialization
4101	conforms to documented promised about what fields will not be
4102	modified by what Tcl_Parse* routines. [Bug 910595]
4103
41042004-03-05  Mo DeJong  <mdejong@users.sourceforge.net>
4105
4106	* win/configure: Regen.
4107	* win/configure.in: Check for define of MWMO_ALERTABLE in winuser.h.
4108	* win/tclWinPort.h: If MWMO_ALERTABLE is not defined in winuser.h then
4109	define it. This is needed for Mingw.
4110
41112004-03-05  Kevin B. Kenny <kennykb@acm.org>
4112
4113	* generic/tclTest.c: Modified TesteventObjCmd to use a
4114	Tcl_QueuePosition in place of an 'int' for the enumerated queue
4115	position, to avoid a compiler warning on SGI. [Bug 771960]
4116
41172004-03-05  Kevin B. Kenny <kennykb@acm.org>
4118
4119	* tests/registry.test: Applied fix from [Patch 910174] to make the test
4120	for an English-language system include any country code, rather than
4121	just English-United States.1252. Thanks to Pat Thoyts for the changes.
4122
41232004-03-04  Pat Thoyts	<patthoyts@users.sourceforge.net>
4124
4125	* tests/registry.test: Applied fixed from [Bug 766159] to skip two
4126	tests on Win98 that depend on a Unicode registry (NT specific).
4127
41282004-03-04  Don Porter	<dgp@users.sourceforge.net>
4129
4130	* generic/tclInt.h (TclParseInit):	Factored the common code
4131	* generic/tclParse.c (TclParseInit):	for initializing a Tcl_Parse
4132	* generic/tclParseExpr.c:		struct into one routine.
4133
41342004-03-04  Pat Thoyts	<patthoyts@users.sourceforge.net>
4135
4136	* library/reg/pkgIndex.tcl:  Added TIP #100 support to the
4137	* win/tclWinReg.c:	     registry package [patch 903831]
4138	This provides a Windows test of the TIP #100 mechanism and a sample to
4139	show how unloading an extension can be done.
4140
41412004-03-04  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4142
4143	* unix/dltest/pkgua.c: Fix minor syntax problems. [Bug 909288]
4144
41452004-03-03  Jeff Hobbs	<jeffh@ActiveState.com>
4146
4147	*** 8.5a1 TAGGED FOR RELEASE ***
4148
4149	* changes: updated for 8.5a1
4150
41512004-03-03  David Gravereaux <davygrvy@pobox.com>
4152
4153	* win/makefile.vc: default environment variable for VC++ is %MSDevDir%
4154	not %MSVCDir%, although vcvars32.bat sets both.
4155
4156	* win/tclWinNotify.c (Tcl_WaitForEvent) : Allows an idling notifier to
4157	service "Asynchronous Procedure Calls" from its wait state. Only
4158	useful for extension authors who decide they might want to try
4159	"completion routines" with WriteFileEx(), as an example. From
4160	experience, I recommend that "completion ports" should be used instead
4161	as the execution of the callbacks are more managable.
4162
41632004-03-01  Jeff Hobbs	<jeffh@ActiveState.com>
4164
4165	* README:	    update patchlevel to 8.5a1
4166	* generic/tcl.h:
4167	* tools/tcl.wse.in, tools/tclSplash.bmp:
4168	* unix/configure, unix/configure.in, unix/tcl.spec:
4169	* win/README.binary, win/configure, win/configure.in:
4170
4171	* unix/tcl.m4: update HP-11 build libs setup
4172
41732004-03-01  Don Porter	<dgp@users.sourceforge.net>
4174
4175	* unix/tcl.m4 (SC_CONFIG_CFLAGS):	Allow 64-bit enabling on
4176	IRIX64-6.5* systems. [Bug 218561]
4177	* unix/configure:	autoconf-2.57
4178
4179	* generic/tclTrace.c (TclCheckInterpTraces):	The TIP 62
4180	* generic/tclTest.c (TestcmdtraceCmd):	implementation introduced a
4181	* tests/trace.test (trace-29.10):	bug by testing the CallFrame
4182	level instead of the iPtr->numLevels level when deciding what traces
4183	created by Tcl_Create(Obj)Trace to call. Added test to expose the
4184	error, and made fix. [FRQ 462580]
4185
41862004-02-28  Vince Darley  <vincentdarley@users.sourceforge.net>
4187
4188	* tests/fileSystem.test: fix to Tcl Bug 905163.
4189	* tests/fileName.test: fix to Tcl Bug 904705.
4190
4191	* doc/{various}.n: removed 'the the' typos.
4192
41932004-02-26  Daniel Steffen  <das@users.sourceforge.net>
4194
4195	* macosx/Makefile: fixed copyright year in Tcl.framework Info.plist
4196
41972004-02-25  Don Porter	<dgp@users.sourceforge.net>
4198
4199	* tests/basic.test:	Made several tests more robust to the
4200	* tests/cmdMZ.test:	list-quoting of path names that might contain
4201	* tests/exec.test:	Tcl-special chars like { or [. Should help us
4202	* tests/io.test:	sort out [Bug 554068]
4203	* tests/pid.test:
4204	* tests/socket.test:
4205	* tests/source.test:
4206	* tests/unixInit.test:
4207
42082004-02-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4209
4210	* generic/tclLoad.c (Tcl_LoadObjCmd): Missing dereference caused
4211	segfault with non-loadable extension. [Bug 904307]
4212
4213	* unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very
4214	long hostnames. [Bug 888777]
4215
42162004-02-25  Pat Thoyts	<patthoyts@users.sourceforge.net>
4217
4218	* win/tclWinDde.c: Removed some gcc warnings - except for the
4219	-Wconversion warning for GetGlobalAtomName. gcc is just wrong about
4220	this.
4221
42222004-02-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4223
4224	IMPLEMENTATION OF TIP#100 FROM GEORGIOS PETASIS
4225	* generic/tclLoad.c (Tcl_UnloadObjCmd): Implementation.
4226	* tests/unload.test:			Test suite.
4227	* unix/dltest/pkgua.c:			Helper for test suite.
4228	* doc/unload.n:				Documentation.
4229	Also assorted changes (mostly small) to several other files.
4230
42312004-02-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4232
4233	* generic/regc_locale.c (cclass): Buffer was having its size reset
4234	instead of being released => memleak. [Bug 902562]
4235
42362004-02-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4237
4238	* generic/tclLoad.c (Tcl_LoadObjCmd): Fixed memory leak due to an
4239	improper error exit route.
4240
42412004-02-20  David Gravereaux <davygrvy@pobox.com>
4242
4243	* win/tclWinSock.c (SocketThreadExitHandler): Don't call
4244	TerminateThread when WaitForSingleObject returns a timeout.
4245	Tcl_Finalize called from DllMain will pause all threads. Trust that
4246	the thread will get the close notice at a later time if it does ever
4247	wake up before being cleaned up by the system anyway.
4248
42492004-02-17  Don Porter	<dgp@users.sourceforge.net>
4250
4251	* doc/tcltest.n:
4252	* library/tcltest/tcltest.tcl:	Changed -verbose default value to
4253	{body error} so that detailed information on unexpected errors in
4254	tests is provided by default, even after the fix for [Bug 725253]
4255
42562004-02-17  Jeff Hobbs	<jeffh@ActiveState.com>
4257
4258	* tests/unixInit.test (unixInit-7.1):
4259	* unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist to
4260	prevent crash condition [Bug 772288]
4261
42622004-02-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4263
4264	* generic/tclCompCmds.c (TclCompileSwitchCmd): Bozo mistake in memory
4265	releasing order when in an error case. [Bug 898910]
4266
42672004-02-16  Jeff Hobbs	<jeffh@ActiveState.com>
4268
4269	* generic/tclTrace.c (TclTraceExecutionObjCmd)
4270	(TclTraceCommandObjCmd): fix possible mem leak in trace info.
4271
42722004-02-12  Mo DeJong  <mdejong@users.sourceforge.net>
4273
4274	* win/tclWinInit.c (AppendEnvironment): Use the tail component of the
4275	passed in lib path instead of just blindly using lib+4. That worked
4276	when lib was "lib/..." but fails for other values. Thanks go to
4277	Patrick Samson for pointing this out.
4278
42792004-02-10  David Gravereaux  <davygrvy@pobox.com>
4280
4281	* win/nmakehlp.c: better macro grepping logic.
4282
42832004-02-07  David Gravereaux  <davygrvy@pobox.com>
4284
4285	* win/makefile.vc:
4286	* win/rules.vc:
4287	* win/tcl.rc:
4288	* win/tclsh.rc: Added an 'unchecked' option to the OPTS macro so a
4289	core built with symbols can be linked to the non-debug enabled C
4290	run-time. As per discussion with Kevin Kenny. Called like this:
4291
4292		nmake -af makefile.vc OPTS=unchecked,symbols
4293
4294	This clarifies the meaning of the 'g' naming suffix to mean only that
4295	the binary requires the debug enabled C run-time. Whether the binary
4296	contains symbols or not is a different condition.
4297
42982004-02-06  Don Porter	<dgp@users.sourceforge.net>
4299
4300	* doc/clock.n:	Removed reference to non-existent [file ctime].
4301
43022004-02-05  David Gravereaux  <davygrvy@pobox.com>
4303
4304	* docs/tclvars.n: Added clarification of the tcl_platform(debug) var
4305	that it only refers to the flavor of the C run-time, and not whether
4306	the core contains symbols.
4307
43082004-02-05  Don Porter	<dgp@users.sourceforge.net>
4309
4310	* generic/tclFileName.c (SkipToChar): Corrected CONST and type-casting
4311	issues that caused compiler warnings.
4312
43132004-02-04  Don Porter	<dgp@users.sourceforge.net>
4314
4315	* generic/tclCmdAH.c (StoreStatData): Removed improper refcount
4316	decrement of the varName parameter. This error was causing segfaults
4317	following test cmdAH-28.7.
4318
4319	* library/tcltest/tcltest.tcl: Corrected references to non-existent
4320	$name variable in [cleanupTests]. [Bug 833637]
4321
43222004-02-03  Don Porter	<dgp@users.sourceforge.net>
4323
4324	* library/tcltest/tcltest.tcl:	Corrected parsing of single command
4325	line argument (option with missing value) [Bug 833910]
4326	* library/tcltest/pkgIndex.tcl:	Bump to version 2.2.5.
4327
43282004-02-02  David Gravereaux <davygrvy@pobox.com>
4329
4330	* generic/tclIO.c (Tcl_Ungets): Fixes improper filling of the channel
4331	buffer. This is the buffer before the splice. [Bug 405995]
4332
43332004-02-01  David Gravereaux <davygrvy@pobox.com>
4334
4335	* tests/winPipe.test: more pass-thru commandline verifications.
4336	* win/tclWinPipe.c (BuildCommandLine): Special case quoting for '{'
4337	not required by the c-runtimes's parse_cmdline().
4338	* win/tclAppInit.c: Removed our custom setargv() in favor of the work
4339	provided by the c-runtime. [Bug 672938]
4340
4341	* win/nmakehlp.c: defensive techniques to avoid static buffer
4342	overflows and a couple envars upsetting invokations of cl.exe and
4343	link.exe. [Bug 885537]
4344
4345	* tests/winPipe.test: Added proof that BuildCommandLine() is not doing
4346	the "N backslashes followed a quote -> insert N * 2 + 1 backslashes
4347	then a quote" rule needed for the crt's parse_cmdline().
4348	* win/tclWinPipe.c: Fixed BuildCommandLine() to pass the new cases.
4349
43502004-01-30  David Gravereaux <davygrvy@pobox.com>
4351
4352	* win/makefile.vc: Use the -GZ compiler switch when building for
4353	symbols. This is supposed to emulate the release build better to avoid
4354	hiding problems that only show themselves in a release build.
4355
43562004-01-29  Vince Darley  <vincentdarley@users.sourceforge.net>
4357
4358	* generic/tclPathObj.c: fix to [Bug 883143] in file normalization
4359
43602004-01-29  Vince Darley  <vincentdarley@users.sourceforge.net>
4361
4362	* doc/file.n:
4363	* generic/tclFCmd.c
4364	* generic/tclTest.c
4365	* library/init.tcl
4366	* mac/tclMacFile.c
4367	* tests/fileSystem.test: fix to [Bug 886352] where 'file copy -force'
4368	had inconsistent behaviour wrt target files with insufficient
4369	permissions, particular from vfs->native fs. Behaviour of '-force' is
4370	now always consistent (and now consistent with behaviour of 'file
4371	delete -force'). Added new tests and documentation and cleaned up the
4372	'simplefs' test filesystem.
4373
4374	* generic/tclIOUtil.c
4375	* unix/tclUnixFCmd.c
4376	* unix/tclUnixFile.c
4377	* win/tclWinFile.c: made native filesystems more robust to C code
4378	which asks for mount lists.
4379
4380	* generic/tclPathObj.c: fix to [Bug 886607] removing warning/error
4381	with some compilers.
4382
43832004-01-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4384
4385	* generic/tclObj.c (SetBooleanFromAny): Rewrite to do more efficient
4386	string->bool conversion.
4387	Many other minor whitespace/style fixes to this file too.
4388
43892004-01-27  David Gravereaux <davygrvy@pobox.com>
4390
4391	* win/nmakehlp.c: Use '.\nul' as the sourcefile name instead of 'nul'
4392	so VC 5.2 doesn't try searching the path for it and failing with a
4393	possible dialogbox popping up about having to add a CD to an empty
4394	drive. Also added a SetErrorMode() call to disable any dialogs that
4395	cl.exe or link.exe might create. [Bug 885537]
4396
43972004-01-22  Vince Darley  <vincentdarley@users.sourceforge.net>
4398
4399	* doc/file.n: clarified documentation of 'file system' [Bug 883825]
4400	* tests/fCmd.test: improved test result in failure case.
4401
44022004-01-22  Vince Darley  <vincentdarley@users.sourceforge.net>
4403
4404	* tests/fileSystem.test: 3 new tests
4405	* generic/tclPathObj.c: fix to [Bug 879555] in file normalization.
4406	* doc/filename.n: small clarification to Windows behaviour with
4407	filenames like '.....', 'a.....', '.....a'.
4408
4409	* generic/tclIOUtil.c: slight improvement to native cwd caching on
4410	Windows.
4411
44122004-01-21  David Gravereaux <davygrvy@pobox.com>
4413
4414	* doc/Panic.3:	Mentions of 'panic' and 'panicVA' removed from the
4415	documentation.
4416
44172004-01-21  Vince Darley  <vincentdarley@users.sourceforge.net>
4418
4419	* doc/FileSystem.3:
4420	* generic/tcl.decls:
4421	* generic/tclCmdAH.c
4422	* generic/tclDecls.h
4423	* generic/tclFCmd.c
4424	* generic/tclFileName.c
4425	* generic/tclFileSystem.h
4426	* generic/tclIOUtil.c
4427	* generic/tclInt.decls
4428	* generic/tclInt.h
4429	* generic/tclIntDecls.h
4430	* generic/tclPathObj.c
4431	* generic/tclStubInit.c
4432	* generic/tclTest.c
4433	* mac/tclMacFile.c
4434	* tests/fileName.test
4435	* tests/fileSystem.test
4436	* tests/winFCmd.test
4437	* unix/tclUnixFile.c
4438	* win/tclWin32Dll.c
4439	* win/tclWinFCmd.c
4440	* win/tclWinFile.c
4441	* win/tclWinInt.h
4442
4443	Three main issues accomplished: (1) cleaned up variable names in the
4444	filesystem code so that 'pathPtr' is used throughout. (2) applied a
4445	round of filesystem optimisation with better handling and caching of
4446	relative and absolute paths, requiring fewer conversions. (3)
4447	clarifications to the documentation, particularly regarding the
4448	acceptable refCounts of objects. Some new tests added. Tcl benchmarks
4449	show a significant improvement over 8.4.5, and on Windows typically a
4450	small improvement over 8.3.5 (Unix still appears to require
4451	optimisation). TCL_FILESYSTEM_VERSION_2 introduced, but for internal
4452	use only. There should be no public incompatibilities from these
4453	changes. Thanks to dgp for extensive testing.
4454
44552004-01-19  David Gravereaux <davygrvy@pobox.com>
4456
4457	* win/tclWinPipe.c (Tcl_WaitPid): Fixed a thread-safety problem with
4458	the process list. The delayed cut operation after the wait was going
4459	stale by being outside the list lock. It now cuts within the lock and
4460	does a locked splice for when it needs to instead. [Bug 859820]
4461
44622004-01-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4463
4464	* generic/tclCompile.c, generic/tclCompile.h: Two new opcodes,
4465	INST_LIST_INDEX_IMM and INST_LIST_RANGE_IMM, that have operand(s) of
4466	new type OPERAND_IDX4 which represents indexes into things like lists
4467	(and perhaps other things eventually.)
4468	* generic/tclExecute.c (TclExecuteByteCode): Implementation of the new
4469	opcodes. INST_LIST_INDEX_IMM does a simple [lindex] with either front-
4470	or end-based simple indexing. INST_LIST_RANGE_IMM does an [lrange]
4471	with front- or end-based simple indexing for both the reference to the
4472	first and last items in the range.
4473	* generic/tclCompCmds.c (TclCompileLassignCmd): Generate bytecode for
4474	the [lassign] command.
4475
44762004-01-17  David Gravereaux <davygrvy@pobox.com>
4477
4478	* win/tclWinInit.c: added #pragma comment(lib, "advapi32.lib") when
4479	compiling under VC++ so we don't need to specify it when linking.
4480
44812004-01-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4482
4483	* generic/tclCmdIL.c (Tcl_LassignObjCmd): Add more shimmering
4484	protection for when the list is also one of the variables.
4485
4486	BASIC IMPLEMENTATION OF TIP#57
4487	* generic/tclCmdIL.c (Tcl_LassignObjCmd): Implementation of the
4488	[lassign] command that takes full advantage of Tcl's object API.
4489	* doc/lassign.n: New file documenting the command.
4490	* tests/cmdIL.test (cmdIL-6.*): Test suite for the command.
4491
44922004-01-15  David Gravereaux <davygrvy@pobox.com>
4493
4494	* win/tclWinReg.c: Placed the requirement for advapi.lib into the
4495	object file itself with #pragma comment (lib, ...) when built with
4496	VC++. This will simplify linking for users of the static library.
4497
4498	* win/rules.vc: Added new 'fullwarn' to the CHECKS commandline macro;
4499	sets $(FULLWARNINGS).
4500
4501	* win/makefile.vc: Removed 'advapi.lib' from $(baselibs). Added new
4502	logic to crank-up the warning levels for both compile and link when
4503	$(FULLWARNINGS) is set. Some clean-up with how the resource files are
4504	built and how -DTCL_USE_STATIC_PACKAGES is sent when compiling the
4505	shells.
4506
4507	* win/tclAppInit.c: Small change in how TCL_USE_STATIC_PACKAGES is
4508	used.
4509
4510	* win/tcl.rc:
4511	* win/tclsh.rc: Some clean-up with how the resource files are built.
4512	Fixed 'OriginalFilename' problem that still thought a debug suffix was
4513	still 'd', now is 'g'.
4514
45152004-01-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4516
4517	* generic/tclDictObj.c (TraceDictPath, DictExistsCmd): Adjusted
4518	behaviour of [dict exists] so a failure to look up a dictionary along
4519	the path of dicts doesn't trigger an error. This is how it was
4520	documented to behave previously... [Bug 871387]
4521
4522	* generic/tclDictObj.c: Assorted dict fixes from Peter Spjuth relating
4523	to [Bug 876170].
4524	(SetDictFromAny): Make sure that lists retain their ordering even when
4525	converted to dictionaries and back.
4526	(TraceDictPath): Correct object reference count handling!
4527	(DictReplaceCmd, DictRemoveCmd): Stop object leak.
4528	(DictIncrCmd,DictLappendCmd,DictAppendCmd,DictSetCmd,DictUnsetCmd):
4529	Simpler handling of reference counts when assigning to variables.
4530	* tests/dict.test (dict-19.2): Memory leak stress test
4531
45322004-01-13  Don Porter	<dgp@users.sourceforge.net>
4533
4534	* generic/tclCmdMZ.c (Tcl_SwitchObjCmd):  Silence compiler warnings.
4535
4536	Patch 876451: restores performance of [return]. Also allows forms such
4537	as [return -code error $msg] to be bytecompiled.
4538
4539	* generic/tclInt.h:	Factored Tcl_ReturnObjCmd() into two pieces:
4540	* generic/tclCmdMZ.c:	TclMergeReturnOptions(), which can parse the
4541	options to [return], check their validity, and create the
4542	corresponding return options dictionary, and TclProcessReturn(), which
4543	takes that return options dictionary and performs the [return]
4544	operation.
4545
4546	* generic/tclCompCmds.c: Rewrote TclCompileReturnCmd() to call
4547	TclMergeReturnOptions() at compile time so the return options
4548	dictionary is computed at compile time (when it is fully known). The
4549	dictionary is pushed on the stack along with the result, and the code
4550	and level values are included in the bytecode as operands. Also
4551	supports optimized compilation of un-[catch]ed [return]s from procs
4552	with default options into the INST_DONE instruction.
4553
4554	* generic/tclExecute.c: Rewrote INST_RETURN instruction to retrieve
4555	the code and level operands, pop the return options from the stack,
4556	and call TclProcessReturn() to perform the [return] operation.
4557
4558	* generic/tclCompile.h:	New utilities include TclEmitInt4 macro
4559	* generic/tclCompile.c:	and TclWordKnownAtCompileTime().
4560
4561	End Patch 876451.
4562
4563	* generic/tclFileName.c (Tcl_GlobObjCmd): Latest changes to management
4564	of the interp result by Tcl_GetIndexFromObj() exposed improper interp
4565	result management in the [glob] command procedure. Corrected by
4566	adopting the Tcl_SetObjResult(Tcl_NewStringObj) pattern. This stopped
4567	a segfault in test filename-11.36. [Bug 877677]
4568
45692004-01-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4570
4571	* generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct, Tcl_WrongNumArgs):
4572	Create fresh objects instead of using the one currently in the
4573	interpreter, which isn't guaranteed to be fresh and unshared. The cost
4574	for the core will be minimal because of the object cache, and this
4575	fixes [Bug 875395].
4576
45772004-01-12  Miguel Sofer <msofer@users.sf.net>
4578
4579	* generic/tclCompExpr.c (CompileLandOrLorExpr): cosmetic changes.
4580
45812004-01-12  Miguel Sofer <msofer@users.sf.net>
4582
4583	* generic/tclCompExpr.c (CompileLandOrLorExpr): new logic, fewer
4584	instructions. As a side effect, the instructions INST_LOR and
4585	INST_LAND are now never used.
4586	* generic/tclExecute.c (INST_JUMP*): small optimisation; fix a bug in
4587	debug code.
4588
45892004-01-11  David Gravereaux <davygrvy@pobox.com>
4590
4591	* win/tclWinThrd.c (Tcl_ConditionNotify): condPtr must be dereferenced
4592	to see if there are waiters else uninitialized datum is manipulated.
4593	[Bug 849007 789338 745068]
4594
45952004-01-09  David Gravereaux <davygrvy@pobox.com>
4596
4597	* generic/tcl.h: Renamed and deprecated #defines moved to within the
4598	#ifndef TCL_NO_DEPRECATED block. This allows us to build Tcl to check
4599	for deprecated functions in use, such as panic() and Tcl_Ckalloc(). By
4600	request from DKF. Extensions that build with -DTCL_NO_DEPRECATED now
4601	have these macros as restricted.
4602	***POTENTIAL INCOMPATIBILITY***
4603
4604	* win/makefile.vc:
4605	* win/rules.vc:	 Added -DTCL_NO_DEPRECATED usage to makefile.vc.
4606	Called like this:   nmake -af makefile.vc CHECKS=nodep
4607
46082004-01-09  Vince Darley  <vincentdarley@users.sourceforge.net>
4609
4610	* generic/tclIOUtil.c: fix to infinite loop in TclFinalizeFilesystem
4611	[Bug 873311]
4612
4613	******************************************************************
4614	*** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003"	       ***
4615	*** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002"	       ***
4616	*** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001"	       ***
4617	*** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000"	       ***
4618	*** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
4619	******************************************************************
4620