From: Andreas Rottmann <a.rottmann@gmx.at>
Subject: Add support for `scope' and `skip' annotations

See <http://bugzilla.gnome.org/show_bug.cgi?id=615550>.

---
 gtkdoc-mkdb.in                             |    7 +++++--
 tests/annotations/docs/tester-sections.txt |    2 ++
 tests/annotations/src/tester.c             |   22 ++++++++++++++++++++++
 tests/annotations/src/tester.h             |    4 ++++
 tests/gobject/docs/tester.types            |    6 +++---
 5 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in
index d8ef68f..0c7c8a7 100755
--- a/gtkdoc-mkdb.in
+++ b/gtkdoc-mkdb.in
@@ -306,7 +306,10 @@ my %AnnotationDefinition = (
     'out' => "Parameter for returning results. Default is <acronym>transfer full</acronym>.",
     'transfer container' => "Free data container after the code is done.",
     'transfer full' => "Free data after the code is done.",
-    'transfer none' => "Don't free data after the code is done."
+    'transfer none' => "Don't free data after the code is done.",
+    'scope call' => "The callback is valid only during the call to the method.",
+    'scope async' => "The callback is valid until first called.",
+    'scope notfied' => "The callback is valid until the GDestroyNotify argument is called."
 );
 
 # Create the root DocBook output directory if it doens't exist.
@@ -3782,7 +3785,7 @@ sub ScanSourceFile {
 		$symbol = $1;
 		#print "SECTION DOCS found in source for : '$symbol'\n";
 		$ignore_broken_returns = 1;
-	    } elsif (m%^\s*([\w:-]*\w)\s*:?\s*$%) {
+	    } elsif (m%^\s*([\w:-]*\w)\s*:?\s*(\([a-z ]+\)\s*)*$%) {
 		$symbol = $1;
 		#print "SYMBOL DOCS found in source for : '$symbol'\n";
 	    }
diff --git a/tests/annotations/docs/tester-sections.txt b/tests/annotations/docs/tester-sections.txt
index dd5f5ed..ca17f84 100644
--- a/tests/annotations/docs/tester-sections.txt
+++ b/tests/annotations/docs/tester-sections.txt
@@ -7,6 +7,8 @@ annotation_nullable
 annotation_elementtype
 annotation_elementtype_returns
 annotation_outparams
+annotation_skip
+annotation_scope
 <SUBSECTION Standard>
 <SUBSECTION Private>
 </SECTION>
diff --git a/tests/annotations/src/tester.c b/tests/annotations/src/tester.c
index 9e063b2..89f7d26 100644
--- a/tests/annotations/src/tester.c
+++ b/tests/annotations/src/tester.c
@@ -85,3 +85,25 @@ annotation_outparams (GList **list)
    return TRUE;
 }
 
+/**
+ * annotation_skip: (skip)
+ * @list: a pointer to take a list
+ *
+ * Documentation for this function.
+ */
+void
+annotation_skip (GList *list)
+{
+}
+
+/**
+ * annotation_scope:
+ * @callback: (scope async): a callback
+ * @user_data: data to pass to callback
+ *
+ * Documentation for this function.
+ */
+void
+annotation_scope (GCallback *callback, gpointer user_data)
+{
+}
diff --git a/tests/annotations/src/tester.h b/tests/annotations/src/tester.h
index 79e009d..3e6af52 100644
--- a/tests/annotations/src/tester.h
+++ b/tests/annotations/src/tester.h
@@ -23,5 +23,9 @@ extern GList *annotation_elementtype_returns (void);
 
 extern gboolean annotation_outparams (GList **list);
 
+extern void annotation_skip (GList *list);
+
+extern void annotation_scope (GCallback *callback, gpointer user_data);
+
 #endif // GTKDOC_TESTER_H
 
diff --git a/tests/gobject/docs/tester.types b/tests/gobject/docs/tester.types
index b4b6cea..329d4ff 100644
--- a/tests/gobject/docs/tester.types
+++ b/tests/gobject/docs/tester.types
@@ -1,4 +1,4 @@
-#include <tester.h>
-
-gtkdoc_object_get_type
+gtkdoc_boxed_get_type
+gtkdoc_enum_get_type
 gtkdoc_iface_get_type
+gtkdoc_object_get_type
-- 
tg: (f099e17..) t/annotation-fixes (depends on: master)
