summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
Commit message (Collapse)AuthorAgeFilesLines
* NRE-enable the ensemble creator (add extra field!)dkf2008-08-231-2/+3
| | | | Arrange for [dict for] to be NRE-enabled when not compiled. [Bug 2017632]
* Fix performance bug introduced by fix of [Bug 2037727]dkf2008-08-201-1/+11
|
* * generic/tclBasic.c: new unsupported command atProcExitMiguel Sofer2008-08-031-5/+3
| | | | | | | | | * 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-5/+7
|
* * generic/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-4/+15
| | | | | | | | | | | | * 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:
* * generic/tcl.decls: Changed the implementation ofMiguel Sofer2008-07-211-12/+6
| | | | | | | | | | * 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 [2021443] inconsistant "wrong # args" messagesnijtmans2008-07-191-3/+3
|
* new TclNRAddCallback macro for internal use instead of the publicMiguel Sofer2008-07-181-4/+5
| | | | Tcl_NRAddCallback
* * generic/tcl.decls: Change the public api prefix fromMiguel Sofer2008-07-181-9/+9
| | | | | | | | | | | | | | | | | * 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:
* Factor the ensemble code a bit more.dkf2008-07-151-168/+236
|
* NRE implementation [Patch 2017110]Miguel Sofer2008-07-131-82/+131
|
* * generic/tclNamesp.c (Tcl_LogCommandInfo): Restored ability todgp2008-05-221-1/+4
| | | | | handle the argument value length = -1. Thanks to Chris Darroch for discovering the bug and providing the fix. [Bug 1968245].
* Correct logic for handling error cases when setting the namespace unknown ↵dkf2008-05-201-24/+37
| | | | handler.
* * generic/tclNamesp.c (GetNamespaceFromObj): spoil the intrep ofMiguel Sofer2008-03-021-6/+8
| | | | | an nsNameType obj when the reference crosses interpreter boundaries.
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* Fix [Bug 1845320] and [Bug 1845397]dkf2007-12-061-1/+2
|
* * generic/tclNamesp.c (Tcl_SetEnsembleMappingDict): Added checksdgp2007-11-281-2/+24
| | | | | that the dict value passed in is in the format required to make the internals of ensembles work.
* Factor out the core compiled-ensemble builder for simplicity.dkf2007-11-211-1/+75
|
* Reduce cast count.dkf2007-11-191-118/+116
|
* Simplification+comments for ensemble dispatch enginedkf2007-11-181-128/+175
|
* Greatly improved ensemble compiler. This one now can handle any ensemble.dkf2007-11-161-9/+27
| | | | | It is usually not enabled though; only worth it when a subcommand is actually expected to undergo bytecode compilation.
* Must pass non-NULL interp to Tcl_SetEnsemble* functions.dkf2007-11-151-17/+11
|
* Compile [info exists] into bytecode. Includes new instructions to support it.dkf2007-11-141-1/+25
|
* [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-17/+17
| | | | objTypes.
* * generic/tclNamesp.c (Tcl_FindCommand): insure that FQ commandMiguel Sofer2007-10-271-2/+2
| | | | | names are searched from the global namespace, ie, bypassing resolvers of the current namespace [Bug 1114355].
* Generate literal values more efficiently using TclNewLiteralStringObj macro.dkf2007-09-171-6/+6
|
* * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from thedgp2007-09-091-217/+106
| | | | | | | | | | | | | | | | | | | * generic/tclNamesp.c: registered set. Revised the management of * generic/tclObj.c: the intrep of that Tcl_ObjType. Revised the * tests/obj.test: TclGetNamespaceFromObj() routine to return TCL_ERROR and write a consistent error message when a namespace is not found. [Bug 1588842. Patch 1686862] ***POTENTIAL INCOMPATIBILITY*** For callers of Tcl_GetObjType() on the name "nsName". * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers. * generic/tclProc.c: * tests/apply.test: Updated tests to expect new consistent * tests/namespace-old.test: error message when a namespace is not * tests/namespace.test: found. * tests/upvar.test:
* Tidying up.dkf2007-08-031-31/+31
|
* VarReform [Patch 1750051]Miguel Sofer2007-07-311-150/+37
| | | | *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
* clarify comments for last commitMiguel Sofer2007-07-051-2/+2
|
* * generic/tclNamesp.c (SetNsNameFromAny):Miguel Sofer2007-07-051-21/+28
| | | | | * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary ckfree/ckalloc when the old structs can be reused.
* * generic/tclNamesp.c: Fix case where a FQ cmd or ns was beingMiguel Sofer2007-07-041-1/+2
| | | | | * generic/tclObj.c: cached in a different interp, tkcon [Bug 1747512]
* * generic/tclCmdIL.c: More conversions to use TclStackAlloc.dgp2007-06-221-9/+2
| | | | * generic/tclScan.c:
* * generic/tclExecute.c: Revised TclStackRealloc() signature to betterdgp2007-06-221-29/+6
| | | | | | | * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc. * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced ckrealloc based allocations with TclStackRealloc allocations.
* correct pointer type mismatch in latest commitdgp2007-06-201-2/+2
|
* * generic/tclInt.decls: Revised the interfaces of the routinesdgp2007-06-201-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* Improve the argument substitution behaviour of Tcl_WrongNumArgs when faced withdkf2007-06-121-40/+26
| | | | ensemble and interp-alias rewrites.
* * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj andMiguel Sofer2007-06-111-33/+16
| | | | | | * generic/tclObj.c: TclGetNamespaceFromObj; modified the usage of structs ResolvedCmdName and ResolvedNsname so that the field refNsPtr is NULL for fully qualified names.
* * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj andMiguel Sofer2007-06-111-5/+3
| | | | * generic/tclObj.c: TclGetNamespaceFromObj
* * generic/tclInt.h:Miguel Sofer2007-06-101-78/+63
| | | | | | | | | * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclvar.c: new macros TclGetCurrentNamespace() and TclGetGlobalNamespace(); Tcl_GetCommandFromObj and TclGetNamespaceFromObj rewritten to make the logic clearer; slightly faster too.
* * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY todgp2007-06-051-3/+3
| | | | | | | | * generic/tclInt.h: control the timing with which the global * generic/tclNamesp.c: variables ::errorCode and ::errorInfo get * generic/tclProc.c: updated after an error. This keeps more * generic/tclResult.c: precise compatibility with Tcl 8.4. * tests/result.test (result-6.2): [Bug 1649062]
* [Tcl Bug 1706140]dgp2007-05-071-3/+3
| | | | | | | | | | | | | | | | | * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so that * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted() * generic/tclTrace.c (Trace*Proc): for themselves, and do not rely * generic/tclUtil.c (TclPrecTraceProc): on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of TclCallVarTraces to not pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that public routines only pass documented flag values down to lower level routines. * generic/tclTrace.c (TclCallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the TclCallVarTraces routine, the only place it can be done right.
* * generic/tclNamesp.c (Tcl_DeleteNamespace): Corrected flaw in thedgp2007-04-241-1/+8
| | | | | flag marking scheme to be sure that global namespaces are freed when their interp is deleted. [Bug 1705778].
* Replaced commas in varargs with string concatenation where possible [Patch ↵Kevin B Kenny2007-04-201-2/+2
| | | | 1515234]
* Handle creation of Tcl_Objs from constant strings better (easier to use, moredkf2007-04-101-4/+4
| | | | efficient). After [Patch 1529526] (afredd)
* * generic/tclExecute.c (TEBC):Miguel Sofer2007-04-061-80/+82
| | | | | | | | * generic/tclNamespace.c (NsEnsembleImplementationCmd): * generic/tclProc.c (InitCompiledLocals, ObjInterpProcEx, TclObjInterpProcCore, ProcCompileProc): code reordering to reduce branching and improve branch prediction (assume that forward branches are typically not taken).
* * generic/tclNamesp.c: Revised ErrorCodeRead and ErrorInfoReaddgp2007-04-031-7/+21
| | | | | trace routines so they guarantee the ::errorCode and ::errorInfo variable always appear to exist. [Bug 1693252].
* * generic/tclBasic.c: Replace arrays on the C stack and ckallocdgp2007-04-021-10/+6
| | | | | | | | | | | | * 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/tclExecute.c: More ckalloc -> ckrealloc conversions.dgp2007-03-211-20/+13
| | | | | | | | | * generic/tclLiteral.c: * generic/tclNamesp.c: * generic/tclParse.c: * generic/tclPreserve.c: * generic/tclStringObj.c: * generic/tclUtil.c: