summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* Reapplied the Engineering Manual-ification, but this time without the (small) dkf2006-12-141-295/+311
| | | | changes that caused crashes in the test suite.
* Revert the commits that broke the HEAD.dgp2006-12-131-307/+293
| | | | I'm not searching through >300 lines of changes to find the bad one.
* Silly mistake correcteddkf2006-12-131-3/+3
|
* Cleanup to follow engineering manual guidelinesdkf2006-12-133-552/+663
|
* * generic/tclCompExpr.c: Now that the new internal structsdgp2006-12-121-3/+3
| | | | | | | | | are in use to support operator commands, might as well make them the default for [expr] as well and avoid passing every parsed expression through the inefficient Tcl_Token array format. This addresses most issues in [RFE 1517602] Assuming no performance disasters result from this, much dead code supporting the other implementation might now be removed.
* * generic/tclBasic.c: Final step routing all direct evaluation formsdgp2006-12-124-35/+156
| | | | | | * generic/tclCompExpr.c: of the operator commands through TEBC, * generic/tclCompile.h: dropping all the routines in tclMathOp.c. * generic/tclMathOp.c: Still needs Engineering Manual attention.
* * generic/tclBasic.c: Another step with all sorting operator commandsdgp2006-12-113-9/+67
| | | | | * generic/tclCompExpr.c: now routing through TEBC via * generic/tclCompile.h: TclSortingOpCmd().
* * generic/tclBasic.c: Another step down the path of re-usingdgp2006-12-084-59/+110
| | | | | | | | * generic/tclCompExpr.c: TclExecuteByteCode to implement the TIP 174 * generic/tclCompile.h: commands instead of using a mass of code * generic/tclMathOp.c: duplication. Now all operator commands that * tests/mathop.test: demand exactly one operation are implemented via TclSingleOpCmd and a call to TEBC.
* * generic/tclCompExpr.c: Revised implementation of TclInvertOpCmddgp2006-12-084-31/+63
| | | | | | | | | | * generic/tclMathOp.c: to perform a bytecode compile / execute sequence. This demonstrates a path toward avoiding mountains of code duplication in tclMathOp.c and tclExecute.c. * generic/tclCompile.h: Change TclExecuteByteCode() from static to * generic/tclExecute.c: MODULE_SCOPE so all files including tclCompile.h may call it.
* * generic/tclMathOp.c: More revisions to make tests pass.dgp2006-12-081-3/+14
| | | | * tests/mathop.test:
* Fix [Bug 1571056] and silence a GCC warningdkf2006-12-081-2/+5
|
* * generic/tclCompCmds.c: Additional commits correct mostdgp2006-12-073-11/+79
| | | | | * generic/tclExecute.c: failing tests illustrating bugs uncovered * generic/tclMathOp.c: in [Path 1578137].
* Handle the export of the commands from tcl::mathop more efficientlydkf2006-12-071-3/+3
|
* * generic/tclBasic.c: Biggest source of TIP 174 failures was thatdgp2006-12-071-28/+33
| | | | | the commands were not [namespace export]ed from the ::tcl::mathop namespace. More bits from [Patch 1578137] correct that.
* More #174 bits and piecesdkf2006-12-072-411/+267
|
* More TIP 174 compilation bug fixes, consolidations, and improvements.dgp2006-12-061-93/+77
|
* * generic/tclCompCmds.c: Revised and consolidated into utilitydgp2006-12-061-113/+105
| | | | | * tests/mathop.c: routines some of routines that compile the new TIP 174 commands. This corrects some known bugs. More to come.
* * generic/tclBasic.c: TIP #291. Define tcl_platform element forandreas_kupries2006-12-051-1/+5
| | | | | | | | | | | | | | | | * doc/tclvars.n: pointerSize. * win/Makefile.in: Added installation instructions for the platform * win/makefile.vc: package. Added the platform package. * win/makefile.bc: * unix/Makefile.in: * tests/platform.test: * tests/safe.test: * library/platform/platform.tcl: * library/platform/shell.tcl: * library/platform/pkgIndex.tcl:
* * generic/tclPkg.c: When no requirements are supplied to adgp2006-12-051-1/+3
| | | | | | | | | | | | * tests/pkg.test: [package require $pkg] and [package unknown] is invoked to find a satisfying package, pass the requirement argument "0-" (which means all versions are acceptable). This permits a registered [package unknown] command to call [package vsatisfies $testVersion {*}$args] without any special handling of the empty $args case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was causing old TM versions to be provided in preference to newer TM versions. Thanks to Julian Noble for discovering the issue.
* Implement TIP#267dkf2006-12-041-9/+13
|
* * generic/tclCompExpr.c: Added implementation for thedgp2006-12-041-24/+260
| | | | | | | CompileExprTree() routine that can produce expression bytecode directly from internal structures with no need to pass through the Tcl_Token array representation. Still disabled by default. #undef USE_EXPR_TOKENS to try it out.
* * generic/tclCompExpr.c: Added expr parsing routines thatdgp2006-12-031-6/+1089
| | | | | | | | | | produce a different set of internal structures representing the parsed expression, as well as routines that go on to convert those structures into the traditional Tcl_Token array format. Use of these routines is currently disabled. #undef PARSE_DIRECT_EXPR_TOKENS to enable them. These routines will only become really useful when more routines that compile directly from the new internal structures are completed.
* fix warningdas2006-12-021-3/+4
|
* removed BZ_DIV_CUTOFF declaration now that it's gone from libtommathdas2006-12-021-4/+3
|
* TIP#299 IMPLEMENTATIONKevin B Kenny2006-12-011-1/+119
|
* TIP#287 IMPLEMENTATIONdgp2006-12-013-3/+78
| | | | | | | | | | * doc/chan.n: New subcommand [chan pending]. * generic/tclBasic.c: Thanks to Michael Cleverly for proposal * generic/tclInt.h: and implementation. * generic/tclIOCmd.c: * library/init.tcl: * tests/chan.test: * tests/ioCmd.test:
* TIP#298 IMPLEMENTATIONdgp2006-12-016-178/+50
| | | | | | | | | | | * generic/tcl.decls: Tcl_GetBignumAndClearObj -> Tcl_TakeBignumFromObj. * generic/tclObj.c: * generic/tclDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclExecute.c: Update callers. * generic/tclMathOp.c:
* declare new BZ_DIV_CUTOFF global as MODULE_SCOPEdas2006-12-011-3/+4
|
* fix warningsdas2006-12-012-6/+6
|
* * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Addeddgp2006-11-291-1/+2
| | | | | Tcl_DecrRefCount() on the objPtr argument to plug memory leaks. This makes the routine a consumer, which makes it easiest to use.
* * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-2819-196/+2165
| | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclProc.c: * tests/compile.test: * tests/info.test: * tests/platform.test: * tests/safe.test:
* * generic/tclExecute.c (TclIncrObj): Correct failure to detectdgp2006-11-271-2/+2
| | | | floating-point increment values. Thanks to William Coleda [Bug 1602991]
* Finished coding part of TIP#174. Still have tests and docs to do.dkf2006-11-252-1392/+2894
|
* Added some more implementationsdkf2006-11-241-3/+274
|
* Supply missing #ifdefdgp2006-11-241-1/+3
|
* Added Mod implementationdkf2006-11-231-2/+209
|
* Added implementations of the interpreted comparison operatorsdkf2006-11-231-15/+561
|
* Added some interpreted operator implementationsdkf2006-11-231-7/+61
|
* *Partial* implementation of TIP#174. Still needs non-compiled versions of mostdkf2006-11-233-4/+1129
| | | | operators, plus docs and tests.
* whitespacedas2006-11-231-5/+5
|
* TIP#269 implementationdkf2006-11-221-10/+65
|
* * generic/tcl.h: Remove mention of win/README.binary in comment.dgp2006-11-221-2/+1
|
* * generic/tcl.h: Moved TCL_REG_BOSONLY #define from tcl.h todgp2006-11-222-12/+14
| | | | | | * generic/tclInt.h: tclInt.h. Only know user is Expect, which already #include's tclInt.h. No need to continue greater exposure. [Bug 926500]
* Make the guts of [chan] more robust.dkf2006-11-201-17/+45
|
* * generic/tclExecute.c (INST_EXPON): Corrected crash ondgp2006-11-171-1/+6
| | | | [expr 2**(1<<63)]. Was operating on cleared bignum Tcl_Obj.
* TIP#270 IMPLEMENTATIONdgp2006-11-1524-116/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed. * generic/tclDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* * tools/genStubs.tcl: Updated script to no longer produce thedgp2006-11-156-2565/+2355
| | | | | | | | | | | | | | | _ANSI_ARGS_ wrapper in generated declarations. Also revised to accept variadic prototypes with more than one fixed argument. (This is possible since TCL_VARARGS and its limitations are no longer in use). * generic/tcl.h: Some reordering so that macro definitions do not interfere with the now _ANSI_ARGS_-less stub declarations. * generic/tclDecls.h: make genstubs * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclPlatDecls.h: * generic/tclTomMathDecls.h:
* TIP#261 IMPLEMENTATIONdgp2006-11-141-1/+23
| | | | | * generic/tclNamesp.c: [namespace import] with 0 arguments introspects the list of imported commands.
* Silence a compiler warining about presenting a volatile pointer to 'memset'Kevin B Kenny2006-11-131-3/+3
|
* * generic/tclIO.c: When [gets] on a binary channel needs to usedgp2006-11-131-12/+41
| | | | | | | the "iso8859-1" encoding, save a copy of that encoding per-thread to avoid repeated freeing and re-loading of it from the file system. This replaces the cached copy of this encoding that the platform initialization code used to keep in pre-8.5 releases.