try
self#_advance ?statement ();
self#notify
- with Margin -> self#notify
+ with
+ | Margin -> self#notify
+ | exc -> self#notify; raise exc
method retract () =
try
self#_retract ();
self#notify
- with Margin -> self#notify
+ with
+ | Margin -> self#notify
+ | exc -> self#notify; raise exc
method private getFuture =
buffer#get_text ~start:(buffer#get_iter_at_mark (`MARK locked_mark))
in
dowhile (getpos ());
self#notify
- with Margin -> self#notify)
+ with
+ | Margin -> self#notify
+ | exc -> self#notify; raise exc)
| `Cursor ->
let locked_iter () = buffer#get_iter_at_mark (`NAME "locked") in
let cursor_iter () = buffer#get_iter_at_mark `INSERT in
(back_until_cursor (); self#notify)
else (* cursor = locked *)
()
- with Margin -> self#notify)
-
+ with
+ | Margin -> self#notify
+ | exc -> self#notify; raise exc)
+
method onGoingProof () =
match self#status.proof_status with
| No_proof | Proof _ -> false