There are still a couple of TODO's
regarding a more careful audit of where
the interp state should be saved/reset/restored,
but the big picture is right now, and better
commented.
Also missing is docs and the TIP
for the new public routine
Tcl_NRExprObj().
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There's no TclNRExpr() API or equivalent, so fixing this requires substantial work. Assigning to person better suited than me to carry this out.
Patch under construction.
Needs some more refinement but here's
a first functional patch that fixes the bug.
Here's a cleaned up patch to review.
There are still a couple of TODO's
regarding a more careful audit of where
the interp state should be saved/reset/restored,
but the big picture is right now, and better
commented.
Also missing is docs and the TIP
for the new public routine
Tcl_NRExprObj().
Latest patch includes updates to docs.
Patch / TIP 353 committed to HEAD.
Still open while I check on the [for], [while] claims.
Patching up the callers of Tcl_ExprBooleanObj()
is better tracked in Bug 2823276.