| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Thanks to Pat Thoyts for discovery and fix.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
windows
|
|
|
|
|
| |
GetModuleFileNameA (Win9x), convert from CP_ACP to WCHAR then
convert back to utf8. Adjunct to 2004-04-07 fix.
|
|
|
|
|
|
|
|
|
| |
where there was a sneak path from Tcl_DStringFree to
SetErrorCode(0). The result was that the error code could
be reset between a call to FindFirstFileEx and the check
of its status return, leading to a bizarre error return of
{POSIX unknown {No error}}. (Found in unplanned test -
no incident logged at SourceForge.)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
is also a unicode platform.
* generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable):
* generic/tclInt.h: Correct handling of UTF
* unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually
* win/tclWinFile.c (TclpFindExecutable): "clean", allowing the
* win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from
paths that contain multi-byte chars on Windows [Bug 920667]
|
| |
|
| |
|
|
|
|
| |
variable names in
|
|
|
|
|
|
|
|
|
| |
with Borland.
* win/tclWinTime.c (TclpGetDate) : Borland's localtime() has
a slight behavioral difference.
From Helmut Giese <hgiese@ratiosoft.com> [Patch 758097].
|
| |
|
| |
|
| |
|
|
|
|
|
| |
the prefix 'Tcl' to keep them out of the way of non-Tcl C code on Unix.
(Problem reported by George Staplin.)
|
|
|
|
| |
must be constant' with the driveSpec array with OpenWatcom.
|
|
|
|
|
|
|
|
|
| |
* generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific
code to convert POSIX filename to native format.
* generic/tclFileName.c (Tcl_TranslateFileName): And remove from here.
(TclDoGlob): Adjust for cygwin and append / for dirs instead of \
* win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin.
[Patch 679315]
|
| |
|
|
|
|
| |
r1.44 as 2003-04-11 optimizations broke Windows98 glob'ing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel):
Invoke TclpCutSockChannel and TclpSpliceSockChannel.
* generic/tclInt.h: Declare TclpCutSockChannel and
TclpSpliceSockChannel.
* unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
Dummy functions, on unix the sockets are _not_ handled
specially.
* mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
* win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
New functions to handle socket specific cut/splice operations:
auto-initi of socket system for thread on splice, management of
the module internal per-thread list of sockets, management of
association of sockets with HWNDs for event notification.
* win/tclWinSock.c (NewSocketInfo): Extended initialization
assignments to cover all items of the structure. During
debugging of the new code mentioned above I found that two
fileds could contain bogus data.
* win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before
definition because when compiling in debug mode the compiler
complains about a redefinition, and this warning is also treated
as an error.
|
|
|
|
| |
was broken by recent changes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/configure.in: Add check for FINDEX_INFO_LEVELS
from winbase.h, known to be a problem in VC++ 5.2.
Define HAVE_NO_FINDEX_ENUMS if the define does not
exist.
* win/tclWinFile.c: Put declarations for
FINDEX_INFO_LEVELS and FINDEX_SEARCH_OPS inside
a check for HAVE_NO_FINDEX_ENUMS so that these are
not declared twice. This fixes the Mingw build.
* win/tclWinTime.c: Rework the init of timeInfo
so that the number or initializers matches the
declaration. This was broken under Mingw. Add
cast to avoid compile warning when calling the
AccumulateSample function.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiler warnings from SEH ASM code.
* win/tclWinChan.c (squelch_warnings): Squelch
compiler warnings from SEH ASM code.
* win/tclWinDde.c: Add casts to avoid compiler
warnings. Pass pointer to DWORD instead of int
to avoid compiler warnings.
* win/tclWinFCmd.c (squelch_warnings): Add casts
and fixup decls to avoid compiler warnings.
Squelch compiler warnings from SEH ASM code.
* win/tclWinFile.c: Add casts and fixup decls
to avoid compiler warnings. Remove unused variable.
* win/tclWinNotify.c: Declare as DWORD instead
of int to avoid compiler warning.
* win/tclWinReg.c: Add casts to avoid compiler
warning. Fix assignment in if expression bug.
* win/tclWinSerial.c: Add casts to avoid compiler
warnings. Remove unused variable.
* win/tclWinSock.c: Add casts and fixup decls
to avoid compiler warnings.
|
| |
|
| |
|
|
|
|
| |
have file-scope.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
allow it to compile. Added real definition of REPARSE_DATA_BUFFER
(found in winnt.h). Most of the added definitions appear to have
correct, cross-Win-version equivalents in winnt.h and should be
removed, but just making things "work" for now.
|
| |
|
| |
|
| |
|