summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
...
* make support for clang static analyzer safer & cleanerdas2009-09-071-7/+9
|
* Fixed up error in stack requirement estimation that made debug buildsdgp2009-09-041-1/+11
| | | | panic during execution of [subst] bytecode.
* Patched up flaw in option syntax checkingdgp2009-09-041-6/+3
|
* * generic/tclCompCmds.c (TclCompileSubstCmd): Added a bytecodedgp2009-09-048-122/+477
| | | | | | | | | | | | | * generic/tclBasic.c: compiler routine for the [subst] command. * generic/tclCmdMZ.c: This is a partial solution to the need to * generic/tclCompile.c: NR-enable [subst] since bytecode execution is * generic/tclCompile.h: already NR-enabled. [Bug 2314561] Two new * generic/tclExecute.c: bytecode instructions, INST_NOP and * generic/tclInt.h: INST_RETURN_CODE_BRANCH were added to support * generic/tclParse.c: the new routine. INST_RETURN_CODE_BRANCH is * tests/basic.test: likely to be useful in any future effort to * tests/info.test: add a bytecode compiler routine for [try]. * tests/parse.test:
* Improve consistency of formatting of comments and function declsdkf2009-09-041-45/+47
|
* * generic/tclIORTrans.c (ReflectInput): Remove error response toandreas_kupries2009-09-011-5/+2
| | | | | | | | 0-result from method 'limit?' of transformations. Return the number of copied bytes instead, which is possibly nothing. The latter then triggers EOF handling in the higher layers, making the 0-result of limit? the way to inject artificial EOF's into the data stream.
* * generic/tclStringObj.c: A few more string overflow cases indgp2009-08-271-3/+13
| | | | [format]. [Bug 2845535]
* guard clang analyzer Tcl_Panic annotation with #ifndef USE_TCL_STUBSdas2009-08-251-2/+5
|
* fix warningsdas2009-08-252-3/+3
|
* * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-2510-98/+979
| | | | | | | | | | | | | | | | | | | | | | | Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript, TclCompileTokens): * 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 the parser, compiler, and execution engine with code and attendant data structures tracking the position of continuation lines which are not visible in the resulting script Tcl_Obj*'s, to properly account for them while counting lines for #280.
* * generic/tclInt.h: Annotate Tcl_Panic as noreturn for clang staticdas2009-08-241-4/+2
| | | | analyzer in PURIFY builds, replacing preprocessor/assert technique.
* * 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-149/+80
| | | | | | | | 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.
* Use the Tcl value stack more, simplify exit paths in [lsearch]dkf2009-08-201-75/+40
|
* Small tweaksdkf2009-08-201-43/+39
|
* Close off memory leak in [lsort].dkf2009-08-201-74/+68
|
* Interpreted [if] is now fully NRE-enabled. [Bug 2823276]dkf2009-08-191-36/+78
|
* Make interpreted [for] and [while] NRE-safe. [Bug 2823276]dkf2009-08-191-61/+121
|
* Formatting correctionsdkf2009-08-192-14/+13
|
* * generic/tclPathObj.c: Added NULL check to prevent crashes duringdgp2009-08-181-1/+4
| | | | * tests/fileName.test: [glob]. [Bug 2837800]
* Change ForIterData, make it const-safe.nijtmans2009-08-162-4/+4
|
* TIP #353 IMPLEMENTATIONdgp2009-08-128-90/+219
| | | | | | | | | | | | | | * doc/NRE.3: New public routine Tcl_NRExprObj() permits * generic/tcl.decls: extension commands to evaluate Tcl expressions * generic/tclBasic.c: in NR-enabled command procedures. * generic/tclCmdAH.c: * generic/tclExecute.c: * generic/tclInt.h: * generic/tclObj.c: * tests/expr.test: * generic/tclDecls.h: make genstubs * generic/tclStubInit.c:
* * 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}).
* Added *unsupported* command to report an object's representation.dkf2009-08-023-4/+47
|
* * 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]
* minor cleanupsdgp2009-07-242-3/+5
|
* Revert series of local changes not relevant to the last commit.andreas_kupries2009-07-231-12/+3
|
* * generic/tclIO.c (Tcl_GetChannelHandle): Do not crash forandreas_kupries2009-07-233-8/+31
| | | | | | | | * generic/tclPipe.c (FileForRedirect): getHandleProc == NULL, this is allowed. Provide a nice error message in the bypass area. Updated caller to check the bypass for a mesage. This fixes the bug [Bug 2826248] reported by Andy Sonnenburg <andy22286@users.sourceforge.net>
* fix SunCC warningdas2009-07-231-2/+2
|
* Fix for [Bug 2820349]Joe Mistachkin2009-07-231-1/+3
|
* Feature Request 2814786: remove TclpPanicnijtmans2009-07-222-13/+2
|
* * macosx/tclMacOSXFCmd.c: CONST -> constnijtmans2009-07-223-7/+7
| | | | | | * generic/tclGetDate.y: * generic/tclDate.c: * generic/tclLiteral.c: (char *) cast in ckfree call
* Refined the 20090617 patch on [exit] streamlining, so that it now correctly ↵ferrieux2009-07-221-5/+14
| | | | calls thread exit handlers for the calling thread, which includes <Destroy> bindings in Tk [Bug 2001201 again].
* Performance boost for [string is].dkf2009-07-201-36/+67
|
* Expose function to efficiently return current name of an object.dkf2009-07-194-8/+44
|
* * generic/tclBinary.c: Removed unused variables.dgp2009-07-1611-40/+36
| | | | | | | | | | | | | | | | | | * generic/tclCmdIL.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclHash.c: * generic/tclIOUtil.c: * generic/tclVar.c: * generic/tclBasic.c: Silence compiler warnings about ClientData. * generic/tclProc.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]
* Added code to save space in namespaces. Currently #ifdef'ed out for compat.dkf2009-07-156-32/+326
| | | | Also added code from itcl-ng for better separation of concerns.
* fix 64bit int <-> ptr cast warningsdas2009-07-143-10/+10
|
* * generic/tclInt.h (TclNRSwitchObjCmd):Kevin B Kenny2009-07-143-6/+40
| | | | | | | * generic/tclBasic.c (builtInCmds): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): * tests/switch.test (switch-15.1): Make non-bytecoded [switch] command aware of NRE. [Bug 2821401]
* * generic/tclCompile.c (TclInitCompileEnv, EnterCmdWordIndex,andreas_kupries2009-07-147-166/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TclCleanupByteCode, TclCompileScript): * generic/tclExecute.c (TclCompileObj, TclExecuteByteCode): * tclCompile.h (ExtCmdLoc): * tclInt.h (ExtIndex, CFWordBC, CmdFrame): * tclBasic.c (DeleteInterpProc, TclArgumentBCEnter, TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT, RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd): * generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback, ForNextCallback): * generic/tclCmdMZ.c (TclNRWhileObjCmd): Extended the bytecode compiler initialization to recognize the compilation of whole files (NRE enabled 'source' command) and switch to the counting of absolute lines in that case. Further extended the bytecode compiler to track the start line in the generated information, and modified the bytecode execution to recompile an object if the location as per the calling context doesn't match the location saved in the bytecode. This part could be optimized more by using more memory to keep all possibilities which occur around, or by just adjusting the location information instead of a total recompile. 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, and the previous change remove the problems with location data caused by literal sharing (across whole files, but also proc bodies). Simplified the associated datastructures (ExtIndex is gone, as is the function EnterCmdWordIndex). The last change causes the hashtable 'lineLABCPtr' to be state which has to be kept per coroutine, like the CmdFrame stack. Reworked the coroutine support code to create, delete and switch the information as needed. Further reworked the tailcall command as well, it has to pop its own arguments when run in a bytecode context to keep a proper stack in 'lineLABCPtr'. Fixed the mishandling of line information in the NRE-enabled 'for' and 'while' commands introduced when both were made to share their iteration callbacks without taking into account that the loop body is found in different words of the command. Introduced a separate data structure to hold all the callback information, as we went over the limit of 4 direct client-data values for NRE callbacks. The above fixes [Bug 1605269].
* Fix [Bug 2637173] by consolidating bytearray purity check.dkf2009-07-125-36/+47
|
* Reorganize method cache handling a bit to better support itcl nasty cases.dkf2009-07-123-30/+53
| | | | [Bug 1895546]
* tweaksdkf2009-07-111-5/+6
|
* ZlibTransformClose may be called with a NULL interpreter during finalization andpatthoyts2009-07-101-5/+13
| | | | | Tcl_SetChannelError requires a list. Added some tests to ensure error propagation from the zlib library to the interp.
* [Bug #2818131] Added tests and fixed a typo that broke zlib push for deflate ↵patthoyts2009-07-091-2/+2
| | | | format.
* Silence a signed/unsigned warning that annoys msvcpatthoyts2009-07-061-2/+2
|
* Make [zlib push] work with [fcopy].dkf2009-07-051-90/+145
|
* Cast wide integer to int conversion (silence msvc6 warning)patthoyts2009-07-011-3/+3
|
* s/Tcl_PanicEx/TclPanic/; improve clang assert Tcl_Panic macrologydas2009-06-301-3/+3
|