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.