summaryrefslogtreecommitdiffstats
path: root/generic/tclDictObj.c
Commit message (Collapse)AuthorAgeFilesLines
* Stop losing result codes in [dict with] in some circumstancesdkf2004-10-191-3/+2
|
* * generic/tclInt.h (Tcl*InterpState): New internal routinesdgp2004-10-191-15/+13
| | | | | | | | | | | | | | | | | | | | | * generic/tclResult.c (Tcl*InterpState): TclSaveInterpState, TclRestoreInterpState, and TclDiscardInterpState are superior replacements for Tcl_(Save|Restore|Discard)Result. Intent is that these routines will be converted to public routines after TIP approval. * generic/tclBasic.c (TclEvalObjvInternal): * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd): * generic/tclIOGT.c (ExecuteCallback): * generic/tclTrace.c (Trace*Proc,TclCheck*Traces,TclCallVarTraces): Callers of Tcl_*Result updated to call the new routines. The calls were relocated in several cases to perform save/restore operations only when needed. * generic/tclEvent.c (HandleBgErrors): * generic/tclFCmd.c (CopyRenameOneFile): Calls to Tcl_*Result that were eliminated because they appeared to serve no useful purpose, typically saving/restoring an error message, only to throw it away.
* Fix comments...dkf2004-10-111-3/+3
|
* Fix things so we can pass our own test suite for TIP#212...dkf2004-10-081-3/+3
|
* Core of implementation of TIP#212dkf2004-10-081-60/+379
|
* * generic/tclBasic.c:dgp2004-10-061-18/+11
| | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclDictObj.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
* Remove unneeded labeldkf2004-10-021-2/+1
|
* Modify the semantics of [dict set] to be what everyone expected them to bedkf2004-10-021-72/+136
| | | | | in a straw poll. Also made T_DODone;T_DONext a non-fatal sequence, leading to simplified code.
* Factorize out the code for freeing an object's internal rep.dkf2004-09-291-7/+3
|
* Stop [dict unset] from leaking objects. [Bug 989093 in part]dkf2004-07-111-2/+4
|
* Made compiling with -Wstrict-prototypes -Wmissing-prototypes much cleaner.dkf2004-05-271-1/+2
| | | | Also added support for [FRQ 951168] but left that switched off by default.
* Implementation of [dict merge] subcommand, based on [FRQ 745851]dkf2004-03-121-5/+91
|
* Allow [dict exists {a {b c}} d e] to not be an error. [Bug 871387]dkf2004-01-141-18/+45
|
* Dict refcount fixes from Peter Spjuth. Thanks! [Bug 876170]dkf2004-01-141-14/+47
|
* All uses of 'panic' (the macro) changeddavygrvy2003-12-241-10/+10
| | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]
* * doc/SplitList.3: Implementation of TIP 148. Fixes [Bug 489537].dgp2003-09-041-3/+5
| | | | | | | | | | * generic/tcl.h: Updated Tcl_ConvertCountedElement() to quote * generic/tclUtil.c: the leading "#" character of all list elements unless the TCL_DONT_QUOTE_HASH flag is passed in. * generic/tclDictObj.c: Updated Tcl_ConvertCountedElement() callers * generic/tclListObj.c: to pass in the TCL_DONT_QUOTE_HASH flags * generic/tclResult.c: when appropriate.
* Fixed memory leak caused by confusion about string ownership. [Bug 731706]dkf2003-05-071-3/+5
|
* Stopped warning about uninitialised variables in DictIncrCmddkf2003-04-291-26/+21
| | | | Thanks to Andreas Kupries for reporting this.
* Made [incr] able to accept and work with wide increments [Bug 728838]dkf2003-04-281-13/+60
|
* * generic/tcl.h Made changes so that the "wideInt" Tcl_ObjTypedgp2003-04-161-3/+1
| | | | | | | | | | | | | | | | | | | | | | * 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:
* Yet more warning killing, this time reported by Miguel Sofer by private chat.dkf2003-04-071-1/+2
|
* Stopped compilers from moaning about switch fall-through. [Bug 716327]dkf2003-04-071-1/+5
|
* Fixed bugs 715751 and 713562 so dict code should build everywhere and wide intsdkf2003-04-071-20/+31
| | | | be defined (though not necessarily useful) everywhere.
* Converted new files from DOS line endings to usual line endings.dgp2003-04-051-2519/+2519
|
* Final stage of getting dictionaries into the core. Test suite should work now!dkf2003-04-051-40/+1
|
* The bulk of the TIP#111 implementation. Still need to finish plumbing thisdkf2003-04-051-0/+2558
into the rest of the core, but that won't take long...