summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclCompExpr.c: Added a "parseOnly" flag argument todgp2007-07-111-49/+29
| | | | | | | | | | | ParseExpr() to indicate whether the caller is Tcl_ParseExpr(), with an end goal of filling a Tcl_Parse with Tcl_Tokens representing the parsed expression, or TclCompileExpr() with the goal of compiling and executing the expression. In the latter case, more aggressive conversion of QUOTED and BRACED lexeme to literals is done. In the former case, all such conversion is avoided, since Tcl_Token production would revert it anyway. This enables simplifications to the GenerateTokensForLiteral() routine as well.
* Renamed some variables fordgp2007-07-101-46/+115
| | | | clarity and replaced some cryptic logic with more readable macros.
* Removed some unused counter variables.dgp2007-07-101-6/+17
|
* * generic/tclCompExpr.c: Added a field for operator precedencedgp2007-07-101-40/+165
| | | | | | | | to be stored directly in the parse tree. There's no memory cost to this addition, since that memory would have been lost to alignment issues anyway. Also, converted precedence definitions and lookup tables to use symbolic constants instead of raw number for improved readability, and continued extending/improving/correcting comments.
* More extended commentary about the data structures of the expr parser.dgp2007-07-091-43/+85
|
* * generic/tclCompExpr.c: Revision so that the END lexeme neverdgp2007-07-091-4/+32
| | | | | | | gets inserted into the parse tree. Later tree traversal never reaches it since its location in the tree is not variable. Starting and stopping with the START lexeme (node 0) is sufficient. Also finished lexeme code commentary.
* * generic/tclCompExpr.c: Added missing creation and returndgp2007-07-091-2/+11
| | | | of the Tcl_Parse fields that indicate error conditions. [Bug 1749987]
* More work in progress commenting the expr parserdgp2007-07-051-10/+55
|
* Start of work adding more useful comments to the expr parser.dgp2007-07-051-20/+63
|
* clarify comments for last commitMiguel Sofer2007-07-052-4/+4
|
* * generic/tclNamesp.c (SetNsNameFromAny):Miguel Sofer2007-07-052-42/+60
| | | | | * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary ckfree/ckalloc when the old structs can be reused.
* * generic/tclNamesp.c: Fix case where a FQ cmd or ns was beingMiguel Sofer2007-07-042-2/+4
| | | | | * generic/tclObj.c: cached in a different interp, tkcon [Bug 1747512]
* * generic/tclCompExpr.c: Revised #define values so that theredgp2007-07-031-4/+12
| | | | is now more expansion room to define more BINARY operators.
* * generic/tcl.h: Removed TCL_PRESERVE_BINARY_COMPATIBILITY anddgp2007-07-023-128/+14
| | | | | | | | * generic/tclHash.c: any code enabled when it is set to 0. We will * generic/tclStubInit.c: always want to preserve binary compat of the structs that appear in the interface through the 8.* series of releases, so it's pointless to drag around this never-enabled alternative.
* Simplify string hashing a little. [FRQ 951168]dkf2007-07-021-14/+2
|
* * generic/tclIO.c: Removed dead code.dgp2007-07-021-9/+1
| | | | * unix/tclUnixChan.c:
* * generic/tclCompExpr.c: Removed dead code, old implementationsdgp2007-07-021-30/+1
| | | | | * generic/tclEvent.c: of expr parsing and compiling, including the * generic/tclInt.h: routine TclFinalizeCompilation().
* * generic/tclCompExpr.c: Removed dead code, old implementationsdgp2007-07-023-1490/+50
| | | | | * generic/tclEvent.c: of expr parsing and compiling, including the * generic/tclInt.h: routine TclFinalizeCompilation().
* fix typo ... donal broke the buildMiguel Sofer2007-07-011-2/+2
|
* Plug a memory leak caused by a missing Tcl_DecrRefCount on an error path. ↵dkf2007-06-301-9/+11
| | | | [Bug 1717186]
* Prevent RemeberSyncObj() from growing the syncvasiljevic2007-06-301-4/+16
| | | | | object lists by reusing already free'd slots, if possible. See discussion on Bug 1726873 for more information.
* * generic/tclAlloc.c: on Darwin, ensure memory allocated bydas2007-06-292-68/+82
| | | | | * generic/tclThreadAlloc.c: the custom TclpAlloc()s is aligned to 16 byte boundaries (as is the case with the Darwin system malloc).
* * generic/tclGetDate.y: use ckalloc/ckfree instead of malloc/free.das2007-06-292-108/+174
| | | | * generic/tclDate.c: bison 1.875e
* * generic/tclBasic.c (TclEvalEx): fix warnings.das2007-06-291-6/+5
|
* unsigned int type matchingdgp2007-06-281-4/+4
|
* * generic/tclBasic.c: Removed dead code, including thedgp2007-06-285-3389/+13
| | | | | | | | | | | | | * generic/tclExecute.c: entire file tclMathOp.c. * generic/tclInt.h: * generic/tclMathOp.c (removed): * generic/tclTestObj.c: * win/tclWinFile.c: * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c. * win/Makefile.in: * win/makefile.bc: * win/makefile.vc:
* Silence constness warnings for TclStackFree when building with msvc.patthoyts2007-06-285-12/+12
|
* * generic/tclVar.c (UnsetVarStruct): fix possible segfault withMiguel Sofer2007-06-281-5/+6
| | | | recent streamlining.
* * generic/tclTrace.c: Corrected broken trace reversal logic indgp2007-06-272-6/+22
| | | | | | * generic/tclTest.c: TclCheckInterpTraces that led to infinite loop * tests/trace.test: when multiple Tcl_CreateTrace traces were set and one of them did not fire due to level restrictions. [Bug 1743931].
* * generic/tclBasic.c (TclEvalEx): Moved some arrays from thedgp2007-06-261-24/+35
| | | | C stack to the Tcl stack.
* * generic/tclVar.c (UnsetVarStruct): more streamlining.Miguel Sofer2007-06-261-10/+8
|
* * generic/tclExecute.c: Safety checks to avoid crashes in thedgp2007-06-261-8/+7
| | | | | TclStack* routines when called with an incompletely initialized interp. [Bug 1743302]
* * generic/tclVar.c (UnsetVarStruct): fixing incomplete change,Miguel Sofer2007-06-251-24/+25
| | | | more streamlining.
* * generic/tclVar.c (UnsetVarStruct): fixing incomplete changeMiguel Sofer2007-06-251-2/+2
|
* * generic/tclVar.c (TclDeleteCompiledLocalVars): removed inliningMiguel Sofer2007-06-241-57/+62
| | | | | | that ended up not really optimising (limited benchmarks). Now calling UnsetVarStruct (streamlined old code is #ifdef'ed out, in case better benchmarks do show a difference).
* * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced inMiguel Sofer2007-06-241-1/+8
| | | | last commit.
* fix warningsdas2007-06-231-3/+4
|
* * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logicMiguel Sofer2007-06-231-177/+90
| | | | | | | | | slightly clearer, eliminated some duplicated code. *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and Var struct users) The core never builds VAR_LINK variable to have traces. Such a "monster", should one exist, will now have its unset traces called *before* it is unlinked.
* * generic/tclCmdIL.c: More conversions to use TclStackAlloc.dgp2007-06-223-37/+15
| | | | * generic/tclScan.c:
* * generic/tclExecute.c: Revised TclStackRealloc() signature to betterdgp2007-06-223-36/+32
| | | | | | | * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc. * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced ckrealloc based allocations with TclStackRealloc allocations.
* * generic/tclBasic.c: Move most instances of the Tcl_Parse structdgp2007-06-214-212/+236
| | | | | | * generic/tclCompExpr.c: off the C stack and onto the Tcl stack. * generic/tclCompile.c: This is a rather large struct (> 3kB). * generic/tclParse.c:
* * generic/tclBasic.c (TEOvI): Made sure that leaveMiguel Sofer2007-06-212-97/+117
| | | | | | | * generic/tclExecute.c (INST_INVOKE): traces that were created * tests/trace.test (trace-36.2): during execution of an originally untraced command do not fire [Bug 1740962], partial fix.
* Fix comments referring to {expand}. [Bug 1600859]dkf2007-06-213-8/+8
|
* * generic/tclVar.c: streamline namespace vars deletion: onlyMiguel Sofer2007-06-201-11/+46
| | | | compute the variable's full name if the variable is traced.
* correct pointer type mismatch in latest commitdgp2007-06-201-2/+2
|
* * generic/tclInt.decls: Revised the interfaces of the routinesdgp2007-06-2018-90/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* improve comments on Tcl stack managementMiguel Sofer2007-06-191-1/+12
|
* adding comments to GrowEvaluationStackMiguel Sofer2007-06-191-1/+13
|
* * generic/tclCmdIL.c (InfoFrameCmd):Miguel Sofer2007-06-185-69/+88
| | | | | | | * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): * generic/tclCompile.c (TclInitCompileEnv): * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the CmdFrame off the C stack and onto the Tcl stack.
* * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stackMiguel Sofer2007-06-181-19/+20
| | | | and onto the Tcl stack, between the catch and the execution stacks