summaryrefslogtreecommitdiffstats
path: root/generic/tclInterp.c
Commit message (Collapse)AuthorAgeFilesLines
* [Bug 2895741]: Make min() and max() supported in safe interpreters.dkf2009-12-291-1/+18
|
* [Bug 2891362]: Make time limits work better with the event loop.dkf2009-12-281-3/+14
|
* Fix gcc warning: ignoring return value of ‘write’,nijtmans2009-12-161-5/+5
| | | | | | declared with attribute warn_unused_result CONSTify functions TclpGetUserHome and TclSetPreInitScript (TIP #27)
* * generic/tclBasic.c: Fixed things so that you can tailcallMiguel Sofer2009-12-051-2/+2
| | | | | | | | * generic/tclNamesp.c: properly out of a coroutine. * tests/tailcall.test: * generic/tclInterp.c: Fixed tailcalls for same-interp aliases (no test)
* * generic/tclInterp.c (SlaveEval): Agressive stomping of internal repsdgp2009-10-061-17/+4
| | | | | | | was added as part of the NRE patch of 2008-07-13. This doesn't appear to actually be needed, and it hurts quite a bit when large lists lose their intreps and require reparsing. Thanks to Ashok Nadkarni for reporting the problem.
* * generic/tclBasic.c: fixed "leaks" in aliases, imports andMiguel Sofer2009-03-211-1/+2
| | | | | | | * generic/tclInt.h: ensembles. Only remaining known leak * generic/tclInterp.c: is in ensemble unknown dispatch (as it * generic/tclNamesp.c: not NR-enabled) * tests/tailcall.test:
* - eliminate some unnessary type castsnijtmans2009-02-101-6/+6
| | | | | - some internal const decorations - spacing
* Fix for [Bug 2544618]Joe Mistachkin2009-02-061-6/+6
|
* * generic/tclInterp.c: Reverted the conversion of [interp] into andgp2009-02-021-956/+441
| | | | | | | | * tests/interp.test: ensemble. Such conversion is not necessary * tests/nre.test: (or even all that helpful) in the NRE-enabling of [interp invokehidden], and it has other implications -- including significant forkage of the 8.5 and 8.6 implementations -- that are better off avoided if there's no gain.
* * generic/tclInterp.c: Convert the [interp] command into adgp2009-01-291-441/+956
| | | | | [namespace ensemble]. Work in progress to NRE-enable the [interp invokehidden] subcommand.
* Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-7/+6
| | | | etc.)
* TIP #337 IMPLEMENTATIONdgp2008-12-091-3/+3
| | | | | | | | | | | | | | | | | | | * doc/BackgdErr.3: Converted internal routine * doc/interp.n: TclBackgroundException() into public routine * generic/tcl.decls: Tcl_BackgroundException(). * generic/tclEvent.c: * generic/tclInt.decls: * generic/tclDecls.h: make genstubs * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclIO.c: Update callers. * generic/tclIOCmd.c: * generic/tclInterp.c: * generic/tclTimer.c: *** POTENTIAL INCOMPATIBILITY only for extensions using the converted internal routine ***
* Implement TIP#307.dkf2008-12-051-9/+9
|
* Add "const" to many internalnijtmans2008-10-161-17/+17
| | | | | const tables. No functional or API change.
* * generic/tclBasic.c: new unsupported command atProcExitMiguel Sofer2008-08-031-5/+2
| | | | | | | | | * 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:
* Dumped tclNRE.h's contents into tclInt.h. The file is now empty andMiguel Sofer2008-07-311-2/+1
| | | | | | 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
* Completely revamped NRE implementation, with (almost) unchanged API.Miguel Sofer2008-07-291-8/+11
|
* just a few const -> CONST (in header files and .decls files)nijtmans2008-07-241-8/+8
| | | | and CONST -> const (.c files and internal .h files)
* * generic/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-3/+7
| | | | | | | | | | | | * generic/tclCmdAH.c: frame), added the ability to track the * generic/tclCompCmds.c: absolute location of literal procedure * generic/tclCompile.c: arguments, and making this information * generic/tclCompile.h: available to uplevel, eval, and * generic/tclInterp.c: siblings. This allows proper tracking of * generic/tclInt.h: absolute location through custom (Tcl-coded) * generic/tclNamesp.c: control structures based on uplevel, etc. * generic/tclProc.c: * tests/info.test:
* fix [2021443] inconsistant "wrong # args" messagesnijtmans2008-07-191-3/+3
|
* new TclNRAddCallback macro for internal use instead of the publicMiguel Sofer2008-07-181-2/+3
| | | | Tcl_NRAddCallback
* * generic/tcl.decls: Change the public api prefix fromMiguel Sofer2008-07-181-3/+3
| | | | | | | | | | | | | | | | | * generic/tcl.h: TclNR_foo to Tcl_NRfoo * generic/tclBasic.c: * generic/tclDecls.h: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclInterp.c: * generic/tclNRE.h: * generic/tclNamesp.c: * generic/tclOO.c: * generic/tclOOBasic.c: * generic/tclOOCall.c: * generic/tclOOMethod.c: * generic/tclProc.c: * generic/tclStubInit.c:
* more consistent wrong # arg messages: change all messages containing ↵nijtmans2008-07-131-5/+5
| | | | ?options? to the form ?-option value ...?
* NRE implementation [Patch 2017110]Miguel Sofer2008-07-131-2/+88
|
* * changes: Updates for 8.6a1 release.dgp2008-06-201-3/+3
| | | | | | | | | | | | | | * generic/tclInterp.c: Fixed completely boneheaded mistake that * tests/interp.test: [interp bgerror $slave] and [$slave bgerror] would always act like [interp bgerror {}]. [Bug 1999035]. * tests/chanio.test: Corrected flawed tests revealed by a -debug 1 * tests/cmdAH.test: -singleproc 1 test suite run. * tests/event.test: * tests/interp.test: * tests/io.test: * tests/ioTrans.test: * tests/namespace.test:
* TIP 285 ImplementationJoe Mistachkin2008-06-131-11/+80
|
* Small clarifications that code a bit nicer to read.dkf2008-05-301-10/+10
|
* * generic/tclInterp.c (Tcl_GetAlias): fix for [Bug 1882373]Miguel Sofer2008-01-301-2/+2
|
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* Reduce cast count.dkf2007-11-191-40/+40
|
* General cleanliness improvements (reduced usage of casts, assume C89)dkf2007-11-181-139/+123
|
* [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-33/+33
| | | | objTypes.
* * generic/tclInterp.c (Tcl_Init): Removed constraint on abilitydgp2007-09-061-3/+3
| | | | | to define a custom [tclInit] before calling Tcl_Init(). Until now the custom command had to be a proc. Now it can be any command.
* * generic/tclInt.decls: New internal routine TclBackgroundException()dgp2007-09-061-4/+6
| | | | | | | | | | | | | | | | * generic/tclEvent.c: that for the first time permits non-TCL_ERROR exceptions to trigger [interp bgerror] handling. Closes a gap in TIP 221. When falling back to [bgerror] (which is designed only to handle TCL_ERROR), convert exceptions into errors complaining about the exception. * generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call * generic/tclIO.c: TclBackgroundException(). * generic/tclIOCmd.c: * generic/tclTimer.c: * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c:
* * generic/tclInt.decls: Revised the interfaces of the routinesdgp2007-06-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* * generic/tclBasic.c: Split TEOv in two, by separating aMiguel Sofer2007-06-091-2/+5
| | | | | | | | | | | | | | | | | | | | | | processor for non-TCL_OK returns. Also spli TEOvI in a full version that handles non-existing and traced commands, and a separate shorter version for the regular case. * generic/tclBasic.c: Moved the generation of command strings for * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in TclCheck[Interp|Execution]Traces(). Also insured that the strings are properly nul terminated at the correct length [Bug 1693986] * generic/tclBasic.c: Extend usage of TclLimitReady() and * generic/tclExecute.c: (new) TclLimitExceeded() macros. * generic/tclInt.h: * generic/tclInterp.c: * generic/tclInt.h: New TclCleanupCommandMacro for core usage. * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclObj.c:
* Added macro version of Tcl_LimitReady.dkf2007-05-171-7/+11
|
* Whitespace policing, replacing commas in varargs with constant string ↵Kevin B Kenny2007-04-201-7/+7
| | | | catenation, and fixed an oversight in the fix for NZA time zones.
* Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-3/+4
| | | | efficient). After [Patch 1529526] (afredd)
* * generic/tclBasic.c: Replace arrays on the C stack and ckallocdgp2007-04-021-3/+4
| | | | | | | | | | | | * generic/tclExecute.c: calls with TclStackAlloc calls to use memory * generic/tclFCmd.c: on Tcl's evaluation stack. * generic/tclFileName.c: * generic/tclIOCmd.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclTrace.c: * unix/tclUnixPipe.c:
* * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-2/+4
| | | | | | | | | | | | | | | | | | | | | * 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:
* Silence compiler grumbles.dkf2006-11-021-8/+5
|
* Added explanations, cleaned up whitespace.dkf2006-11-021-12/+30
|
* * generic/tclBasic.c:Miguel Sofer2006-10-311-5/+3
| | | | | | | | * generic/tcl.h: * generic/tclInterp.c: * generic/tclNamesp.c: removing the flag bit TCL_EVAL_NOREWRITE, the last remnant of the callObjc/v fiasco. It is not needed, as it is now always set and checked or'ed with TCL_EVAL_INVOKE.
* * generic/tclInterp.c (ApplyObjCmd):aMiguel Sofer2006-10-261-3/+4
| | | | | * generic/tclNamesp.c (EnsembleImplementationCmd): replaced ckalloc (heap) with TclStackAlloc (execution stack).
* * generic/tclProc.c (ApplyObjCmd): fix wrong#args for apply byMiguel Sofer2006-10-241-3/+5
| | | | | | using the ensemble rewrite engine, [Bug 1574835]. * generic/tclInterp.c (AliasObjCmd): previous commit missed usage of TCL_EVAL_NOREWRITE for aliases.
* * generic/tclInterp.c (ApplyObjCmd): fixed bad error in 2006-10-12Miguel Sofer2006-10-171-2/+5
| | | | commit: interp released too early. Spotted by mistachkin.
* * generic/tclInterp.c (ApplyObjCmd):Miguel Sofer2006-10-121-5/+26
| | | | | | * tests/interp.test (interp-14.5-10): made [interp alias] use the ensemble rewrite machinery to produce better error messages [Bug 1576006]
* change "procedure" to "function" for (slightly) greater claritydkf2005-12-121-8/+8
|
* Fix two bugs in limits, one a crash and the other a failed flag reset.dkf2005-10-101-380/+376
|