Menu

#4387 direct eval [for], [if], [while] not NRE safe

obsolete: 8.6b1.1
closed-fixed
5
2009-08-19
2009-07-17
Don Porter
No

% coroutine foo apply {{} {set for for; $for {[yield]} 0 {} {}}}
cannot yield: C stack busy

Discussion

  • Donal K. Fellows

    Should be possible to make it yield-safe in the first, third and fourth arguments with only minimal effort. The second argument would require the same techniques as Bug#2823282.

     
  • Don Porter

    Don Porter - 2009-08-12
    • summary: direct eval [for] not NRE safe --> direct eval [for], [if], [while] not NRE safe
     
  • Don Porter

    Don Porter - 2009-08-12

    Commands [for], [if], [while] all call
    Tcl_ExprBooleanObj() to evaluate
    expressions. Should migrate to
    Tcl_NRExprObj() to NR-enable them.

     
  • Donal K. Fellows

    [for] (and [while]) now converted to be [yield]-safe in all arguments.

     
  • Donal K. Fellows

    • status: open --> closed-fixed
     
  • Donal K. Fellows

    [if] now converted.