summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
Commit message (Collapse)AuthorAgeFilesLines
* First hack at TIP#234dkf2008-12-111-1/+5
|
* Implement TIP#335dkf2008-12-051-1/+25
|
* CONSTify TclDTraceInfonijtmans2008-10-281-17/+17
| | | | Eliminate some -Wstrings-write warnings
* Check syntax of [info coroutine] args, i.e. there are none.dkf2008-10-191-39/+36
|
* * generic/tclBasic (TclInfoCoroutineCmd):Miguel Sofer2008-10-081-5/+8
| | | | | | * tests/unsupported.test: arrange for [info coroutine] to return {} when a coroutine is running but the resume command has been deleted [Bug 2153080]
* * generic/tclBasic.c: Move [tailcall], [coroutine] andMiguel Sofer2008-10-071-22/+15
| | | | | | * generic/tclCmdIL.c: [yield] out of ::tcl::unsupported * tests/info.test: and into global scope: TIPs #327 * tests/unsupported.test: and #328
* Implemented TIP#195 - tcl::prefix command. [Patch 1040206]dkf2008-10-031-1/+2
|
* TIP #330 IMPLEMENTATIONdgp2008-10-021-3/+3
| | | | | | | | | | * generic/tcl.h: Remove the "result" and "freeProc" fields * generic/tclBasic.c: from the default public declaration of the * generic/tclResult.c: Tcl_Interp struct. Code should no longer * generic/tclStubLib.c: be accessing these fields. Access can be * generic/tclTest.c: restored by defining USE_INTERP_RESULT, but * generic/tclUtil.c: that should only be a temporary migration aid. *** POTENTIAL INCOMPATIBILITY ***
* * generic/tclBasic.c: Fix the numLevels computations onMiguel Sofer2008-09-281-4/+14
| | | | | * generic/tclInt.h: coroutine yield/resume * tests/unsupported.test:
* * generic/tclBasic.c: move TclResetCancellation to be called onMiguel Sofer2008-09-171-2/+16
| | | | | | returning to level 0, as opposed to it being called on starting a command at level 0. Add a call on returning via Tcl_EvalObjEx to fix [Bug 2114165].
* * tests/nre.test: add missing constraints; enable test of foreachMiguel Sofer2008-09-101-3/+2
| | | | | | | | | recursion. * generic/tclBasic.c: * generic/tclCompile.h: * generic/tclExecute.c (INST_EVAL_STK): fix for [Bug 2102930], wrong numLevels when evaling a canonical list.
* * generic/tclBasic.c (InfoCoroutine):Miguel Sofer2008-08-261-1/+32
| | | | | | * tests/unsupported.test: new command that returns the FQN of the currently executing coroutine. Lives as infoCoroutine under unsupported, but is designed to become a subcommand of [info]
* * generic/tclBasic.c (NRInterpCoroutine): store the caller'sMiguel Sofer2008-08-251-2/+2
| | | | | eePtr, stop assuming the coroutine is invoked from the same execEnv where it was created.
* NRE-enable non-compiled [foreach]. [Bug 2017632]dkf2008-08-241-2/+2
|
* * generic/tclBasic.c: Removed unused var; fixed functionMiguel Sofer2008-08-231-3/+1
| | | | | | * generic/tclOOInt.h: pointer declarations (why did gcc start * generic/tclOOMethod.c: complaining all of a sudden?) * generic/tclProc.c:
* * generic/tclBasic.c: Set special errocodes: COROUTINE_BUSY,Miguel Sofer2008-08-231-1/+3
| | | | COROUTINE_CANT_YIELD, COROUTINE_ILLEGAL_YIELD.
* * generic/tclBasic.c: Set a special COROUTINE_BUSY errorcodeMiguel Sofer2008-08-231-1/+2
|
* * generic/tclBasic.c: Previous fix, now done right.Miguel Sofer2008-08-211-10/+1
| | | | | | * generic/tclCmdIL.c: * generic/tclInt.h: * tests/unsupported.test:
* * generic/tclBasic.c: Fix the cmdFrame level count inMiguel Sofer2008-08-211-7/+21
| | | | | * generic/tclCmdIL.c: coroutines. Fix small bug on coroutine * generic/tclInt.h: rewind.
* Added casts to make MSVC happy and re-enable the debug build.patthoyts2008-08-201-2/+2
|
* General whitespace/style policingdkf2008-08-201-281/+271
|
* * generic/tclBasic.c: Implementation of [coroutine] and [yield]Miguel Sofer2008-08-171-3/+443
| | | | | | | | * generic/tclCmdAH.c: commands (in tcl::unsupported). * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclInt.h: * tests/unsupported.test:
* #define DTraceCmdReturn when USE_DTRACE is not defineddas2008-08-141-1/+3
|
* * generic/tclBasic.c (TclNREvalObjv, Tcl_NRCallObjProc): DTrace probesdas2008-08-141-14/+92
| | | | | | | | | | | | | * generic/tclProc.c (TclNRInterpProcCore, InterpProcNR2): for NRE. [Bug 2017160] * generic/tclBasic.c (TclDTraceInfo): add two extra arguments to * generic/tclCompile.h: DTrace 'info' probes for tclOO * generic/tclDTrace.d: method & class/object info. * generic/tclCompile.h: add support for debug logging of DTrace * generic/tclBasic.c: 'proc', 'cmd' and 'inst' probes (does _not_ require a platform with DTrace).
* * generic/tclBasic.c: slight cleanupMiguel Sofer2008-08-091-6/+7
| | | | | * generic/tclCompile.h: * generic/tclExecute.c:
* * generic/tclBasic.c: Fix tailcalls falling out of tebc intoMiguel Sofer2008-08-071-2/+14
| | | | | * generic/tclExecute.c: Tcl_EvalEx [Bug 2017946] * generic/tclInt.h:
* duh ... committed only the ChangeLog entry, not the restMiguel Sofer2008-08-041-41/+30
|
* made function staticMiguel Sofer2008-08-031-1/+2
|
* * generic/tclBasic.c: new unsupported command atProcExitMiguel Sofer2008-08-031-48/+21
| | | | | | | | | * generic/tclCompile.h: that shares the implementation with * generic/tclExecute.c: tailcall. Fixed a segfault in * generic/tclInt.h: tailcalls. Tests added. * generic/tclInterp.c: * generic/tclNamesp.c: * tests/unsupported.test:
* * generic/tclBasic.c: Revised timing of the CmdFrame stack managementdgp2008-08-011-12/+17
| | | | | | | | * tests/info.test: in TclEvalEx so that the CmdFrame will still be on the stack at the time Tcl_LogCommandInfo is called to append another level of -errorinfo information. Sets the stage to add file and line data to the stack trace. Added test to check that [info frame] functioning remains unchanged by the revision.
* nr-enabling [for]; [while] made to reuse [for]'s infrastructure.Miguel Sofer2008-07-311-2/+2
|
* nr-enabling [while]Miguel Sofer2008-07-311-2/+2
|
* nr-enabling [if]Miguel Sofer2008-07-311-2/+2
|
* * generic/tclBasic.c: NR-enabling [catch]Miguel Sofer2008-07-311-2/+2
| | | | | | * generic/tclCmdAH.c: * generic/tclInt.h: * tests/NRE.test:
* Dumped tclNRE.h's contents into tclInt.h. The file is now empty andMiguel Sofer2008-07-311-3/+5
| | | | | | unrefernced everywhere but in macosx/Tcl.xcodeproj/project.pbxproj: some knowledgeable maintainer please remove tclNRE.h after making sure it doesn't break the build on macosx
* restricting usage and avoiding panics in [tailcall]Miguel Sofer2008-07-311-50/+32
|
* fix macro that gcc swallows but msvc doesn'tMiguel Sofer2008-07-311-7/+9
|
* * generic/tclBasic.c: Improved tailcalls and tests.Miguel Sofer2008-07-311-29/+40
| | | | | | | * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclTest.c: * tests/NRE.test:
* * generic/tclBasic.c (TclNREvalObjEx): new comments and code reorgMiguel Sofer2008-07-301-77/+89
| | | | to clarify what is happening.
* fixing last commitMiguel Sofer2008-07-301-2/+2
|
* * generic/tclBasic.c: guard against the value of iPtr->evalFlagsMiguel Sofer2008-07-301-3/+4
| | | | | changing between the times where TEOV and TEOV_exception run. Thanks dgp for catching this.
* a timid start at cleaning upMiguel Sofer2008-07-291-60/+59
|
* * generic/tclBasic.c: Made use of the thread's alloc cacheMiguel Sofer2008-07-291-2/+3
| | | | | | | | | * generic/tclInt.h: stored in the ekeko at interp creation * generic/tclNRE.h: to avoid hitting the TSD each time an * generic/tclThreadAlloc.c: NRE callback is pushed or pulled; the approach is suitably general to extend to evry other obj allocation where an interp is know; this is left for some other time, requires a lot of grunt work.
* Completely revamped NRE implementation, with (almost) unchanged API.Miguel Sofer2008-07-291-492/+278
|
* * generic/tclBasic.c: Added missing ref count when creating anandreas_kupries2008-07-281-2/+2
| | | | | | | empty string as path (TclEvalEx). In 8.4 the missing code caused panics in the testsuite. It doesn't in 8.5. I am guessing that the code path with the missing the incr-refcount is not invoked any longer. Because the bug in itself is certainly the same.
* * tests/info.test: Tests 38.* added, exactly testing the trackingandreas_kupries2008-07-251-1/+8
| | | | | | | | | | | | | | | | | of location for uplevel scripts. Resolved merge conflict on info-37.0, switched !singleTestInterp constraint to glob matching instead. Ditto info-22.8, removed constraint, more glob matching, and reduced the depth of the stack we check. More is coming, right now I want to commit the bug fixes. * tests/oo.test: Updated oo-22.1 for expanded location tracking. * generic/tclCompile.c (TclInitCompileEnv): Reorganized the initialization of the #280 location information to match the flow in TclEvalObjEx to get more absolute contexts. * generic/tclBasic.c (TclEvalObjEx): Added missing cleanup of extended location information.
* * generic/tclBasic.c: Modified TclArgumentGet to reject pure listsandreas_kupries2008-07-231-23/+24
| | | | | | | | | | * generic/tclCmdIL.c: immediately, without search. Reworked setup * generic/tclCompile.c: of eoFramePtr, doesn't need the line * tests/info.test: information, more sensible to have everything on line 1 when eval'ing a pure list. Updated the users of the line information to special case this based on the frame type (i.e. TCL_LOCATION_EVAL_LIST). Added a testcase demonstrating the new behaviour.
* * generic/tclBasic.c (GetCommandSource): added comment withMiguel Sofer2008-07-231-1/+9
| | | | explanation and warning for waintainers.
* Added missing function comments.andreas_kupries2008-07-221-1/+41
|
* fix warning; formattingdas2008-07-221-46/+52
|