From: SourceForge.net <no...@so...> - 2006-10-15 03:43:14
|
Patches item #1577278, was opened at 2006-10-14 13:21 Message generated for change (Comment added) made by dgp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=1577278&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 44. Parsing and Eval Group: None Status: Open Resolution: None Priority: 8 Submitted By: miguel sofer (msofer) Assigned to: miguel sofer (msofer) Summary: always have a valid frame Initial Comment: The patch insures that there are always valid iPtr->varFramePtr and iPtr->framePtr, even at root level. This simplifies the code as the checks for iPtr->varFramePtr==NULL are not needed anymore. It also adds new functionality (currently unused): core calls to Tcl_EvalObjv with TCL_EVAL_INVOKE may set a namespace in which the command lookup is to be performed; if none is requested, the lookup is done at global level as before. The patch hijacks two unused fields from the Interp struct: - char *unused3; /* No longer used (was errorInfo) */ - char *unused4; /* No longer used (was errorCode) */ + CallFrame *rootFramePtr; /* Global frame pointer for this interpreter */ + Namespace *lookupNsPtr; /* Namespace to use ONLY on the next + * TCL_EVAL_INVOKE call to Tcl_EvalObjv */ ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2006-10-14 23:43 Message: Logged In: YES user_id=80530 One possible wrinkle here is that we should really be doing away with, or at least "exploding" the TCL_EVAL_INVOKE flag, if it's the one I suspect it is. This feature might well be suitable for one of its successors. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=1577278&group_id=10894 |