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