Hi,
While testing CTRL-C behavior while running the test suite, I noticed strange behavior of assert after interruption. I believe that one of them is due to the unprotected usage of call_depth persistent variable within assert.m.
If you happen to interrupt octave while executing assert.m, it's possible that call_depth is never properly decremented, as expected at the end of assert.m. This means that on the next assert call, call_depth will never reach -1 and the error will not be triggered. I noticed this kind of behavior after interrupting the test suite, something like "assert (0,1)" would not trigger any error. Using "clear all" would restore assert behavior, which makes me think it's related to the persistent variables.
This then brings me to a side question: if assert.m was using unwind_protect, would it be robust against CTRL-C interruption? I believe it would be, but I'm not 100% sure.
Michael.