| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
TcpAccept() hack that has no business being in the core.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinSock.c: This patch does two things:
1) Cleans-up the winsock typedefs by using the typedefs
provided by winsock2.h. This has no effect on how winsock
is initialized; just makes the source code easier to read.
[Patch 561305]
2) Revamps how the socket message handler thread is brough up
and down to allows for cleaner exits without the use of
TerminateThread(). TerminateThread is evil. No attempt has
been made to resolve [Bug 593810] which may need a new
channel driver version for adding a registering function
whithin the transfered thread to init the handler thread.
IOW, initialization of the TSD structure was getting bypassed
through the thread extension's [thread::transfer] command.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
* win/tclWinThrd.c:
* win/tclWinTime.c: General cleanup of all worker threads used
by the channel drivers. Eliminates the normal case where the
worker thread is terminated ('cept the winsock one). Instead,
use kernel events to signal a clean exit. Only when the worker
thread is blocked on an I/O call is the thread terminated.
Essentially, this makes all other channel worker threads behave
like the PipeReaderThread() function for it's cleaner exit
behavior. This appears to fix [Bug 597924] but needs 3rd party
confirmation to close the issue.
|
|
|
|
| |
release #4 build both tcl and tk without problems.
|
|
|
|
| |
* library/opt/optparse.tcl: string compare
|
|
|
|
|
| |
* generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault
when creating an alias command over the interp name. [Bug #641195]
|
|
|
|
|
|
|
|
|
|
| |
after the "end-" prefix.
* generic/get.test:
* generic/string.test:
* generic/tclObj.c (SetIntFromAny, SetWideIntFromAny):
* generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign
handling before calling strtoul(l). [Bug #634856]
|
| |
|
|
|
|
|
|
|
| |
improper compiler macros that missed the VC++ compiler. This
resulted in VC++ builds using CreateThread()/ExitThread() in place
of the proper _beginthreadex()/_endthreadex(). This was a large
error and am surprised I missed seeing it earlier.
|
| |
|
|
|
|
|
|
|
| |
* generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right
anchoring (^ and $) recognition and check starting or ending .* to
extend the number of REs that can be compiled to string match or
string equal.
|
| |
|
| |
|
|
|
|
|
| |
(Tcl_StringCaseMatch): use TclUtfToUniChar and add further
optimizations for the one-byte/char case.
|
|
|
|
|
| |
the functions, and add extra optimization to Tcl_NumUtfChars for
one-byte/char case.
|
|
|
|
|
|
| |
ascii char case.
(Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar.
(FillUnicodeRep): Use TclUtfToUniChar.
|
|
|
|
|
| |
to use memcmp in the one-byte/char case, also use direct index for
INST_STR_INDEX in that case.
|
|
|
|
|
|
|
| |
(TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar.
(UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations
for Tcl_UniCharToUtf call. These improve encoded channel
conversion speeds by up to 20%.
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar.
Also added a special case for single-ascii-char splits.
(Tcl_StringObjCmd): Use TclUtfToUniChar.
For STR_RANGE, support getting ranges of ByteArrays (reverts
change from 2000-05-26).
(TraceExecutionProc) add proper static declaration.
|
|
|
|
|
|
| |
(TclUtfToUniChar) that does the one-byte utf-char check without
calling Tcl_UtfToUniChar, for use by the core. This brings
notable speedups for primarily ascii string handling.
|
|
|
|
|
| |
only. This interim number will only be reflected by
[info patchlevel].
|
|
|
|
| |
an instruction.
|
|
|
|
| |
static declarations.
|
| |
|
| |
|
|
|
|
|
| |
that substitutions always take place from left to right. [Bug
#635644]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split out functionality of TclInExit to make it
clear which one should be called in each situation.
* generic/tclInt.decls: Declare TclInThreadExit.
* generic/tclIntDecls.h: Regen.
* generic/tclStubInit.c: Regen.
* mac/tclMacChan.c (StdIOClose):
* unix/tclUnixChan.c (FileCloseProc):
* win/tclWinChan.c (FileCloseProc):
* win/tclWinConsole.c (ConsoleCloseProc):
* win/tclWinPipe.c (TclpCloseFile):
* win/tclWinSerial.c (SerialCloseProc): Invoke the
new TclInThreadExit method instead of TclInExit.
|
|
|
|
|
|
|
|
|
| |
* unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal
configure error if no ar program can be found on the
path. [Bug #582039]
* win/configure: Regen.
* win/configure.in: Check that AR, RANLIB, and RC
are found on the path when building with gcc.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set.
* win/makefile.vc:
* win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES
macro which also adds the registry and dde object files to the link
of the shell. [Patch 479697] Also factored some additional macros
that will be helpful for extension authors. Version grepping of tcl.h
will need to be added to complete this.
* win/buildall.vc.bat: Added more descriptive commentary.
|
|
|
|
|
| |
* win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare
the registry extension at version 1.1 from 1.0.
|
| |
|
|
|
|
| |
avoid possible scope trouble.
|
| |
|
| |
|
|
|
|
| |
messages upstream [Bug #627546].
|
|
|
|
|
| |
* library/reg/pkgIndex.tcl: Changed the hardwired debug suffix
(d) to the correct suffix (g).
|
|
|
|
|
|
| |
* library/init.tcl: behavior to use a chaining mechanism to extend
* library/package.tcl: the default [tclPkgUnknown]. [Bug 627660]
* library/tclIndex: [Patch 624509] (steffen)
|
| |
|
|
|
|
| |
to handle this. [Bug 618019]
|
| |
|
| |
|
|
|
|
|
|
|
| |
* win/configure: regen
* win/configure.in: removed SC_ENABLE_MEMDEBUG call
* win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* library/package.tcl (tclPkgUnknown): on macosx, search inside the
Resources/Scripts subdirectory of any potential package directory
* macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs
to TCL_PACKAGE_PATH make argument.
* unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded
framework dirs to tcl_pkgPath: @executable_path/../Frameworks and
@executable_path/../PrivateFrameworks (if they exist), as well as
the dirs in DYLD_FRAMEWORK_PATH (if set). [Patch #624509]
use standard MAXPATHLEN instead of literal 1024
|
|
|
|
| |
[Bug 624919]
|