summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
Commit message (Collapse)AuthorAgeFilesLines
...
| | * * generic/tcl.h Made changes so that the "wideInt" Tcl_ObjTypedgp2003-04-161-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclObj.c is defined on all platforms, even those where * generic/tclPort.h TCL_WIDE_INT_IS_LONG is defined. Also made the Tcl_Value struct have a wideValue field on all platforms. This is a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms because that struct changes size. This is the same TIP 72 incompatibility that was seen on other platforms at the 8.4.0 release, when this change should have happened as well. [Bug 713562] * generic/tclInt.h: New internal macros TclGetWide() and TclGetLongFromWide() to deal with both forms of the "wideInt" Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined to the header file. * generic/tclCmdAH.c: Replaced most coding that was conditional * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that * generic/tclExecute.c: works across platforms, sometimes using * generic/tclTest.c: the new macros above to do it. * generic/tclUtil.c: * generic/tclVar.c:
| | * * generic/tclVar.c:Miguel Sofer2003-03-241-18/+42
| | | | | | | | | | | | | | | * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the created local variable, bugs #631741 and #696893.
| * | * generic/tclVar.c (VarHashInvalidateEntry): Removed obsoleteandreas_kupries2010-11-231-12/+1
| | | | | | | | | | | | | | | | | | patch for AIX defining this macro as function. This is not necessary anymore. See ChangeLog entry 2010-07-28 (Bug 3037525) for the actual bug and fix the patch was a workaround for.
| * | * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff toandreas_kupries2010-09-011-3/+5
| | | | | | | | | | | | | | | | | | | | | * generic/tclVar.c: make the behaviour of lappend in bytecompiled * tests/append.test: mode consistent with direct-eval and 'append' * tests/appendComp.test: generally. Added tests (append*-9.*) showing the difference.
| * | * generic/tclVar.c: fix for crash [Bug 3037525]: lose fickleMiguel Sofer2010-07-311-7/+3
| | | | | | | | | | | | optimisation in TclDeleteVars (used for runtime-created locals)
| * | More corrections to the [array unset] command.dkf2010-02-031-7/+6
| | |
| * | Ensure that decrements never assume that they can't do (actual) deletion.dkf2010-02-021-3/+7
| | |
| * | Fix [Bug 2939073]: dangling ref when an unset trace triggered by [array unset]dkf2010-02-021-20/+59
| | | | | | | | | | | | hits the next element to be deleted.
| * | Fix [Bug 2629338]: Stop evil unset traces from accessing freed memory.dkf2009-10-171-5/+25
| | |
| * | * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-24): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script Tcl_Obj*'s, to properly account for them while counting lines for #280.
| * | * generic/tclCmdIL.c: Removed unused variables.dgp2009-07-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCompile.c: * generic/tclVar.c: * unix/tclUnixChan.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
| * | * generic/tclTrace.c: Corrected handling of errors returned bydgp2008-10-081-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | variable traces so that the errorInfo value contains the original error message. [Bug 2151707] * generic/tclVar.c: Revised implementation of TclObjVarErrMsg so that error message construction does not disturb an existing iPtr->errorInfo that may be in progress.
| * | * generic/tclVar.c (TclLookupSimpleVar): Retrieve the number ofdgp2008-08-071-3/+2
| | | | | | | | | | | | | | | | | | locals in the localCache from the CallFrame and not from the Proc which may have been mangled by a (broken?) recompile. Backport from the HEAD.
| * | * generic/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | | Fix gcc -Wextra warning: missing initializernijtmans2010-12-101-13/+13
| | |
* | | * generic/tclVar.c: use the macro HasLocalVars everywhereMiguel Sofer2010-09-271-4/+3
| | |
* | | * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect):hobbs2010-09-221-20/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclVar.c (TclLookupSimpleVar, CompareVarKeys): * generic/tclPathObj.c (Tcl_FSGetNormalizedPath, Tcl_FSEqualPaths): * generic/tclExecute.c (TclExecuteByteCode): * generic/tclIOUtil.c (TclFSCwdPointerEquals): peephole opt * generic/tclResult.c (TclMergeReturnOptions): use memcmp where applicable as possible speedup on some libc variants.
* | | * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff toandreas_kupries2010-09-011-3/+5
| | | | | | | | | | | | | | | | | | | | | * generic/tclVar.c: make the behaviour of lappend in bytecompiled * tests/append.test: mode consistent with direct-eval and 'append' * tests/appendComp.test: generally. Added tests (append*-9.*) showing the difference.
* | | Remove many type casts which are no longernecessary as a result of [Patch ↵nijtmans2010-08-221-13/+11
| | | | | | | | | | | | 3009403]: Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntry
* | | * generic/tclVar.c: correcting bad port of [Bug 3037525] fixMiguel Sofer2010-08-021-2/+2
| | |
* | | * generic/tclVar.c: fix for crash [Bug 3037525]: lose fickleMiguel Sofer2010-07-311-7/+2
| | | | | | | | | | | | optimisation in TclDeleteVars (used for runtime-created locals)
* | | Eliminate some casts to (Tcl_HashTable *)nijtmans2010-05-311-4/+4
| | |
* | | Code Audit results:dkf2010-03-051-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | * use do { ... } while (0) in macros * avoid shadowing one local variable with another * use clearer 'foo.bar++;' instead of '++foo.bar;' where result not required (i.e., semantically equivalent) * follow Engineering Manual rules on spacing and declarations
* | | Pure whitespace changes, changing to follow Engineering Manual style.dkf2010-02-241-2/+2
| | |
* | | Upgrade Tcl's hash function to use the FNV-32 algorithm. This is marginallydkf2010-02-071-36/+2
| | | | | | | | | | | | | | | faster and gives a bit better distribution of keys (especially in large hash tables) but does change hash iteration order.
* | | More consistency in errorcode generation.dkf2010-02-051-14/+25
| | |
* | | Follow-up to [2010-01-29] commit:nijtmans2010-02-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prevent space within stub table function parameters if the parameter type is a pointer. Minor formatting, and VOID -> void. Change signature of TclNRInterpProcCore, and TclOONewProc(Instance|)MethodEx, indicating that errorProc is a function pointer tclVar.c: fixed two gcc warnings
* | | Use the object RE interface for faster matching in [array names -regexp].dkf2010-02-041-121/+136
| | |
* | | Make [array get] work again with a trivial pattern.dkf2010-02-041-4/+4
| | |
* | | Minor updates: more errorcodes, less C stack levels for old APIsdkf2010-02-041-98/+191
| | |
* | | More corrections to the [array unset] command.dkf2010-02-031-26/+30
| | |
* | | Turned the [array] command into a true ensemble. Test changes indicate somedkf2010-02-021-551/+1177
| | | | | | | | | | | | alteration to error messages, otherwise no change.
* | | Switch to using the new faster var-ref internal API inside [array unset] whendkf2010-02-021-4/+5
| | | | | | | | | | | | it makes sense.
* | | Fix [Bug 2939073]: dangling ref when an unset trace triggered by [array unset]dkf2010-02-021-20/+59
| | | | | | | | | | | | hits the next element to be deleted.
* | | One more function that needs the LVT index passing into it now.dkf2010-01-311-5/+7
| | |
* | | Make the [unset] command be bytecode compiled.dkf2010-01-301-14/+58
| | |
* | | a bit of cleanupdgp2009-11-201-1/+4
| | |
* | | Fix [Bug 2629338]: Stop evil unset traces from accessing freed memory.dkf2009-10-171-15/+37
| | |
* | | * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript, TclCompileTokens): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-24): Extended the parser, compiler, and execution engine with code and attendant data structures tracking the position of continuation lines which are not visible in the resulting script Tcl_Obj*'s, to properly account for them while counting lines for #280.
* | | Revert series of local changes not relevant to the last commit.andreas_kupries2009-07-231-12/+3
| | |
* | | * generic/tclIO.c (Tcl_GetChannelHandle): Do not crash forandreas_kupries2009-07-231-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | * generic/tclPipe.c (FileForRedirect): getHandleProc == NULL, this is allowed. Provide a nice error message in the bypass area. Updated caller to check the bypass for a mesage. This fixes the bug [Bug 2826248] reported by Andy Sonnenburg <andy22286@users.sourceforge.net>
* | | * generic/tclBinary.c: Removed unused variables.dgp2009-07-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdIL.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclHash.c: * generic/tclIOUtil.c: * generic/tclVar.c: * generic/tclBasic.c: Silence compiler warnings about ClientData. * generic/tclProc.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
* | | Fix [Bug 2673163]dkf2009-03-241-8/+38
| | |
* | | * generic/tclVar.c (TclLookupSimpleVar): Shift all calls todgp2009-03-181-7/+2
| | | | | | | | | | | | | | | | | | Tcl_SetErrorCode() out of TclLookupSimpleVar and onto its callers, where control with TCL_LEAVE_ERR_MSG flag is more easily handled. [Bug 2689307]
* | | - eliminate some unnessary type castsnijtmans2009-02-101-22/+23
| | | | | | | | | | | | | | | - some internal const decorations - spacing
* | | Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-10/+10
| | | | | | | | | | | | etc.)
* | | Generate errorcodes for more cases.dkf2009-01-081-2/+21
| | |
* | | move variable "length" inside if()nijtmans2008-12-171-2/+2
| | | | | | | | | | | | | | | don't use ckfree((void *)...) but ckfree((char *)...)
* | | Fix signature and implementation of Tcl_HashStats,nijtmans2008-11-171-2/+2
| | | | | | | | | | | | such that it conforms to the documentation.
* | | Style improvements - invoking callbacks without visual junk.dkf2008-10-261-5/+5
| | |