method connect_cursor_moved view_id cb =
      self#remove_cursor_moved view_id;
      let sid = buffer#connect#mark_set
        (fun it _ -> if it#equal (buffer#get_iter `INSERTthen cb ())
      in
      cursor_moved_signal_ids <- (view_id, sid) :: cursor_moved_signal_ids