Tcl Source Code

View Ticket
Login
Ticket UUID: 1904111
Title: kill TEOVI
Type: Patch Version: None
Submitter: msofer Created on: 2008-02-28 17:12:07
Subsystem: 45. Parsing and Eval Assigned To: dgp
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2008-07-14 05:48:43
Resolution: Out of Date Closed By: msofer
    Closed on: 2008-07-13 22:48:43
Description:
A patch that
  * kills TEOVI, we just have a single Tcl_EvalObjv for all uses
  * factors out a lot of the functionality to helper functions. It helps *me* understand better what is going on

There are 9 testsuite failures: off-by-one level counting in (5 in interp.test, 2 in parse.test) which I believe are actually improvements (patch to testsuite forthcoming), and one each in parse.test and trace.test where I am not sure.
User Comments: msofer added on 2008-07-14 05:48:43:
Logged In: YES 
user_id=148712
Originator: YES

This was committed as part of NRE [Patch 2017110]

msofer added on 2008-02-29 00:25:03:
Logged In: YES 
user_id=148712
Originator: YES

The high-level view:

TEOVI was needed to unify all evals in a single spot, because TclEvalEx needed a different api to be able to pass its real source. So it worked as backend for both TEOV and TE

(1) TEOVI gave the burden of managing numLevels to its callers for no particular reason I can remember now (and I did that thing!)

(2) TIP 280 makes Tcl_EvalEx record its source in a CmdFrame - so it does not need to be passed as a parameter!

(3) TEOVI had this (IMO) crazy structure that caused at least me to have to concentrate to understand what is the namespace and what is the varFrame at each line of code, and having to think hard about which parts of the code were run under which conditions. The factoring out makes the flow crystal clear. And it pushes incidental code that is not run very often out to different functions.

msofer added on 2008-02-29 00:15:05:

File Added - 268470: teoviTest.patch

Logged In: YES 
user_id=148712
Originator: YES

File Added: teoviTest.patch

msofer added on 2008-02-29 00:12:09:

File Added - 268469: teovi.patch

Attachments: