summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don.Miguel Sofer2005-10-311-10/+10
| | | | * tests/trace.test: fix duplicate test numbers
* * generic/tclBasic.c: Updated several callers to usedgp2005-09-141-24/+17
| | | | | | | * generic/tclCmdMZ.c: TclFormatToErrorInfo(). * generic/tclIOUtil.c: * generic/tclNamesp.c: * generic/tclProc.c:
* Remove _ANSI_ARGS_ and tidy up commentsdkf2005-08-261-236/+208
|
* Fix crashes when running Snit's test suite caused by traces forcing the interpdkf2005-08-261-2/+5
| | | | result object to become shared.
* * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so thatdgp2005-07-261-18/+18
| | | | | * tests/trace.test (trace-34.4): command delete traces fire while the command still exists. [Bug 1047286]
* Getting more systematic about styledkf2005-07-171-207/+241
|
* Whitespace/comment tidyingdkf2005-07-151-931/+914
|
* * generic/tclNamesp.c: Allow for [namespace import] of a commanddgp2005-07-051-1/+10
| | | | | * tests/namespace.test: over a previous [namespace import] of itself without throwing an error. [RFE 1230597]
* * generic/tclInt.h: Reduced the Tcl_ObjTypes "index",dgp2005-06-071-6/+6
| | | | | | | * generic/tclIndexObj.c: "enembleCmd", "localVarName", and * generic/tclNamesp.c: "levelReference" to file static scope. * generic/tclProc.c: * generic/tclVar.c:
* TIP#229 implementationdkf2005-05-301-26/+348
|
* Quell a gcc warningdkf2005-05-191-4/+5
|
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
|
* * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro.dgp2005-05-051-87/+130
| | | | | | | | | | | | | | * generic/tclInt.h: * generic/tclUtil.c: * generic/tclIntDecls.h: `make genstubs` * generic/tclStubInit.c: * generic/tclBasic.c: Added callers of TclMatchIsTrivial where * generic/tclCmdIL.c: a search can be done more efficiently * generic/tclCompCmds.c:when it is recognized that a pattern match * generic/tclDictObj.c: is really an exact match. [Patch 1076088] * generic/tclIO.c: * generic/tclNamesp.c: * generic/tclVar.c:
* Fix commentdkf2005-03-091-1/+2
|
* TIP#235 implementation (rename functions, add to stubs table, document)dkf2005-01-191-72/+73
| | | | Ensembles now have a C API. :^)
* * generic/tclTest.c: Added two new functions to allocate memoryMiguel Sofer2004-12-151-13/+66
| | | | | | | | | | from the execution stack (TclStackAlloc, TclStackFree). Added functions TclPushStackFrame and TclPopStackFrame that do the work of Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames allocated in the execution stack - i.e., heap instead of C-stack. The core uses these two new functions exclusively; the old ones remain for backwards compat, as at least two popular extensions (itcl, xotcl) are known to use them.
* converting the static function GetNamespaceFromObj() to MODULE_SCOPEMiguel Sofer2004-12-111-12/+9
| | | | TclGetNamespaceFromObj().
* Make ensemble API available to rest of Tcl core.dkf2004-12-101-35/+1
|
* Provide an internal API for manipulating ensembles.dkf2004-12-091-133/+635
|
* Convert mutex-protected global state into thread-local state. [FRQ 1077210]dkf2004-12-021-9/+18
|
* Cleaning up of the namespace guts.dkf2004-11-011-551/+546
|
* Allow ensembles to rewrite their subcommands' error messages to be moredkf2004-10-291-14/+66
| | | | | | relevant to users. [Patch 1056864] Also patches to core to take advantage of this Also other general cleaning up of Tcl_WrongNumArgs usage
* Make ensembles report shorter error traces that conceal more of how thedkf2004-10-221-2/+3
| | | | ensemble implements itself. This is usually the right thing to do.
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp,dgp2004-10-151-49/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TclEvalObjvInternal,Tcl_LogCommandInfo,TclAddObjErrorInfo): * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclEvent.c (BgError,ErrAssocData,Tcl_BackgroundError, HandleBgErrors,BgErrorDeleteProc): * generic/tclExecute.c (TclCreateExecEnv,TclDeleteExecEnv): * generic/tclIOUtil.c (comments only): * generic/tclInt.h (ExecEnv,Interp, ERR_IN_PROGRESS): * generic/tclInterp.c ([tclInit]): * generic/tclMain.c (comments only): * generic/tclNamesp.c (Tcl_CreateNamespace,Tcl_DeleteNamespace,TclTeardownNamespace): * generic/tclProc.c (TclUpdateReturnInfo): * generic/tclResult.c (Tcl_ResetResult,TclTransferResult): * generic/tclTrace.c (CallVarTraces): Reworked management of the "errorInfo" data of an interp. That information is now primarily stored in a new private (Tcl_Obj *) field of the Interp struct, rather than using a global variable ::errorInfo as the primary storage. The ERR_IN_PROGRESS flag bit value is no longer required to manage the value in its new location, and is removed. Variable traces are established to support compatibility for any code expecting the ::errorInfo variable to hold the information. ***POTENTIAL INCOMPATIBILITY*** Code that sets traces on the ::errorInfo variable may notice a difference in timing of the firing of those traces. Code that uses the value ERR_IN_PROGRESS.
* * generic/tclBasic.c:dgp2004-10-061-61/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclDictObj.c: * generic/tclEncoding.c: * generic/tclExecute.c: * generic/tclFCmd.c: * generic/tclHistory.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclIO.c: * generic/tclIOCmd.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclResult.c: * generic/tclScan.c: * generic/tclTimer.c: * generic/tclTrace.c: * generic/tclUtil.c: * generic/tclVar.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.
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp,dgp2004-10-051-14/+68
| | | | | | | | | | | | | | | | | | | | TclEvalObjvInternal,Tcl_LogCommandInfo): * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors): * generic/tclInt.h (Interp, ERROR_CODE_SET): * generic/tclNamesp.c (Tcl_CreateNamespace,Tcl_DeleteNamespace,TclTeardownNamespace): * generic/tclResult.c (Tcl_ResetResult,Tcl_SetObjErrorCode,TclTransferResult): * generic/tclTrace.c (CallVarTraces): Reworked management of the "errorCode" data of an interp. That information is now primarily stored in a new private (Tcl_Obj *) field of the Interp struct, rather than using a global variable ::errorCode as the primary storage. The ERROR_CODE_SET flag bit value is no longer required to manage the value in its new location, and is removed. Variable traces are established to support compatibility for any code expecting the ::errorCode variable to hold the information.
* oopsdgp2004-10-051-2/+1
|
* * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021dgp2004-10-051-18/+1
| | | | workaround. That bug is now fixed.
* * generic/tclBasic.c (Tcl_AddObjErrorInfo): More re-organizationdgp2004-09-301-37/+29
| | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c (Tcl_ErrorObjCmd): of the management of * generic/tclCmdMZ.c (TclProcessReturn): the errorCode value. * tests/error.test (error-6.4-9): * generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified * tests/namespace.test (namespace-8.5,6): the save/restore of ::errorInfo and ::errorCode during global namespace teardown. Revised the comment to clarify why this is done, and added tests that will fail if this is not done. * generic/tclResult.c (TclTransferResult): Added safety checks so that unexpected undefined ::errorInfo or ::errorCode will not lead to a segfault. * generic/tclTrace.c (TclCallVarTraces): Save/restore the flag * tests/var.test (var-16.1): values that define part of the interpreter state during variable traces. [Bug 10381021].
* Factorize out the code for freeing an object's internal rep.dkf2004-09-291-10/+3
|
* * generic/tclBasic.c: Corrections to the 2004-09-21 commitdgp2004-09-241-2/+1
| | | | | | | | * generic/tclExecute.c: regarding ERR_ALREADY_LOGGED. That commit * generic/tclNamesp.c: caused Tk test send-10.7 to fail. Added * tests/namespace.test (25.7,8): tests in the Tcl test suite * tests/pkg.test (2.25,26): to catch this error without the aid of Tk in the future.
* * generic/tclBasic.c: Reworked management of the interpdgp2004-09-211-1/+2
| | | | | | | | | | | | | | * generic/tclCompile.c: flag ERR_ALREADY_LOGGED, to reduce * generic/tclExecute.c: its exposure. Still left several * generic/tclNamesp.c: references that are just too nice on performace to do away with. These changes also resolve an inconsistency in the ::errorInfo values produced by [namespace eval x error foo bar] and [namespace eval x {error foo bar}]. * generic/tclExecute.c (TclCompEvalObj): Simplified the TclCompEvalObj routine. Much housekeeping now reliably happens elsewhere. [Patch 1031949]
* Fix [Bug 1026903] by storing what ensemble the ensemble is cached for.dkf2004-09-131-2/+7
|
* comment typodgp2004-09-101-2/+2
|
* * generic/tclNamespace.c (TclGetNamespaceForQualName): Resolveddgp2004-09-101-12/+8
| | | | | | | | | longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY flag revealed by testing the 2004-09-09 commits against Itcl. TCL_NAMESPACE_ONLY now acts as specified in the pre-function comment, forcing resolution in the passed in context namespace. It has been incorrectly forcing resolution in the interp's current namespace.
* Also corrected faulty prevention of [namespace import] cycles.dgp2004-09-091-20/+27
| | | | [Bug 1017299]
* * generic/tclNamesp.c (Tcl_ForgetImport): Corrected faultydgp2004-09-091-45/+78
| | | | | * tests/namespace.test: logic that relied exclusively on string matching and failed in the presence of [rename]s. [Bug 560297]
* Make [namespace which] use newer option parsing code for more flexibility.dkf2004-08-271-27/+21
|
* Minor fixesdkf2004-08-271-114/+100
|
* Fix [Bug 1017022] by factorizing out the ensemble lookup code and fixing once.dkf2004-08-271-26/+62
|
* Fixes to ensemble -unknown handler processing to stop [namespace import] fromdkf2004-08-251-15/+5
| | | | | disrupting things horribly. Problem found by Don Porter when investigating [Bug 1016167].
* Plug leak and clarify codedkf2004-08-031-10/+9
|
* Add field initialization to fix [Bug 989298]. D'oh!dkf2004-08-031-1/+2
|
* TIP#207 IMPLEMENTATIONdgp2004-08-021-33/+24
| | | | | | | | | | * doc/interp.n: Added support for a -namespace option to the * generic/tclBasic.c: [interp invokehidden] command. Also added an * generic/tclInt.h: internal routine TclObjInvokeNamespace() and * generic/tclInterp.c: corrected the flag names TCL_FIND_ONLY_NS and * generic/tclNamesp.c: TCL_CREATE_NS_IF_UNKNOWN that are passed to the * generic/tclTrace.c: internal routine TclGetNamespaceForQualName(). * tests/interp.test: [Patch 981841]
* Another leak fix for [Bug 989093]dkf2004-07-111-1/+9
|
* * generic/tclNamesp.c (Tcl_FindNamespaceVar):Miguel Sofer2004-05-251-15/+1
| | | | | | | | | | | | | | | | * tests/namespace.test (namespace-17.10-12): reverted commit of 2004-05-23 and removed the tests, as it interferes with the varname resolver and there are apps that break (AlphaTk). A fix will have to wait for Tcl9. * generic/tclVar.c: Caching of namespace variables disabled: no simple way was found to avoid interfering with the resolver's idea of variable existence. A cached varName may keep a variable's name in the namespace's hash table, which is the resolver's criterion for existence. * tests/namespace.c (namespace-17.10): testing for interference between varname caching and name resolver.
* Fix in commentsMiguel Sofer2004-05-231-10/+7
|
* * generic/tclNamesp.c (Tcl_FindNamespaceVar): [Bug 959052] fixed,Miguel Sofer2004-05-231-1/+18
| | | | | | | insuring that no "zombie" variables are found. * generic/tclVar.c (TclLookupSimpleVar): comments re [Bug 736729] (predecessor of [Bug 959052]) removed. * tests/namespace.test: added tests 17.10-12
* Silly bug found originally by Damon Courtney. [922752]dkf2004-03-241-2/+2
|
* * generic/tclNamesp.c: Added temporary pointer variables to workrmax2004-03-181-2/+5
| | | | | * generic/tclStubLib.c: around warnings related to * unix/tclUnixChan.c: strict aliasing with GCC 3.3.