let goto_error file line start stop error =
  match !Ed_sourceview.active_sourceview with
    None -> ()
  | Some v ->
      let com = Printf.sprintf "open_file \"%s\" %d,%d" file (line-1) start in
      Cam_commands.eval_command com;
(*      v#set_location ((line-1), start);*)
      let mes = Printf.sprintf "Line %d, chars %d-%d: %s" line start stop error in
      Ed_misc.error_message (Ed_misc.to_utf8 mes);
      let line_offset = Cam_misc.char_of_line file (line-1) in
      v#select_range_in_file ~jump: `Left
        ~left: (line_offset + start)
        ~right: (line_offset + stop)
        ()