diff --git a/docs/reference/gdk/tmpl/keys.sgml b/docs/reference/gdk/tmpl/keys.sgml
index ca6c4dcfdd..955086dc38 100644
--- a/docs/reference/gdk/tmpl/keys.sgml
+++ b/docs/reference/gdk/tmpl/keys.sgml
@@ -265,18 +265,6 @@ Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL.
@Returns:
-
-
-Converts a key value into a symbolic name.
-The names are the same as those in the <gdk/gdkkeysyms.h> header file
-but without the leading "GDK_KEY_".
-
-
-@keyval: a key value.
-@Returns: a string containing the name of the key, or %NULL if @keyval is not
-a valid key. The string should not be modified.
-
-
Converts a key name to a key value.
diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c
index 7111c9bf5e..cb09d1f328 100644
--- a/gdk/x11/gdkkeys-x11.c
+++ b/gdk/x11/gdkkeys-x11.c
@@ -1606,7 +1606,19 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
/* Key handling not part of the keymap */
-
+/**
+ * gdk_keyval_name:
+ *
+ * Converts a key value into a symbolic name.
+ * The names are the same as those in the
+ * <gdk/gdkkeysyms.h> header file
+ * but without the leading "GDK_KEY_".
+ *
+ * @keyval: a key value.
+ *
+ * Return value: (transfer none): a string containing the name of the key, or
+ * %NULL if @keyval is not a valid key. The string should not be modified.
+ **/
gchar*
gdk_keyval_name (guint keyval)
{
diff --git a/gtk/gtkeditable.c b/gtk/gtkeditable.c
index fc6ea32c26..e85b1f16bf 100644
--- a/gtk/gtkeditable.c
+++ b/gtk/gtkeditable.c
@@ -199,6 +199,8 @@ gtk_editable_base_init (gpointer g_class)
*
* Note that the position is in characters, not in bytes.
* The function updates @position to point after the newly inserted text.
+ *
+ * Virtual: do_insert_text
*/
void
gtk_editable_insert_text (GtkEditable *editable,
@@ -373,6 +375,8 @@ gtk_editable_delete_selection (GtkEditable *editable)
* the end of the text.
*
* Note that positions are specified in characters, not bytes.
+ *
+ * Virtual: set_selection_bounds
*/
void
gtk_editable_select_region (GtkEditable *editable,