X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaScript.ml;h=ce613ef7180fd1fdc5b68d9779f338e462393446;hb=18b2b2742fe8ebb3d11b32b9bb727f510df6927a;hp=5fbcc4092eeddfda379ddc682765bfb292cfaa67;hpb=4027d612bc9c0a38fac53666a21e390683c5076d;p=helm.git diff --git a/helm/matita/matitaScript.ml b/helm/matita/matitaScript.ml index 5fbcc4092..ce613ef71 100644 --- a/helm/matita/matitaScript.ml +++ b/helm/matita/matitaScript.ml @@ -396,13 +396,17 @@ List.iter (fun s -> prerr_endline ("'" ^ s ^ "'")) new_statements; 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)) @@ -436,7 +440,6 @@ List.iter (fun s -> prerr_endline ("'" ^ s ^ "'")) new_statements; observers <- o :: observers method private notify = -prerr_endline ("************* NOTIFICATO"); let status = self#status in List.iter (fun o -> o status) observers @@ -500,7 +503,9 @@ prerr_endline ("************* NOTIFICATO"); 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 @@ -522,8 +527,10 @@ prerr_endline ("************* NOTIFICATO"); (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