let start = buffer#get_iter_at_mark (`MARK locked_mark) in
let new_text = String.concat "" new_statements in
if statement <> None then
- buffer#insert ~iter:start new_text
- else
+ buffer#insert ~iter:start new_text
+ else begin
let s = match st with `Raw s | `Ast (_, s) -> s in
- if new_text <> String.sub s 0 parsed_len then
- begin
- let stop = start#copy#forward_chars parsed_len in
- buffer#delete ~start ~stop;
+ if new_text <> String.sub s 0 parsed_len then begin
+ buffer#delete ~start ~stop:(start#copy#forward_chars parsed_len);
buffer#insert ~iter:start new_text;
end;
+ end;
self#moveMark (String.length new_text);
(*
(match List.rev new_asts with (* advance again on punctuation *)