method goto_line n =
      let m = max 0 (min n (file#buffer#line_count - 1)) in
      let where = file#buffer#get_iter (`LINE m) in
      self#place_cursor where