method update_source_markers =
      let bookmarks = List.filter
        (fun (bm_name, (f,_,_)) -> Ed_misc.same_files filename f)
        (Ed_bookmarks.list bookmarks)
      in
      List.iter buffer#delete_marker source_markers;
      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_marker ~name: bm ~typ: "bookmark"
               (buffer#get_iter (`LINECHAR (l,c)))
             in
             self#add_source_marker sm
           with
             _ -> ()
        )
        bookmarks