| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
out all the code to do temporary file creation so that it is possible
to make it correct in one place. Allow overriding of the back-stop
default temporary file location at compile time by setting the
TCL_TEMPORARY_FILE_DIRECTORY #def to a string containing the directory
name (defaults to "/tmp" as that is the most common default).
|
| |
|
|
|
| |
objects.
|
|\ |
|
| |\ |
|
| | |
| | |
| | | |
to find end of written data bytes.
|
| | |
| | |
| | | |
rest of Tcl source code. No ABI change. API change *should* be harmless.
|
|\ \ \
| |/ /
| | | |
cause more harm than good. Purged them (except in zlib files).
|
| |\ \
| | |/
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | |
| | |
| | | |
channels are initialized before vfork() so that the child doesn't
potentially corrupt global state in the parent's address space.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
notifier thread lazily upon first call to Tcl_WaitForEvent() rather than
in Tcl_InitNotifier(). Allows calling exeve() in processes where the
event loop has not yet been run (Darwin's execve() fails in processes
with more than one thread), in particular allows embedders to call
fork() followed by execve(), previously the pthread_atfork() child
handler's call to Tcl_InitNotifier() would immediately recreate the
notifier thread in the child after a fork.
* macosx/tclMacOSXNotify.c (Tcl_InitNotifier): add support for
* unix/tclUnixFCmd.c (DoRenameFile, CopyFileAtts): weakly importing
* unix/tclUnixInit.c (TclpSetInitialEncodings): symbols not available
on OSX 10.2 or 10.3, enables binaires built on later OSX versions to run
on earlier ones.
* macosx/README: document how to enable weak-linking; cleanup.
* unix/tclUnixPort.h: add support for weak-linking; conditionalize
AvailabilityMacros.h inclusion; only disable realpath on 10.2 or earlier
when threads are enabled.
* unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin
* unix/tclUnixInit.c (TclpInitPlatform): release check to use
global initialized once.
* unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime
Darwin release check to determine if realpath is threadsafe.
* unix/configure.in: add check on Darwin for compiler support of weak
* unix/tcl.m4: import and for AvailabilityMacros.h header; move
Darwin specific checks & defines that are only relevant to the tcl build
out of tcl.m4; restrict framework option to Darwin; cleanup quoting.
* unix/configure: autoconf-2.13
* unix/tclLoadDyld.c (TclpLoadMemory):
* unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
comparison and other warnings from gcc4 -Wextra.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclDecls.h: Regenerated from tcl.decls.
* generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API,
* generic/tcl.decls: extended testsuite, and
* generic/tcl.h: implementation. Removal of old
* generic/tclIO.c: driver-specific TclpCut/Splice
* generic/tclInt.h: functions. Replaced with generic
* tests/io.test: thread-action calls through the
* unix/tclUnixChan.c: new hooks. Update of all builtin
* unix/tclUnixPipe.c: channel drivers to version 4.
* unix/tclUnixSock.c: Windows drivers extended to
* win/tclWinChan.c: manage thread state in a thread
* win/tclWinConsole.c: action handler.
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
* mac/tclMacChan.c:
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Formatting (all backported from HEAD)
Fix gcc 4.4 warning: ignoring return value of ‘write’,
|
| | |
| | |
| | |
| | | |
Eliminate various unnecessary type casts.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclDecls.h: to export Tcl_LoadFile, Tcl_FindSymbol,
* generic/tclIOUtil.c: and Tcl_FSUnloadFile to the public API.
* generic/tclInt.h:
* generic/tclLoad.c:
* generic/tclLoadNone.c:
* generic/tclStubInit.c:
* tests/fileSystem.test:
* tests/load.test:
* tests/unload.test:
* unix/tclLoadDl.c:
* unix/tclLoadDyld.c:
* unix/tclLoadNext.c:
* unix/tclLoadOSF.c:
* unix/tclLoadShl.c:
* unix/tclUnixPipe.c:
* win/Makefile.in:
* win/tclWinLoad.c:
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* win/tclWinReg.c PDWORD_PTR
* win/tclWinThrd.c: Fix various minor gcc warnings.
* win/tclWinTime.c
* win/tclWinConsole.c Put channel type definitions
* win/tclWinChan.c in static const memory
* win/tclWinPipe.c
* win/tclWinSerial.c
* win/tclWinSock.c
* generic/tclIOGT.c
* generic/tclIORChan.c
* generic/tclIORTrans.c
* unix/tclUnixChan.c
* unix/tclUnixPipe.c
* unix/tclUnixSock.c
* unix/configure (regenerated with autoconf 2.59)
* tests/info.test: Make test independant from
tcltest implementation.
|
| | |
| | |
| | |
| | |
| | |
| | | |
declared with attribute warn_unused_result
CONSTify functions TclpGetUserHome and
TclSetPreInitScript (TIP #27)
|
| | | |
|
| | |
| | |
| | |
| | | |
etc.)
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
* unix/tclUnixPipe.c: we are about to exit anyways.
|
| |
| |
| |
| | |
New routine TclUnixSetBlockingMode().
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c: TclStackAlloc and TclStackFree to make them
easier for callers to use (or more precisely, harder to misuse).
TclStackFree now takes a (void *) argument which is the pointer
intended to be freed. TclStackFree will panic if that's not actually
the memory the call will free. TSA/TSF also now tolerate receiving
(interp == NULL), in which case they simply fall back to be calls to
Tcl_Alloc/Tcl_Free.
* generic/tclIntDecls.h: make genstubs
* generic/tclBasic.c: Updated callers
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCompCmds.c:
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclFCmd.c:
* generic/tclFileName.c:
* generic/tclIOCmd.c:
* generic/tclIndexObj.c:
* generic/tclInterp.c:
* generic/tclNamesp.c:
* generic/tclProc.c:
* generic/tclTrace.c:
* unix/tclUnixPipe.c:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c: calls with TclStackAlloc calls to use memory
* generic/tclFCmd.c: on Tcl's evaluation stack.
* generic/tclFileName.c:
* generic/tclIOCmd.c:
* generic/tclIndexObj.c:
* generic/tclInterp.c:
* generic/tclNamesp.c:
* generic/tclTrace.c:
* unix/tclUnixPipe.c:
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclEncoding.c: pointer from/to integer of different
* generic/tclEvent.c: size' on 64-bit platforms by casting to
* generic/tclExecute.c: intermediate types intptr_t/uintptr_t
* generic/tclHash.c: via new PTR2INT(), INT2PTR(),
* generic/tclIO.c: PTR2UINT() and UINT2PTR() macros.
* generic/tclInt.h: [Patch 1592791]
* generic/tclProc.c:
* generic/tclTest.c:
* generic/tclThreadStorage.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/configure.in:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* unix/tclUnixPort.h:
* unix/tclUnixTest.c:
* unix/tclUnixThrd.c:
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
| |
| |
| |
| |
| | |
channels are initialized before vfork() so that the child doesn't
potentially corrupt global state in the parent's address space.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclIOCmd.c (Tcl_ExecObjCmd):
* generic/tclListObj.c (NewListIntRep):
* generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj,
FreeBignum, Tcl_SetBignumObj):
* generic/tclParseExpr.c (Tcl_ParseExpr):
* generic/tclStrToD.c (TclParseNumber):
* generic/tclStringObj.c (TclAppendFormattedObjs):
* unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
comparison and other warnings from gcc4 -Wextra.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tcl.h: the version where the "truncateProc"
* generic/tclIO.c: is defined at, and moved all channel
* generic/tclIOGT.c: drivers of Tcl to v5.
* generic/tclIORChan.c:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* win/tclWinChan.c:
* win/tclWinConsole.c:
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for
* tests/exec.test (exec-19.1): files opened in a pipeline
like ">>this". Note that Windows cannot support such access; there is
no equivalent flag on the handle that can be set at the kernel-call
level. The test is unix-specific in every way. [Bug 1245953]
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclDecls.h: Regenerated from tcl.decls.
* generic/tclStubInit.c:
* doc/CrtChannel.3: Documentation of extended API,
* generic/tcl.decls: extended testsuite, and
* generic/tcl.h: implementation. Removal of old
* generic/tclIO.c: driver-specific TclpCut/Splice
* generic/tclInt.h: functions. Replaced with generic
* tests/io.test: thread-action calls through the
* unix/tclUnixChan.c: new hooks. Update of all builtin
* unix/tclUnixPipe.c: channel drivers to version 4.
* unix/tclUnixSock.c: Windows drivers extended to
* win/tclWinChan.c: manage thread state in a thread
* win/tclWinConsole.c: action handler.
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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:
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.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h: Reworked the Tcl header files into a clean
* unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h
* win/tclWinInt.h: and every C source file should #include
* win/tclWinPort.h: at most one of those files to satisfy its
declaration needs. tclWinInt.h and tclWinPort.h also better organized
so that tclWinPort.h includes the Windows implementation of
cross-platform declarations, while tclWinInt.h makes declarations that
are available on Windows only.
* generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h
* generic/tclMath.h (removed): header file. The internal Tcl
* macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a
* win/tcl.dsp: #include <math.h> directly,
and file external to Tcl needing libm should do the same.
* win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file.
* win/makefile.bc (TCLOBJS): It's a vestige from matherr() days
* win/makefile.vc (TCLOBJS): gone by.
* win/tcl.dsp:
* win/tclWinMtherr.c (removed):
|
|
|
|
|
| |
create new processes, as recommended by to Apple (vfork can be up to
100 times faster thank fork on macosx).
|
|
|
|
| |
names were really badly chosen. Also prevented a double-#def.
|