]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaScript.ml
Bug fixed: metavariables generated by the saturation in the rewrite tactic
[helm.git] / helm / matita / matitaScript.ml
index 5fbcc4092eeddfda379ddc682765bfb292cfaa67..ce613ef7180fd1fdc5b68d9779f338e462393446 100644 (file)
@@ -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