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)