]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaScript.ml
Bug fixed: the _advance method must delete the parsed text iff it was parsed
[helm.git] / helm / matita / matitaScript.ml
index ad1530d4ea15220171ec175aa0eebb1cc7e108f4..4d092ca65e83d44c987c65d272f426349e03ebe3 100644 (file)
@@ -454,13 +454,16 @@ List.iter (fun s -> prerr_endline ("'" ^ s ^ "'")) new_statements;
     statements <- List.rev new_statements @ statements;
     let start = buffer#get_iter_at_mark (`MARK locked_mark) in
     let new_text = String.concat "" new_statements in
-    if new_text <> String.sub s 0 parsed_len then
+    if statement <> None then
+     buffer#insert ~iter:start new_text
+    else
+     if new_text <> String.sub s 0 parsed_len then
       begin
 (*       prerr_endline ("new:" ^ new_text); *)
 (*       prerr_endline ("s:" ^ String.sub s 0 parsed_len); *)
-      let stop = start#copy#forward_chars parsed_len in
-      buffer#delete ~start ~stop;
-      buffer#insert ~iter:start new_text;
+       let stop = start#copy#forward_chars parsed_len in
+        buffer#delete ~start ~stop;
+        buffer#insert ~iter:start new_text;
 (*       prerr_endline "AUTOMATICALLY MODIFIED!!!!!" *)
       end;
     self#moveMark (String.length new_text)