summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* [Bug 2889593]: Make [expr round()] give the right error.dkf2009-10-311-2/+2
|
* * generic/tcl.h: Changed the typedef for the mp_digit typedgp2009-10-291-6/+2
| | | | | | | | | | | | | | | | | | | | | | | from: typedef unsigned long mp_digit; to: typedef unsigned int mp_digit; For 32-bit builds where "long" and "int" are two names for the same thing, this is no change at all. For 64-bit builds, though, this causes the dp[] array of an mp_int to be made up of 32-bit elements instead of 64-bit elements. This is a huge improvement because details elsewhere in the mp_int implementation cause only 28 bits of each element to be actually used storing number data. Without this change bignums are over 50% wasted space on 64-bit systems. [Bug 2800740]. ***POTENTIAL INCOMPATIBILITY*** For 64-bit builds, callers of routines with (mp_digit) or (mp_digit *) arguments *will*, and callers of routines with (mp_int *) arguments *may* suffer both binary and stubs incompatibilities with Tcl releases 8.5.0 - 8.5.7. Such possibilities should be checked, and if such incompatibilities are present, suitable [package require] requirements on the Tcl release should be put in place to keep such built code [load]-ing only in Tcl interps that are compatible.
* * generic/tclLiteral.c: Backport fix for [Bug 2888044].dgp2009-10-281-1/+2
|
* * generic/tclPathObj.c: Missing refcount on cached normalized pathdgp2009-10-271-1/+2
| | | | caused crashes. [Bug 2884203].
* * generic/tclIO.c (FlushChannel): Skip OutputProc for low-levelandreas_kupries2009-10-231-2/+6
| | | | | | 0-length writes. When closing pipes which have already been closed not skipping leads to spurious SIG_PIPE signals. Reported by Mikhail Teterin <mi+thun@aldan.algebra.com>.
* Fix [Bug 2882561].dkf2009-10-211-3/+3
|
* * generic/tclIO.c: Revised ReadChars and FilterInputBytes routinesdgp2009-10-191-17/+27
| | | | | | | to permit reads to continue up to the string limits of Tcl values. Before revisions, large read attempts could panic when as little as half the limiting value length was reached. [Patch 2107634] Thanks to Sean Morrison and Bob Parker for their roles in the fix.
* Fix for [Bug 988703, 1565466]Joe Mistachkin2009-10-186-13/+165
|
* Fix [Bug 2629338]: Stop evil unset traces from accessing freed memory.dkf2009-10-172-6/+27
|
* [Bug 2874678]: Don't leak bignums in [dict incr]...dkf2009-10-081-1/+7
|
* * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of theandreas_kupries2009-10-072-17/+59
| | | | | | | objThreadMap and lineCLPtr hashtables. Also make the names of the continuation line information initialization and finalization functions more consistent. Patch supplied by Joe Mistachkin <joe@mistachkin.com>.
* * generic/tclIORChan.c (ErrnoReturn): Replace the hardwiredandreas_kupries2009-10-071-2/+2
| | | | | | constant 11 with the proper errno define, EAGAIN. What was I thinking ? The BSD's have a different errno assignment and break with the hardwired number. Reported by emiliano on the chat.
* * generic/tclTomMathInt.h (new): Public header tclTomMath.h haddgp2009-10-063-5/+5
| | | | | * generic/tclTomMath.h: dependence on private headers, breaking use * generic/tommath.h: by extensions [Bug 1941434].
* * generic/tclAlloc.c: Cleaned up various routines in thedgp2009-09-294-21/+64
| | | | | | | * generic/tclCkalloc.c: call stacks for memory allocation to * generic/tclInt.h: guarantee that any size values computed * generic/tclThreadAlloc.c: are within the domains of the routines they get passed to. [Bugs 2557696 and 2557796].
* * generic/tclStringObj.c: A few more string overflow cases indgp2009-08-271-3/+13
| | | | [format]. [Bug 2845535]
* silence compiler warningsdgp2009-08-262-4/+4
|
* * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-2510-97/+982
| | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-24): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script Tcl_Obj*'s, to properly account for them while counting lines for #280.
* * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.dgp2009-08-211-2/+2
| | | | * tests/fileName.test:
* * generic/tclFileName.c: Correct result from [glob */test] when *dgp2009-08-201-2/+30
| | | | matches something like ~foo. [Bug 2837800]
* * generic/tclPathObj.c: [Bug 2806250] Prevent the storage of stringsdgp2009-08-201-104/+99
| | | | | | | | starting with ~ in the "tail" part (normPathPtr field) of the path intrep when PATHFLAGS != 0. This establishes the assumptions relied on elsewhere that the name stored there is a relative path. Also refactored to make an AppendPath() routine instead of the cut/paste stanzas that were littered throughout.
* Backport of memory leak plug.dkf2009-08-201-1/+4
|
* * generic/tclPathObj.c: Added NULL check to prevent crashes duringdgp2009-08-181-2/+8
| | | | * tests/fileName.test: [glob]. [Bug 2837800]
* * doc/refchan.n [Bug 2827000]: Extended the implementation ofandreas_kupries2009-08-061-4/+71
| | | | | | | | * generic/tclIORChan.c: reflective channels (TIP 219, method * tests/ioCmd.test: 'read'), enabling handlers to signal EAGAIN to indicate 'no data, but not at EOF either', and other system errors. Updated documentation, extended testsuite (New test cases iocmd*-23.{9,10}).
* * generic/tclStringObj.c: Corrected failure to grow bufferdgp2009-07-311-1/+4
| | | | | * tests/format.test: when format spec request large width floating point values. Thanks to Clemens Misch. [Bug 2830354]
* * generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crashandreas_kupries2009-07-242-5/+19
| | | | | | | | * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this is allowed. Provide a nice error message in the bypass area. Updated caller to check the bypass for a mesage. Bug reported by Andy Sonnenburg <andy22286@users.sourceforge.net>. Backported from CVS head.
* fix SunCC warningdas2009-07-231-2/+2
|
* Fix for [Bug 2820349]Joe Mistachkin2009-07-231-1/+3
|
* Performance boost for [string is].dkf2009-07-201-37/+68
|
* * generic/tclCmdIL.c: Removed unused variables.dgp2009-07-165-13/+28
| | | | | | | | | | | | * generic/tclCompile.c: * generic/tclVar.c: * unix/tclUnixChan.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
* fix 64bit int <-> ptr cast warningsdas2009-07-153-9/+9
|
* * generic/tclBasic.c (DeleteInterpProc,TclArgumentBCEnter,andreas_kupries2009-07-145-123/+121
| | | | | | | | | | | | | | | | | | | | | | TclArgumentBCRelease, TclArgumentGet): * generic/tclCompile.c (EnterCmdWordIndex, TclCleanupByteCode, TclInitCompileEnv, TclCompileScript): * generic/tclCompile.h (ExtCmdLoc): * generic/tclExecute.c (TclExecuteByteCode): * generic/tclInt.h (ExtIndex, CFWordBC): * tests/info.test (info-39.0): Backport of some changes made to the Tcl head, to handle literal sharing better. The code here is much simpler (trimmed down) compared to the head as the 8.5 branch is not bytecode compiling whole files, and doesn't compile eval'd code either. Reworked the handling of literal command arguments in bytecode to be saved (compiler) and used (execution) per command (See the TCL_INVOKE_STK* instructions), and not per the whole bytecode. This removes the problems with location data caused by literal sharing in proc bodies. Simplified the associated datastructures (ExtIndex is gone, as is the function EnterCmdWordIndex).
* Cast wide integer to int conversion and some signed/unsigned conversions. ↵patthoyts2009-07-012-14/+14
| | | | (silence msvc6 warnings)
* * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.dgp2009-06-151-5/+3
|
* * generic/tclCompile.c: The value stashed in iPtr->compiledProcPtrdgp2009-06-132-6/+3
| | | | | | | | | | | | | * generic/tclProc.c: when compiling a proc survives too long. We * tests/execute.test: only need it there long enough for the right TclInitCompileEnv() call to re-stash it into envPtr->procPtr. Once that is done, the CompileEnv controls. If we let the value of iPtr->compiledProcPtr linger, though, then any other bytecode compile operation that takes place will also have its CompileEnv initialized with it, and that's not correct. The value is meant to control the compile of the proc body only, not other compile tasks that happen along. Thanks to Carlos Tasada for discovering and reporting the problem. [Bug 2802881].
* * generic/tclStringObj.c: Revised [format] to not overflow thedgp2009-06-101-8/+68
| | | | | | | integer calculations computing the length of the %ll formats of really big integers. Also added protections so that [format]s that would produce results overflowing the maximum string length of Tcl values throw a normal Tcl error instead of a panic. [Bug 2801413]
* * generic/tclGetDate.y: Fixed a thread safety bug in the generatedKevin B Kenny2009-06-092-285/+469
| | | | | | | | | | * library/clock.tcl: Bison parser (needed a %pure-parser * tests/clock.test: declaration to avoid static variables). Discovered that the %pure-parser declaration allowed for returning the Bison error message to the Tcl caller in the event of a syntax error, so did so. * generic/tclDate.c: bison 2.3
* * generic/tclExecute.c: Replace dynamically-initialized table withdgp2009-06-021-44/+10
| | | | | a table of static constants in the lookup table for exponent operator computations that fit in a 64 bit integer result.
* * generic/tclExecute.c: Corrected implementations and selectiondgp2009-06-021-41/+64
| | | | logic of the INST_EXPON instruction to fix [Bug 2798543].
* * generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893],Miguel Sofer2009-05-081-1/+2
| | | | | insure that a command in a deleted namespace cannot be found through a cached name.
* * generic/tclCmdMZ.c: Improve overflow error message fromdgp2009-05-062-3/+5
| | | | [string repeat]. [Bug 2582327]
* Revert last commit which fails to build with msvc2005 and msvc6patthoyts2009-04-291-4/+4
|
* Fix [Bug 2651823].dkf2009-04-291-4/+4
|
* Backport fix for [Bug 1028264]: WSACleanup() too early. The fix introduces ↵ferrieux2009-04-272-3/+107
| | | | "late exit handlers" for similar late process-wide cleanups.
* * generic/tclStringObj.c: AppendUnicodeToUnicodeRep failedcore_8_5_7dgp2009-04-151-1/+2
| | | | to set stringPtr->allocated to 0, leading to crashes.
* silence warning preventing symbols build with msvc6 (signed/unsigned comparison)patthoyts2009-04-101-2/+2
|
* * generic/tclStringObj.c (UpdateStringOfString): Fix bug detecteddgp2009-04-101-3/+3
| | | | by compiler warning about undefined "dst".
* * macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allowdas2009-04-103-3/+18
| | | | | | | | | | | | | | | | | | * unix/tclUnixChan.c: embedding into applications that * unix/tclUnixEvent.c: already have a CFRunLoop running and want to run the tcl event loop via Tcl_ServiceModeHook(TCL_SERVICE_ALL). * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and * unix/tclUnixChan.c: TclUnixWaitForFile() implementations * unix/tclUnixEvent.c: and disable select() based ones in CoreFoundation builds. * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c. * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode() * generic/tclIntPlatDecls.h: internal API, regen. * generic/tclStubInit.c:
* * generic/tcl.h: Bump to 8.5.7 for release.dgp2009-04-101-3/+3
| | | | | | | | | | | | * library/init.tcl: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/configure.in: * README: * unix/configure: autoconf-2.59 * win/configure:
* * generic/tclStringObj.c: Completed backports of fixes fordgp2009-04-071-68/+112
| | | | [Bug 2494093] and [Bug 2553906].
* * generic/tclStringObj.c: Added protections from invalid memorydgp2009-03-302-3/+99
| | | | | | | * generic/tclTestObj.c: accesses when we append (some part of) * tests/stringObj.test: a Tcl_Obj to itself. Added the appendself and appendself2 subcommands to the [teststringobj] testing command and added tests to the test suite. [Bug 2603158]