summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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
| | |
* | | * generic/tclBasic.c: Ansified the new functions.andreas_kupries2008-07-221-9/+11
| | |
* | | * generic/tclBasic.c: Reworked the handling of bytecode literalsandreas_kupries2008-07-221-38/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCompile.c: for #280 to fix the abysmal performance * generic/tclCompile.h: for deep recursion, replaced the linear * generic/tclExecute.c: search through the whole stack with * generic/tclInt.h: another hashtable and simplified the data structure used by the compiler (array instead of hashtable). Incidentially this also fixes the memory leak reported via [Bug 2024937].
* | | * generic/tclBasic.c: Added numLevels field to CommandFrame,Miguel Sofer2008-07-221-2/+4
| | | | | | | | | | | | | | | * generic/tclExecute.c: let GetCommandSource use it. This solves * generic/tclInt.h: [Bug 2017146]. Thx dgp for the analysis.
* | | fix warning, formatting, whitespacedas2008-07-211-68/+80
| | |
* | | * generic/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-44/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | | whitespacedas2008-07-211-22/+22
| | |
* | | use TclEvalObjv instead of Tcl_EvalObjv at selected spotsMiguel Sofer2008-07-211-3/+3
| | |
* | | * generic/tcl.decls: Changed the implementation ofMiguel Sofer2008-07-211-37/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBasic.c: [namespace import]; removed * generic/tclDecls.h: Tcl_NRObjProc, replaced with * generic/tclExecute.c: Tcl_NRCmdSwap (proposed public * generic/tclInt.h: NRE API). This should fix * generic/tclNRE.h: [Bug 582506]. * generic/tclNamesp.c: * generic/tclStubInit.c:
* | | fix uninited and unused var warningsMiguel Sofer2008-07-211-3/+2
| | |
* | | * generic/tclBasic.c: NRE: enabled calling NR commandsMiguel Sofer2008-07-211-99/+220
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclExecute.c: from the callbacks. Completely * generic/tclInt.h: redone tailcall implementation * generic/tclNRE.h: using the new feature. * generic/tclProc.c: * tests/NRE.test:
* | | new TclNRAddCallback macro for internal use instead of the publicMiguel Sofer2008-07-181-23/+9
| | | | | | | | | | | | Tcl_NRAddCallback
* | | * generic/tcl.decls: Change the public api prefix fromMiguel Sofer2008-07-181-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | | Minor fixes (clearer panic messages, formatting of comments)dkf2008-07-181-55/+50
| | |
* | | * generic/tclDictObj.c (DictWithCmd, DictUpdateCmd): fixMiguel Sofer2008-07-181-16/+15
| | | | | | | | | | | | | | | | | | | | | refcounting bugs that caused crashes [Bug 2017857]. * generic/tclBasic.c (TclNREvalObjEx): streamline the management of the command frame (opt).
* | | Fix [Bug 2018603]dkf2008-07-151-33/+24
| | |
* | | Tidy up code for clarity.dkf2008-07-141-388/+382
| | |
* | | Store ClientDatas in NRE callback storage as an array; that's how they aredkf2008-07-141-7/+7
| | | | | | | | | | | | referred to in callback implementations anyway.
* | | * generic/tclBasic.c.: Embedded Tcl_Canceled() calls intoMiguel Sofer2008-07-141-9/+5
| | | | | | | | | | | | | | | * generic/tclExecute.c: TclInterpReady(). * generic/tclParse.c:
* | | * generic/tclBasic.c.: NRE left too many calls toMiguel Sofer2008-07-141-4/+1
| | | | | | | | | | | | | | | | | | * generic/tclExecute.c: TclResetCancellation lying around: it * generic/tclProc.c: only needs to be called prior to any iPtr->numLevels++. Thanks mistachkin.
* | | * generic/tclBasic.c: TclResetCancellation() calls were misplacedMiguel Sofer2008-07-131-6/+3
| | | | | | | | | | | | (merge mishap); stray //. Thanks patthoyts.
* | | whitespacedas2008-07-131-174/+174
| | |
* | | remove leftover DTRACE macro causing buid failuredas2008-07-131-5/+1
| | |
* | | NRE implementation [Patch 2017110]Miguel Sofer2008-07-131-576/+1304
| | |
* | | fix warningdas2008-06-131-2/+2
| | |
* | | TIP 285 ImplementationJoe Mistachkin2008-06-131-5/+445
| | |
* | | * generic/tclBasic.c: Compilation of uplevel scripts, allowMiguel Sofer2008-06-081-74/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCompCmds.c: non-body compiled scripts to access the * generic/tclCompile.c: LVT (but not to extend it) and enable the * generic/tclCompile.h: canonical list opt to sidestep the * generic/tclExecute.c: compiler. This is [Patch 1973096] * generic/tclProc.c: * tests/uplevel.test:
* | | Make things build (cleanly) on Win32. Thanks to Joe Mistachkin. [Patch 1980861]dkf2008-05-311-1/+2
| | |
* | | Implementation of TIP #257. Incomplete due to missing Win build support.dkf2008-05-311-1/+5
| | |
* | | Converted the [binary] command into an ensemble.patthoyts2008-05-021-5/+5
| | |
* | | * generic/tclInt.h: make stubs tables 'static const' anddas2008-04-161-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclStubInit.c: export only module-scope pointers to * generic/tclStubLib.c: the main stubs tables (for package * tools/genStubs.tcl: initialization). [Patch 1938497] * generic/tclBasic.c (Tcl_CreateInterp): * generic/tclTomMathInterface.c (TclTommath_Init):
* | | * README: Bump version number to 8.6a0dgp2008-04-011-6/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.h: * library/init.tcl: * macosx/Tcl-Common.xcconfig: * macosx/Tcl.pbproj/default.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/README: * win/configure.in: * win/makefile.bc: * win/tcl.m4: * unix/configure: autoconf-2.59 * win/configure: * generic/tclBasic.c: Revised stubs-generation tool and interp * tools/genStubs.tcl: creation so that "tclStubsPtr" is not present * unix/Makefile.in: in libtcl.so, but is present only in libtclstub.a. This tightens up the rules for users of the stubs interfaces. [Bug 1819422] * generic/tclDecls.h: make genstubs * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: * generic/tclPlatDecls.h: * generic/tclTomMathDecls.h:
* | * generic/tclBasic.c (OldMathFuncProc): Same workaround protectiondgp2008-03-141-7/+6
| | | | | | | | from bad TclStackAlloc() alignment. Thanks George Peter Staplin.
* | * generic/tclBasic.c (ExprAbsFunc): Revised so that the abs()dgp2008-03-101-3/+3
| | | | | | | | | | | | * tests/expr.test: function and the [::tcl::mathfunc::abs] command do not return the value of -0, or equivalent values with more alarming string reps like -1e-350. [Bug 1893815].
* | * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Revised thedgp2008-02-291-1/+2
| | | | | | | | | | | | | | | | | | | | refcount management of Tcl_AppendObjToErrorInfo to become that of a conventional Consumer routine. This preserves the ease of use for the overwhelming common callers who pass in a 0-count value, but makes the proper call with a non-0-count value less surprising. * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Revised the one caller within Tcl itself which passes a non-0-count value to Tcl_AppendObjToErrorInfo().
* | * generic/tclBasic.c (TclEvalObjvInternal): Plug memory leak whendgp2008-02-281-1/+4
| | | | | | | | | | | | an enter trace deletes or changes the command, prompting a reparsing. Don't let the second pass lose commandPtr value allocated during the first pass.
* | Reconcile coding style issues between branchesdgp2008-01-231-5/+4
| |
* | * generic/tclBasic.c: Replacing 'operator' by 'op' in the defMiguel Sofer2008-01-151-2/+2
| | | | | | | | | | * generic/tclCompExpr.c: of struct TclOpCmdClientData to * generic/tclCompile.h: accomodate C++ compilers [Bug 1855644]
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | Match docs and reality. [Bug 1662436]dkf2007-12-081-2/+2
| |
* | Simplify code for setting up the [chan] ensemble now that we can leveragedkf2007-12-061-333/+313
| | | | | | | | TclMakeEnsemble to do most of the work.
* | * generic/tclBasic.c: remove unneeded call in Tcl_CreateInterp,Miguel Sofer2007-11-281-8/+6
| | | | | | | | add comments
* | * generic/tclBasic.c:Miguel Sofer2007-11-261-1/+8
| | | | | | | | | | | | | | | | | | * generic/tclInt.h: * unix/tclUnixInit.c: * unix/tclUnixThrd.c: Fix stack checking via workaround for bug in glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks to Sergei Golovan (aka Teo) for detecting the bug and helping diagnose and develop the fix.
* | Remove #ifdef out accidentally left indkf2007-11-231-4/+1
| |