summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclIORTrans.c (ReflectInput): Fixed a bug triggered byandreas_kupries2008-06-101-3/+6
| | | | | | | | | | | Pat Thoyts <patthoyts@users.sourceforge.net>. Reset the EOF flag after draining the Tcl level into the result buffer, to make sure that the result buffer will be drained as well by repeated calls to ReflectInput should it contain more than one buffer-full of data. Without that reset the higher I/O system will not call on ReflectInput anymore due to the assumed EOF, thus losing the data which did not fit in the buffer of the call which caused the eof and drain.
* Plug leak. [Bug 1987817]dkf2008-06-081-5/+17
|
* * generic/tclBasic.c: Compilation of uplevel scripts, allowMiguel Sofer2008-06-086-133/+209
| | | | | | | | | * generic/tclCompCmds.c: non-body compiled scripts to access the * generic/tclCompile.c: LVT (but not to extend it) and enable the * generic/tclCompile.h: canonical list opt to sidestep the * generic/tclExecute.c: compiler. This is [Patch 1973096] * generic/tclProc.c: * tests/uplevel.test:
* TIP #230 IMPLEMENTATIONandreas_kupries2008-06-064-3/+3356
| | | | | | | | | | | | | | | | | | | * generic/tclIOCmd.c: Integration of transform commands into 'chan' ensemble. * generic/tclInt.h: Definitions of the transform commands. * generic/tclIORTrans.c: Implementation of the reflection transforms. * tests/chan.test: Tests updated for new sub-commands of 'chan'. * tests/ioCmd.test: Tests updated for new sub-commands of 'chan'. * tests/ioTrans.test: Whole new set of tests for the reflection transform. * unix/Makefile.in: Integration of new files into build rules. * win/Makefile.in: Integration of new files into build rules. * win/makefile.vc: Integration of new files into build rules. NOTE: The file 'tclIORTrans.c' has a lot of code in common with the file 'tclIORChan.c', as that made it much easier to develop the reference implementation as a separate module. Now that the transforms have been committed the one thing left to do is to go over both modules and see which of the common parts we can factor out and share.
* fix warnings, remove unused debug code that causes build failuredas2008-06-051-24/+10
|
* TIP #317 implementationpatthoyts2008-06-031-7/+567
|
* * generic/tclOO.c (ReleaseClassContents): Fix the one remainingKevin B Kenny2008-06-021-1/+5
| | | | | | | valgrind complaint about oo.test, caused by failing to protect the Object as well as the Class corresponding to a subclass being deleted and hence getting a freed-memory read when attempting to delete the class command. [Bug 1981001]
* Complete fix of [Bug 1981001]dkf2008-06-011-2/+4
|
* * generic/tclOOMethod.c: Fix a bug where the refcount of a methodKevin B Kenny2008-06-011-2/+2
| | | | | | was reset if the method was redefined while there was an active invocation. [Bug #1981001]
* * generic/tclDictObj.c: Added missing initializers to the ensembleKevin B Kenny2008-06-011-2/+2
| | | | | | map to silence a compiler warning. Thanks to George Peter Staplin for the report.
* * generic/tclOODecls.h: Added the swizzling of DLLEXPORT andKevin B Kenny2008-06-012-2/+54
| | | | * generic/tclOOIntDecls.h: DLLIMPORT needed to make EXTERN work.
* More patches to make stub generation work.dkf2008-06-014-109/+221
|
* Fix generation of stubs for the OO API.dkf2008-06-011-47/+46
|
* * generic/tclOOStubLib.c: ensure use of tcl stubs; include indas2008-05-317-50/+56
| | | | | | | | | | | | | | * unix/Makefile.in: stub lib; disable broken tclOO genstubs * generic/tclOO.c: make tclOO stubs tables 'static const' * generic/tclOODecls.h: and stub table pointers MODULE_SCOPE * generic/tclOOIntDecls.h: (change generated files manually * generic/tclOOStubInit.c: pending genstubs support for tclOO). * generic/tclOOStubLib.c: * generic/tclOO.c: fix warnings for 'int<->ptr conversion' * generic/tclOOCall.c: and 'signed vs unsigned comparison'. * generic/tclOOMethod.c:
* Plug method-related memory leaks pointed out by Miguel.dkf2008-05-312-12/+23
|
* Make things build (cleanly) on Win32. Thanks to Joe Mistachkin. [Patch 1980861]dkf2008-05-312-5/+6
|
* Implementation of TIP #257. Incomplete due to missing Win build support.dkf2008-05-3115-2/+10414
|
* Small clarifications that code a bit nicer to read.dkf2008-05-308-222/+206
|
* Oops. Undo commit of the local tweaks.andreas_kupries2008-05-231-12/+1
|
* * win/tclWinChan.c (FileWideSeekProc): Accepted a patch byandreas_kupries2008-05-232-8/+20
| | | | | | | | | | | | Alexandre Ferrieux <ferrieux@users.sourceforge.net> to fix the [Bug 1965787]. 'tell' now works for locations > 2 GB as well instead of going negative. * generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by * tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net> * tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside of the supported range are now clipped to nearest boundary instead of ignored.
* * generic/tclNamesp.c (Tcl_LogCommandInfo): Restored ability todgp2008-05-221-1/+4
| | | | | handle the argument value length = -1. Thanks to Chris Darroch for discovering the bug and providing the fix. [Bug 1968245].
* * generic/tclParse.c (ParseComment): The new TclParseAllWhiteSpace()dgp2008-05-211-4/+7
| | | | | | | * tests/parse.test (parse-15.60): routine has no mechanism to return the "incomplete" status of "\\\n" so calling this routine anywhere that can be reached within a Tcl_ParseCommand() call is a mistake. In particular, ParseComment() must not use it. [Bug 1968882].
* Correct logic for handling error cases when setting the namespace unknown ↵dkf2008-05-201-24/+37
| | | | handler.
* * generic/tclCompile.c: fix crash with tcl_traceExec. Found andMiguel Sofer2008-05-161-2/+2
| | | | fixed by Alexander Pasadyn [Bug 1964803].
* * generic/tcl.h: Make Tcl_ThreadDataKey a void *.georgeps2008-05-094-458/+178
| | | | | | | | | | | | | | | | | * generic/tclInt.h: Change around some function names and add some new per-platform declarations for thread-specific data functions. * generic/tclThread.c: Make use of of the new function names that no longer have a Tclp prefix. * generic/tclThreadStorage.c: Replace the core thread-specific data (TSD) mechanism with an array offset solution that eliminates the hash tables, and only uses one slot of native TSD. Many thanks to Kevin B. Kenny for his help with this. * unix/tclUnixThrd.c: Add platform-specific TSD functions for use by tclThreadStorage.c. * win/tclWinThrd.c: Add platform-specific TSD functions for use by tclThreadStorage.c.
* Fix off-by-one error that caused crashes. D'oh!dkf2008-05-071-2/+2
|
* CONST -> constnijtmans2008-05-041-1/+1
|
* use Tcl_Panic() instead of panic()das2008-05-031-3/+3
|
* Converted the [binary] command into an ensemble.patthoyts2008-05-023-156/+235
|
* Reverted dkf's accidental commit of the TIP 316 APIs as part of a code cleanuppatthoyts2008-05-021-108/+1
|
* More elimination of pre-C89-isms.dkf2008-05-028-409/+507
|
* Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-2742-731/+740
|
* Also, panic early if we find out the wrong thread attemptingvasiljevic2008-04-271-2/+10
| | | | | to delete the async handler (common trap). As, only the one that created the handler is allowed to delete it.
* generic/tclAsync.c: Tcl_AsyncDelete(): panic if attemptvasiljevic2008-04-261-18/+26
| | | | | to locate handler token fails. Happens when some other thread attempts to delete somebody else's token.
* fix warningdas2008-04-251-2/+1
|
* define DLLEXPORT as __attribute__ ((visibility("default"))) for gcc >= 4.0.nijtmans2008-04-241-16/+17
| | | | | This allows extensions to be compiled with -fvisiblity=hidden and still all symbols decorated with EXPORT. See: <http://gcc.gnu.org/wiki/Visibility>
* * tests/ioCmd.test: Extended testsuite for reflected channelandreas_kupries2008-04-241-48/+334
| | | | | | | | | | implementation. Added test cases about how it handles if the rug is pulled out from under a channel (= killing threads, interpreters containing the tcl command for a channel, and channel sitting in a different interpreter/thread.) * generic/tclIORChan.c: Fixed the bugs exposed by the new testcases, redone most of the cleanup and exit handling.
* * generic/tclIOUtil.c: Removed all code delimited bydgp2008-04-212-1026/+2
| | | | | | | | | * generic/tclTest.c: USE_OBSOLETE_FS_HOOKS, completing * tests/ioCmd.test: the deprecation path for these * tests/ioUtil.test (removed): obsolete interfaces. (Code was active in Tcl 8.4, present but enabled only by customized compile switch in Tcl 8.5, and now completely gone for Tcl 8.6). Also removed all tests relevant only to the removed interfaces.
* * generic/tclInt.h: make stubs tables 'static const' anddas2008-04-165-23/+30
| | | | | | | | * generic/tclStubInit.c: export only module-scope pointers to * generic/tclStubLib.c: the main stubs tables (for package * tools/genStubs.tcl: initialization). [Patch 1938497] * generic/tclBasic.c (Tcl_CreateInterp): * generic/tclTomMathInterface.c (TclTommath_Init):
* * generic/tclInt.h: revise Tcl_SetNotifier() to use adas2008-04-163-51/+19
| | | | | | | | * generic/tclNotify.c: module-scope hooks table instead of * generic/tclStubInit.c: runtime stubs-table modification; * macosx/tclMacOSXNotify.c: ensure all hookable notifier functions * win/tclWinNotify.c: check for hooks; remove hook checks in * unix/tclUnixNotfy.c: notifier API callers. [Patch 1938497]
* * generic/tclIO.c (CopyData): Applied another patch by Alexandreandreas_kupries2008-04-151-6/+8
| | | | | | | * io.test (io-53.8a): Ferrieux <ferrieux@users.sourceforge.net>, * chanio.test (chan-io-53.8a): to shift EOF handling to the async part of the command if a callback is specified, should the channel be at EOF already when fcopy is called. Testcase by myself.
* * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Keeping check for negativeandreas_kupries2008-04-101-13/+8
| | | | | | | | | | | | values, changed to not be an error, but behave like the special value -1 (copy all, default). * tests/iocmd.test (iocmd-15.{12,13}): Removed. * tests/io.test (io-52.5{,a,b}): Reverted last change, added * tests/chanio.test (chan-io-52.5{,a,b}): comment regarding the meaning of -1, added two more testcases for other negative values, and input wrapped to negative.
* * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Added checking of -sizeandreas_kupries2008-04-091-1/+15
| | | | | | | | * tests/ioCmd.test (iocmd-15.{13,14}): value to reject negative values, and values overflowing 32-bit signed. [Bug 1557855]. Basic patch by Alexandre Ferrieux <ferrieux@users.sourceforge.net>, with modifications from me to separate overflow from true negative value. Extended testsuite.
* * generic/tclExecute.c: added comments to the alignment macrosMiguel Sofer2008-04-081-5/+18
| | | | used in GrowEvaluationStack() and friends.
* * generic/tclDecls.h: make genstubsdas2008-04-085-10/+10
| | | | | | | * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclPlatDecls.h: * generic/tclTomMathDecls.h:
* * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.andreas_kupries2008-04-072-29/+42
| | | | | | | | * tests/chanio.test: * generic/tclIO.c: Additional changes to data structures for fcopy * generic/tclIO.h: and channels to perform proper cleanup in case of a channel having two background copy operations running as is now possible.
* * generic/tclIO.c (BUSY_STATE, CheckChannelErrors,andreas_kupries2008-04-071-4/+8
| | | | | | TclCopyChannel): New macro, and the places using it. This change allows for bi-directional fcopy on channels. Thanks to Alexandre Ferrieux <ferrieux@users.sourceforge.net> for the patch.
* * generic/tclStringObj.c (Tcl_AppendFormatToObj):rmax2008-04-071-3/+3
| | | | | | Fix [format {% d}] so that it behaves the same way as in 8.4 and as C's printf(). * tests/format.test: Add a test for '% d' and '%+d'.
* * generic/tclIORChan.c (ReflectOutput): Allow zero return fromandreas_kupries2008-04-041-2/+13
| | | | | | | | write when input was zero-length anyway. Otherwise keept it an error, and separate the message from 'written too much'. * tests/ioCmd.test (iocmd-24.6): Testcase updated for changed message.
* * generic/tclIORChan.c (ReflectClose): Added missing removal ofandreas_kupries2008-04-041-1/+15
| | | | | | | | | the now closed channel from the reflection map. Before we could crash the system by invoking 'chan postevent' on a closed reflected channel, dereferencing the dangling pointer in the map. * tests/ioCmd.test (iocmd-31.8): Testcase for the above.