diff --git a/docs/reference/glib/tmpl/.gitignore b/docs/reference/glib/tmpl/.gitignore
index 1edcd06ae..fd5ae42c6 100644
--- a/docs/reference/glib/tmpl/.gitignore
+++ b/docs/reference/glib/tmpl/.gitignore
@@ -5,5 +5,6 @@ gvarianttype.sgml
hash_tables.sgml
option.sgml
random_numbers.sgml
+shell.sgml
threads.sgml
timers.sgml
diff --git a/docs/reference/glib/tmpl/shell.sgml b/docs/reference/glib/tmpl/shell.sgml
deleted file mode 100644
index a1c797917..000000000
--- a/docs/reference/glib/tmpl/shell.sgml
+++ /dev/null
@@ -1,68 +0,0 @@
-
-Shell-related Utilities
-
-
-shell-like commandline handling
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Error codes returned by shell functions.
-
-
-@G_SHELL_ERROR_BAD_QUOTING: Mismatched or otherwise mangled quoting.
-@G_SHELL_ERROR_EMPTY_STRING: String to be parsed was empty.
-@G_SHELL_ERROR_FAILED: Some other error.
-
-
-
-Error domain for shell functions. Errors in this domain will
-be from the #GShellError enumeration. See #GError for information on
-error domains.
-
-
-
-
-
-
-
-
-
-@command_line:
-@argcp:
-@argvp:
-@error:
-@Returns:
-
-
-
-
-
-
-
-@unquoted_string:
-@Returns:
-
-
-
-
-
-
-
-@quoted_string:
-@error:
-@Returns:
-
-
diff --git a/glib/gshell.c b/glib/gshell.c
index 711cdee09..d3b76f423 100644
--- a/glib/gshell.c
+++ b/glib/gshell.c
@@ -33,6 +33,28 @@
#include "glibintl.h"
#include "galias.h"
+/**
+ * SECTION: shell
+ * @title: Shell-related Utilities
+ * @short_description: shell-like commandline handling
+ **/
+
+/**
+ * G_SHELL_ERROR:
+ *
+ * Error domain for shell functions. Errors in this domain will be from
+ * the #GShellError enumeration. See #GError for information on error
+ * domains.
+ **/
+
+/**
+ * GShellError:
+ * @G_SHELL_ERROR_BAD_QUOTING: Mismatched or otherwise mangled quoting.
+ * @G_SHELL_ERROR_EMPTY_STRING: String to be parsed was empty.
+ * @G_SHELL_ERROR_FAILED: Some other error.
+ *
+ * Error codes returned by shell functions.
+ **/
GQuark
g_shell_error_quark (void)
{