+
+gboolean gtk_text_iter_forward_visible_line (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_visible_line (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_visible_lines (GtkTextIter *iter,
+ gint count);
+gboolean gtk_text_iter_backward_visible_lines (GtkTextIter *iter,
+ gint count);
+
+gboolean gtk_text_iter_forward_visible_word_end (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_visible_word_start (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_visible_word_ends (GtkTextIter *iter,
+ gint count);
+gboolean gtk_text_iter_backward_visible_word_starts (GtkTextIter *iter,
+ gint count);
+
+gboolean gtk_text_iter_forward_sentence_end (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_sentence_start (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_sentence_ends (GtkTextIter *iter,
+ gint count);
+gboolean gtk_text_iter_backward_sentence_starts (GtkTextIter *iter,
+ gint count);
+/* cursor positions are almost equivalent to chars, but not quite;
+ * in some languages, you can't put the cursor between certain
+ * chars. Also, you can't put the cursor between \r\n at the end
+ * of a line.
+ */
+gboolean gtk_text_iter_forward_cursor_position (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_cursor_position (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_cursor_positions (GtkTextIter *iter,
+ gint count);
+gboolean gtk_text_iter_backward_cursor_positions (GtkTextIter *iter,
+ gint count);
+
+gboolean gtk_text_iter_forward_visible_cursor_position (GtkTextIter *iter);
+gboolean gtk_text_iter_backward_visible_cursor_position (GtkTextIter *iter);
+gboolean gtk_text_iter_forward_visible_cursor_positions (GtkTextIter *iter,
+ gint count);
+gboolean gtk_text_iter_backward_visible_cursor_positions (GtkTextIter *iter,
+ gint count);