I switched to local exception handler blocks, and am still getting the same 
failure mode.

Of course, it works fine in a simple, single file example.

I've checked everything back in so you can take a look. Once you build tcl, 
from the top level directory, try:

oolong:~/research/parrot_8075 coke$ cat error.tcl set a(b) 2
puts $a(b)


This SHOULD trigger the exception handler in languages/tcl/lib/command/set.imc. 
Instead, the stack trace ends with:

 3718 set_eh P20       - P20=Exception_Handler=PMC(0x401b5d8)
 3720 find_lex P18, -1, S17    - P18=Array=PMC(0x401b578), , S17="a"

And, again, exit value of 0.

Leopold Toetsch wrote:

William Coleda <[EMAIL PROTECTED]> wrote:

I just noticed some test failures in the tcl suite.


exception syntax will change slightly.


set P4, P5["_invoke_cc"]


especially these constructs (resumable handling).
Please use currently a local handler:

    newsub ignore, .Exception_Handler, catch
    set_eh ignore
      # ops that might fail
    clear_eh
  catch:

Even better, stuff above 2 handler install lines into a macro, as the
syntax will likely be:

    new ignore, .Exception_Handler
    push_eh ignore, catch

leo

Reply via email to