aboutsummaryrefslogtreecommitdiffhomepage
path: root/ide/wg_Find.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-01-25 17:49:35 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-01-25 17:49:35 +0100
commit3d6b9a7ab992559493b89e174549734dff401703 (patch)
tree9d9fb7bee0bf4b67541032ded0d4e356881edc6f /ide/wg_Find.ml
parent3fa1bf32ec323ce03a7fa818a8daccb78b862ca6 (diff)
Made replacing of text in CoqIDE atomic w.r.t. the undo/redo.
Diffstat (limited to 'ide/wg_Find.ml')
-rw-r--r--ide/wg_Find.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/ide/wg_Find.ml b/ide/wg_Find.ml
index b6b1ea6bc..a0949ca0c 100644
--- a/ide/wg_Find.ml
+++ b/ide/wg_Find.ml
@@ -63,8 +63,10 @@ class finder name (view : GText.view) =
method replace () =
if self#may_replace () then
let txt = self#get_selected_word () in
+ let () = view#buffer#begin_user_action () in
let _ = view#buffer#delete_selection () in
let _ = view#buffer#insert_interactive (self#replacement txt) in
+ let () = view#buffer#end_user_action () in
self#find_forward ()
else self#find_forward ()
@@ -117,7 +119,9 @@ class finder name (view : GText.view) =
let () = view#buffer#delete_mark (`MARK stop_mark) in
replace_at next
in
- replace_at view#buffer#start_iter
+ let () = view#buffer#begin_user_action () in
+ let () = replace_at view#buffer#start_iter in
+ view#buffer#end_user_action ()
method private set_not_found () =
find_entry#misc#modify_base [`NORMAL, `NAME "#F7E6E6"];