method select_range_in_file ?(jump: [`Left|`Right]option) ~left ~right () =
      begin
        match jump with
          None -> ()
        | Some `Left ->
            self#set_location
              (location_of_iter (file#buffer#get_iter (`OFFSET left)))
        | Some `Right ->
            self#set_location
              (location_of_iter (file#buffer#get_iter (`OFFSET right)))
      end;
      file#select_range_in_file ~left ~right