method bookmarks_menus =
let l = Ed_bookmarks.list bookmarks in
let l = List.sort (fun (s1,_) (s2,_) -> compare s1 s2) l in
let entries =
List.map
(fun (name, (file,line,col)) ->
let com () =
Cam_commands.eval_command (Printf.sprintf "open_file %s" (Filename.quote file));
if self#filename = file then
self#set_location (line,col)
in
let label =
Printf.sprintf "%s (%s, %d, %d)" name (Filename.basename file) line col
in
`I (Cam_misc.escape_menu_label (Ed_misc.to_utf8 label), com)
)
l
in
[ "Bookmarks", entries]