| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
TclpCutFileChannel() to remove a FileInfo from
the thread local list before deallocating it.
This should have been done via an earlier
call to Tcl_CutChannel, but I was running into
a crash in the next call to Tcl_CutChannel
during the IO finalization stage.
|
| |
|
|
|
|
|
|
|
| |
-Gs (included in -O2) and -GD (outdated). Use "link -lib" instead
of "lib" binary and remove -YX for MSVC7 portability. Add
-fomit-frame-pointer for gcc OPT compiles. [Bug 1092952, 1091967]
Align LIBS_GUI with Tk head needs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclEvent.c: Broke apart TclpSetInitialEncodings() on
* generic/tclInt.h: Windows into TclpSetInterfaces(), that is
* unix/tclUnixInit.c: fundamentally essential, and the initialization
* win/tclWinInit.c: of the system encoding, which is not. Made
the TclpSetInterfaces call part of TclInitSubsystems so it cannot be
overlooked.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclEncoding.c: make use of a ProcessGlobalValue for
* generic/tclEvent.c: storing the executable name.
Added internal routines Tcl(Get|Set)ObjNameOfExecutable() to access
that storage in Tcl_Obj, rather than string format.
* unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use
* win/tclWinFile.c: TclSetObjNameOfExecutable to store the
executable name it computes.
* generic/tclInt.h: Added internal stub entries for
* generic/tclInt.decls: TclpFindExecutable and
Tcl(Get|Set)ObjNameOfExecutable.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form
* win/tclWinPipe.c: instead of string form.
* unix/tclUnixTest.c: Update [testfindexecutable] command to use
new internal interfaces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
startup/initialization of the Tcl library, focused on the
activities of Tcl_FindExecutable().
* generic/tclIO.c: Removed bogus claim in comment that
encoding "iso8859-1" is "built-in" to Tcl.
* generic/tclInt.h: Created a new struct ProcessGlobalValue,
* generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue,
and function type TclInitProcessGlobalValueProc. Together, these
take care of the housekeeping for "values" (things that can be
held in a Tcl_Obj) that are global across a whole process. That is,
they are shared among multiple threads, and epoch and mutex
protection must govern the validity of cached copies maintained
in each thread.
* generic/tclNotify.c: Modified TclInitNotifier() to tolerate
being called multiple times in the same thread.
* generic/tclEvent.c: Dropped the unused argv0 argument to
TclInitSubsystems(). Removed machinery to unsure only one
TclInitNotifier() call per thread, now that that is safe.
Converted Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue,
and moved them to tclEncoding.c.
* generic/tclBasic.c: Updated caller.
* generic/tclInt.h: TclpFindExecutable now returns void.
* unix/tclUnixFile.c:
* win/tclWinFile.c:
* win/tclWinPipe.c:
* generic/tclEncoding.c: Built new encoding search initialization
on a foundation of ProcessGlobalValues, exposing new routines
Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name
to directory pathname keeps track of where encodings are available
for loading. Tcl_FindExecutable greatly simplified into just
three function calls. The "library path" is now misnamed, as its
only remaining purpose is as a foundation for the default encoding
search path.
* generic/tclInterp.c: Inlined the initScript that is evaluated
by Tcl_Init(). Added verification after initScript evaluation
that Tcl can find its installed *.enc files, and that it has
initialized [encoding system] in agreement with what the environment
expects. [tclInit] no longer driven by the value of $::tcl_libPath;
it largely constructs its own search path now, rather than attempt
to share one with the encoding system.
* unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new
* win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment
can reveal that Tcl thinks the [encoding system] should be, even
when an incomplete encoding search path, or a missing *.enc file
won't allow that initialization to succeed. TclpInitLibraryPath
reworked as an initializer of a ProcessGlobalValue.
* unix/tclUnixTest.c: Update implementations of [testfindexecutable],
[testgetdefenc], and [testsetdefenc].
* tests/unixInit.test: Corrected tests to operate properly even
when a value of TCL_LIBRARY is required to find encodings.
* generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
are candidates for public exposure by future TIPs.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclTest.c: Updated [testencoding] to use
* tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
|
| |
|
|
|
|
|
|
| |
Don Porter (Tcl Modules)' into the windows world, actually the
win/configure buildsystem. The other windows buildsystems (.vc,
.bc) still have to be updated as well.
|
|
|
|
|
|
|
|
|
|
| |
found at the end of the header for the function definition,
terminating it early and preventing a compile. This is likely a
fix for '2004-11-25 Donal'. I have to conclude that it is also
unknown if the other changes to this file actually pass the
testsuite. Running testsuite ... They don't. winDde-6.1
fails. This is only a message discrepance, i.e. not too
bad. Leaving resolution of that to Pat and Donal.
|
| |
|
| |
|
|
|
|
|
|
| |
* win/tclWinInit.c (TclpInitLibraryPath): used to extend the
"library path". Search path construction for init.tcl is now done
within the [tclInit] proc.
|
|
|
|
|
|
|
|
|
|
| |
when closing is the same way the UNIX side works. This is avoid a hung shell
when exiting due to open pipes that refuse to close in a graceful manner.
***POTENTIAL INCOMPATIBILITY***
Scripts that use async pipes on windows, must (like the UNIX side) set -blocking
to 1 before calling [close] to receive the exit status. [Bug 947693]
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclDecls.h: from tclInt.h of setting the
* generic/tclInt.h: TCL_STORAGE_CLASS macro to the
* generic/tclIntDecls.h: tcl*Decls.h files now that no
* generic/tclIntPlatDecls.h: use of EXTERN is left in tclInt.h.
* generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h
* win/tclWinPort.h: to prior the inclusion of the Stubs
headers as they are now resetting TCL_STORAGE_CLASS. Removed
extrainious reset from tclWinPort.h. [Patch 1055668]
|
|
|
|
| |
* win/tclWinPort.h: exported internals dropped by a count of 14.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* win/tclAppInit.c: twice. First by TclTest_Init, then again in Tcl_AppInit.
The call from Tcl_AppInit now removed.
|
|
|
|
|
|
|
|
|
| |
* tests/winDde.test: registry and dde packages by using the info
* win/Makefile.in: from makefiles to tell tcltest where to load
* win/makefile.vc: them from. This avoids grabbing the wrong
package from $auto_path which might be the install point rather than
the dev location. Kudos to Jennifer Hom for adding -load and
-loadfile to the tcltest package. [Bug 926088]
|
|
|
|
|
|
|
|
| |
* win/Makefile.in (install-tzdata): installation of timezone data
and message catalogs. They used the installed tcl library
directory, not the source library. Before it was installed.
Switched to source lib dir. Thanks to Kevin for the help in
figuring this out.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBinary.c:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompExpr.c:
* generic/tclDictObj.c:
* generic/tclEncoding.c:
* generic/tclExecute.c:
* generic/tclFCmd.c:
* generic/tclHistory.c:
* generic/tclIndexObj.c:
* generic/tclInterp.c:
* generic/tclIO.c:
* generic/tclIOCmd.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclPkg.c:
* generic/tclResult.c:
* generic/tclScan.c:
* generic/tclTimer.c:
* generic/tclTrace.c:
* generic/tclUtil.c:
* generic/tclVar.c:
* unix/tclUnixFCmd.c:
* unix/tclUnixPipe.c:
* win/tclWinDde.c:
* win/tclWinFCmd.c:
* win/tclWinPipe.c:
* win/tclWinReg.c:
It is a poor practice to directly set or append to the value
of the objResult of an interp, because that value might be
shared, and in that circumstance a Tcl_Panic() will be the
result. Searched for example of this practice and replaced
with safer alternatives, often using the Tcl_AppendResult()
routine that dkf just rehabilitated.
* library/dde/pkgIndex.tcl: Bump to dde 1.3.1
* library/reg/pkgIndex.tcl: Bump to registry 1.1.5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBinary.c:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompExpr.c:
* generic/tclDictObj.c:
* generic/tclEncoding.c:
* generic/tclExecute.c:
* generic/tclFCmd.c:
* generic/tclHistory.c:
* generic/tclIndexObj.c:
* generic/tclInterp.c:
* generic/tclIO.c:
* generic/tclIOCmd.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclPkg.c:
* generic/tclResult.c:
* generic/tclScan.c:
* generic/tclTimer.c:
* generic/tclTrace.c:
* generic/tclUtil.c:
* generic/tclVar.c:
* unix/tclUnixFCmd.c:
* unix/tclUnixPipe.c:
* win/tclWinDde.c:
* win/tclWinFCmd.c:
* win/tclWinPipe.c:
It is a poor practice to directly set or append to the value
of the objResult of an interp, because that value might be
shared, and in that circumstance a Tcl_Panic() will be the
result. Searched for example of this practice and replaced
with safer alternatives, often using the Tcl_AppendResult()
routine that dkf just rehabilitated.
* library/dde/pkgIndex.tcl: Bump to dde 1.3.1
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also simplify the SEH-code by reducing the number of #ifdef's...
|
| |
|
|
|
|
|
| |
Tcl_StaticPackage() call when the shell is built with the TCL_USE_STATIC_PACKAGES
option.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attempted to store the assoc data in the client data; the
optimisation caused a bug that [after] would overwrite
its imports. [Bug 1016167]
* library/clock.tcl (InitTZData, ClearCaches): Changed so that the
in-memory time zone :UTC (and its aliases) always gets
reinitialised, in case tzdata is absent. [Bug 1019537, 1023779]
* library/tzdata/*: Regenerated.
* tests/clock.test (clock-31.*, clock-39.1): Corrected a problem
where the 'system' locale tests fail on a non-English Windows
machine. [Bug 1023761]. Added a test to make sure that alias
time zones load correctly. [Bug 1023779].
* tools/tclZIC.tcl (writeLinks): Corrected a problem where
alias time zone names were written incorrectly, causing them
to fail to load at run time. [Bug 1023779].
* win/tclWinTime.c (Tcl_GetTime): Eliminated CPUID tests on
Win64 - assuming that HAL vendors now do a better job of
keeping the performance counters synchronized among CPU's.
[Bug 1020445]
|
| |
|
|
|
|
| |
until we have it, just return unknown. [Bug 1020445]
|
| |
|
|
|
|
|
|
|
| |
TIP.
* unix/mkLinks: Regenerated.
* win/makefile.vc: Added tm.tcl to list of files to install.
|
| |
|
|
|
|
|
|
|
| |
* generic/tclInt.h: fully cleanup on exit and allow for
* generic/tclThreadAlloc.c: reinitialization. [Bug #736426]
* unix/tclUnixThrd.c: (mistachkin, kenny)
* win/tclWinThrd.c:
|
|
|
|
|
|
|
|
| |
* win/Makefile.in: added 'install-private-headers' makefile target
to allow optionally installing private tcl headers. [FR 922727]
* macosx/Makefile: use new 'install-private-headers' target
to install private headers into framework. [FR 922727]
|
|
|
|
| |
sake of Tcl API users never creating Tcl interpreters.
|
| |
|
| |
|