method update_source_marks =
let bookmarks = List.filter
(fun (bm_name, (f,_,_)) -> Ed_misc.safe_same_files filename f)
(Ed_bookmarks.list bookmarks)
in
buffer#remove_source_marks
~start: buffer#start_iter
~stop: buffer#end_iter ();
List.iter
(fun (bm,(_,l,c)) ->
try
(* prerr_endline (Printf.sprintf
"adding bookmark %s on file %s at line %d and char %d"
bm filename l c);
*)
let sm = buffer#create_source_mark ~name: bm ~category: "bookmark"
(buffer#get_iter (`LINECHAR (l,c)))
in
self#add_source_mark (bm, sm)
with
_ -> ()
)
bookmarks