method loadFromFile f =
buffer#set_text (MatitaMisc.input_file f);
- self#goto_top;
+ self#reset_buffer;
buffer#set_modified false
method assignFileName file =
end
method private goto_top =
- MatitaSync.time_travel ~present:self#status ~past:init;
+ MatitaSync.time_travel ~present:self#status ~past:init
+
+ method private reset_buffer =
statements <- [];
history <- [ init ];
userGoal <- ~-1;
+ self#notify;
buffer#remove_tag locked_tag ~start:buffer#start_iter ~stop:buffer#end_iter;
buffer#move_mark (`MARK locked_mark) ~where:buffer#start_iter
method reset () =
- self#goto_top;
+ self#reset_buffer;
source_buffer#begin_not_undoable_action ();
buffer#delete ~start:buffer#start_iter ~stop:buffer#end_iter;
source_buffer#end_not_undoable_action ();
- self#notify;
buffer#set_modified false
-
+
method template () =
let template = MatitaMisc.input_file BuildTimeConf.script_template in
buffer#insert ~iter:(buffer#get_iter `START) template;
let getoldpos _ = buffer#get_iter_at_mark old_locked_mark in
let dispose_old_locked_mark () = buffer#delete_mark old_locked_mark in
match pos with
- | `Top -> dispose_old_locked_mark (); self#goto_top; self#notify
+ | `Top ->
+ dispose_old_locked_mark ();
+ self#goto_top;
+ self#reset_buffer;
+ self#notify
| `Bottom ->
(try
let rec dowhile () =