Dieter Verfaillie [Tue, 17 Apr 2012 20:23:14 +0000 (22:23 +0200)]
annotationparser: cleanup and add tests for the new warnings we now emit
Including:
- handle things in the logical order encountered (first colon,
then annotations)
- correctly report column when missing a colon on the identifier part
- small type fixes
- remove no longer useful "parameter/tag expected" warnings
Dieter Verfaillie [Tue, 17 Apr 2012 20:31:56 +0000 (22:31 +0200)]
warningtester: make it possible to EXPECT multiple lines of output
Dieter Verfaillie [Tue, 17 Apr 2012 18:58:53 +0000 (20:58 +0200)]
Revert "annotationparser: indent _parse_comment_block gtkdoc code"
This reverts commit
f41525d54f53edd9b0d665397f7c6c755ee3616b and
adds a more complete solution as the original commit only handled
empty lines between the GTK-Doc comment block start token "/**" and
the identifier.
https://bugzilla.gnome.org/show_bug.cgi?id=673806
Colin Walters [Tue, 17 Apr 2012 20:22:17 +0000 (16:22 -0400)]
update-glib-annotations: Set required environment variables
Assume srcdir=builddir, so users don't have to set this.
Alban Browaeys [Mon, 9 Apr 2012 23:06:45 +0000 (01:06 +0200)]
annotationparser: indent _parse_comment_block gtkdoc code
The current logic in _parse_comment_block of the annotationparser
check the identifier and use variables that only makes sense if a
result was returned (column_offset, original_line). This patch
indent the logic so it is only triggered if a result is found.
Otherwise it returns None as expected by call chain
"parse > parse_comment_block > _parse_comment_block":
ie in "parse":
comment_block = self.parse_comment_block(comment)
if comment_block is not None:
This still raises a lot of warnings but does not abort while generating
gir for libgnomekbd, mutter or telepathy-glib (those thus have to be
tweaked not to call g-ir-scanner with --warn-error at least until the
parser mask those false positives or the doc from those projects is
fixed to comply with the behaviour expected by giscanner).
https://bugzilla.gnome.org/show_bug.cgi?id=673806
Kalev Lember [Fri, 13 Apr 2012 15:30:30 +0000 (18:30 +0300)]
Move libffi and gmodule to Requires.private in .pc files
The intention of the change is to clean up unnecessary linking with
libffi and gmodule in g-i consumers as they typically don't use any
libffi/gmodule symbols.
Listing libffi and gmodule in pkg-config Requires meant that every
consumer that wanted to link with -lgirepository also got -lffi and
-lgmodule-2.0, which caused ld to emit unnecessary DT_NEEDED entries.
Moving the deps to Requires.private removes the internal dependencies
from 'pkg-config --libs', but keeps them in --libs --static output. The
change won't affect --cflags and the include directories necessary for
<ffi.h> will still be listed.
https://bugzilla.gnome.org/show_bug.cgi?id=674065
Kalev Lember [Fri, 13 Apr 2012 15:20:17 +0000 (18:20 +0300)]
Don't link with gthread-2.0
Commit
2fff986 removed the use of g_thread_init() and we don't use any
other symbols from gthread-2.0.
https://bugzilla.gnome.org/show_bug.cgi?id=674065
Johan Dahlin [Mon, 9 Apr 2012 17:19:23 +0000 (14:19 -0300)]
Make introspection compile with -Wall -Werror
Address all gcc warnings, -Werror is not enabled yet but at least
-Wall -Werror passes on my machine.
Johan Dahlin [Mon, 9 Apr 2012 15:24:49 +0000 (12:24 -0300)]
Compare filenames using g_file_equal()
Makes it work on case-sensitive file systems such as HFS+.
https://bugzilla.gnome.org/show_bug.cgi?id=667405
Johan Dahlin [Mon, 9 Apr 2012 15:12:00 +0000 (12:12 -0300)]
Pass in LDFLAGS to the dumper
We should honor LDFLAGS environment variable set by the user,
so options such as -Wl,--enable-new-dtags properly get passed to
the linker when creating the dumper binary
https://bugzilla.gnome.org/show_bug.cgi?id=670152
Will Thompson [Mon, 27 Feb 2012 18:08:29 +0000 (18:08 +0000)]
annotationparser: split validate() into sub-methods
Most cases in validate() were already simply calls to _validate_option()
with particular arguments; this extracts the code from the remaining
options to their own methods, making the dispatch table more legible.
https://bugzilla.gnome.org/show_bug.cgi?id=670985
Will Thompson [Mon, 27 Feb 2012 17:52:30 +0000 (17:52 +0000)]
annotationparser: correct "maximium" in error messages
"Maximium" is not an English word. Even if corrected to "maximum" (which
is), "at maximum" is not conventional usage: "at most" is more
idiomatic.
https://bugzilla.gnome.org/show_bug.cgi?id=670985
Will Thompson [Mon, 27 Feb 2012 17:37:35 +0000 (17:37 +0000)]
annotationparser: remove duplication of annotation names
Previously, the validation code compared each option name to a constant
(such as OPT_ALLOW_NONE) which expands to the string used in a source
file, and if they matched it would typically pass that same string to
_validate_option(). But the annotation name was written out longhand
each time, which seemed strange to me.
https://bugzilla.gnome.org/show_bug.cgi?id=670985
Jasper St. Pierre [Tue, 27 Mar 2012 16:18:54 +0000 (13:18 -0300)]
giscanner: Don't run pkg-config when there's no packages specified
This prevents a simple error from pkg-config, "Must specify package names
on command line"
https://bugzilla.gnome.org/show_bug.cgi?id=673668
Pavel Holejsovsky [Sat, 31 Mar 2012 17:12:48 +0000 (19:12 +0200)]
Avoid _get_func() consuming reference from input info
Fix of leak in
4c9424e18d71237f438a99bc5f2d45ae7de60b78 was a bit
overaggressive, stealing also one reference from input 'info'
argument.
Also fixes another bug in that commit - local 'func' shadowing the
return value, causing that function always returned NULL even when
some result was actually found.
https://bugzilla.gnome.org/show_bug.cgi?id=673282
Dieter Verfaillie [Thu, 5 Apr 2012 21:15:31 +0000 (23:15 +0200)]
Split parameter and tag storage in annotationparser parse tree
This avoids tags overwriting parameters if they happen to
share the same name. For example, this was triggered by
valid code in libgnome-keyring.
tests/scanner/regress.c and tests/scanner/regress.h test
written by Colin Walters <walters@verbum.org>.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Johan Dahlin [Thu, 5 Apr 2012 17:24:33 +0000 (14:24 -0300)]
Don't extract annotations from headers
The headers are already parsed as they are passed
in to g-ir-scanner. This avoids quite a few warnings triggered
with the new annotation parser.
Johan Dahlin [Thu, 5 Apr 2012 17:26:18 +0000 (14:26 -0300)]
Update annotations from git.
This removes also all the headers as it's the first run
with the updated extraction tool.
Johan Dahlin [Thu, 5 Apr 2012 17:12:11 +0000 (14:12 -0300)]
Do the filename filtering in scannerlexer
This avoids a bit of python work and reduces the
amount of allocations.
Johan Dahlin [Thu, 5 Apr 2012 14:23:13 +0000 (11:23 -0300)]
Don't parse doc comments in dependencies
Only parse doc comments for the files we pass in
on the command line to g-ir-scanner, not the included dependencies.
Johan Dahlin [Thu, 5 Apr 2012 13:43:42 +0000 (10:43 -0300)]
Replace ''' with """, to avoid confusing syntax highlightning in emacs
Dieter Verfaillie [Tue, 3 Apr 2012 05:47:48 +0000 (07:47 +0200)]
Fix malformed GTK-Doc comment blocks:
- add missing colons
- invalid annotations
- invalid parameters and tags
- correct parameter name
- preserve description indentation
- no description parts
- comment end marker
- invalid empty lines
- line numbers
AnnotationParser now emits warnings which are considered as
errors by "make check" so fix those warnings...
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Dieter Verfaillie [Tue, 3 Apr 2012 06:08:45 +0000 (08:08 +0200)]
Now make AnnotationParser do what gobject-introspection needs it to do.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Dieter Verfaillie [Wed, 4 Apr 2012 15:10:40 +0000 (17:10 +0200)]
Update GLib annotations, using the improved annotation parser.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Dieter Verfaillie [Mon, 2 Apr 2012 15:42:22 +0000 (17:42 +0200)]
update-glib-annotations.py: reduce code duplication
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Dieter Verfaillie [Tue, 3 Apr 2012 05:56:47 +0000 (07:56 +0200)]
Make AnnotationParser._parse_comment() do what gtk-doc does.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Dieter Verfaillie [Mon, 19 Mar 2012 08:23:22 +0000 (09:23 +0100)]
Don't munch /* and */ comment start and end markers.
In Sandro Sigala's original c-c++-grammars code, this function
was known as "static void skip_comment(void)". It was built this
way instead of a lex pattern because it didn't need to save the
matched comment in the "yytext" buffer. This is still true as
we directly assign the matched comment to the scanner object.
So simply prepend and append the markers back where they belong.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Dieter Verfaillie [Mon, 19 Mar 2012 08:17:28 +0000 (09:17 +0100)]
Add comment documenting we're ignoring C++ style comments.
https://bugzilla.gnome.org/show_bug.cgi?id=672254
Rico Tzschichholz [Mon, 2 Apr 2012 06:18:02 +0000 (08:18 +0200)]
Update glib annotations from git
Tomeu Vizoso [Tue, 21 Feb 2012 14:28:14 +0000 (15:28 +0100)]
Add tests for vfuncs with callbacks as arguments
https://bugzilla.gnome.org/show_bug.cgi?id=663052
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
Tomeu Vizoso [Sun, 30 Oct 2011 15:31:23 +0000 (16:31 +0100)]
Make g_callable_info_invoke public
So it can be used for invoking callbacks
https://bugzilla.gnome.org/show_bug.cgi?id=663052
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
Alberto Mardegan [Wed, 21 Mar 2012 15:01:31 +0000 (19:01 +0400)]
Add regression tests for GHashTable holding GValue
Add a couple of functions which can be used to test
marshalling/demarshalling of GHashTables having GValue as keys.
This is related to a python-gobject bug:
https://bugzilla.gnome.org/show_bug.cgi?id=668903
Signed-off-by: Martin Pitt <martinpitt@gnome.org>
Colin Walters [Tue, 27 Mar 2012 15:07:42 +0000 (11:07 -0400)]
Release 1.32.0
Colin Walters [Wed, 21 Mar 2012 13:59:03 +0000 (09:59 -0400)]
Release 1.31.22
Rico Tzschichholz [Tue, 20 Mar 2012 18:54:18 +0000 (19:54 +0100)]
Update glib annotations to 2.31.22
Colin Walters [Thu, 15 Mar 2012 15:45:19 +0000 (11:45 -0400)]
configure: Comment why doctool is disabled by default for now
Tomeu Vizoso [Thu, 15 Mar 2012 15:36:39 +0000 (16:36 +0100)]
g-ir-doc-tool: Fix -o option, use abspath instead of dirname
Jesse van den Kieboom [Wed, 11 Jan 2012 15:47:01 +0000 (16:47 +0100)]
scanner: Remove array fields from List.clone()
These were apparently copied by mistake.
https://bugzilla.gnome.org/show_bug.cgi?id=667701
Michel Dänzer [Thu, 8 Mar 2012 12:25:57 +0000 (13:25 +0100)]
repository: Remove extraneous leftover assignment to rvalue.
Signed-off-by: Michel Dänzer <michel@daenzer.net>
https://bugzilla.gnome.org/show_bug.cgi?id=668902
Matthew Booth [Tue, 6 Mar 2012 14:57:01 +0000 (11:57 -0300)]
Fix matching of methods named *_get_type()
The code which heuristically turned functions into class methods would always
ignore any function called *_get_type or *_get_gtype. However, the code which
looked for GI metadata functions to execute them was much more comprehensive,
checking not just the name, but also that it had no parameters and that it
returned a GType.
This change abstracts the more comprehensive check into the Function class, and
uses the same check in both places.
https://bugzilla.gnome.org/show_bug.cgi?id=671218
Colin Walters [Thu, 16 Feb 2012 21:58:59 +0000 (16:58 -0500)]
repository: Add new public gi_type_info_extract_ffi_return_value() API
Dealing with FFI and return values is very tricky; this API allows
sharing the bits to do it between gobject-introspection and gjs (and
potentially other FFI binding consumers).
**NOTE** I swapped the order of the arguments, under the premise that
out arguments should generally be last.
https://bugzilla.gnome.org/show_bug.cgi?id=668902
Michel Dänzer [Thu, 16 Feb 2012 16:25:55 +0000 (11:25 -0500)]
repository: Fix conversion of FFI values on big-endian architectures
Adapted from the fixes for (see bug 665152). It makes sure values are
properly converted between glib and FFI, which is critical for big
endian architectures.
Patch adjusted to use GIArgument instead of custom union types
by Colin Walters <walters@verbum.org>
https://bugzilla.gnome.org/show_bug.cgi?id=668902
Colin Walters [Mon, 5 Mar 2012 14:45:14 +0000 (09:45 -0500)]
Release 2.31.20
Colin Walters [Mon, 5 Mar 2012 14:44:18 +0000 (09:44 -0500)]
Update glib annotations to 2.31.20
Colin Walters [Thu, 23 Feb 2012 16:13:29 +0000 (11:13 -0500)]
introspection.m4: Set enable_introspection to yes/no consistently
Some people want the ability to use it inside their configure scripts.
http://git.gnome.org/browse/totem/commit/?id=
e57d75f555eaad98ec3eee31cf94336ba885174c
Rico Tzschichholz [Wed, 22 Feb 2012 22:41:30 +0000 (23:41 +0100)]
g-ir-doc-tool: Add missing files
Rico Tzschichholz [Tue, 21 Feb 2012 17:45:32 +0000 (18:45 +0100)]
tests: Fix make dist
Tomeu Vizoso [Tue, 21 Feb 2012 17:16:00 +0000 (18:16 +0100)]
g-ir-doc-tool: Remove class structs from Python docs
Tomeu Vizoso [Tue, 21 Feb 2012 17:04:13 +0000 (18:04 +0100)]
g-ir-doc-tool: Add support for virtual functions
Tomeu Vizoso [Tue, 21 Feb 2012 16:17:17 +0000 (17:17 +0100)]
g-ir-doc-tool: Add a method in the tests
Tomeu Vizoso [Tue, 21 Feb 2012 15:54:05 +0000 (16:54 +0100)]
g-ir-doc-tool: Update .gitignore
Tomeu Vizoso [Tue, 21 Feb 2012 15:52:04 +0000 (16:52 +0100)]
g-ir-doc-tool: Remove constructors from python docs
Tomeu Vizoso [Tue, 21 Feb 2012 15:41:21 +0000 (16:41 +0100)]
g-ir-doc-tool: Add class to its own hierarchy tree
Tomeu Vizoso [Tue, 21 Feb 2012 15:36:34 +0000 (16:36 +0100)]
g-ir-doc-tool: Add tests for signals
Tomeu Vizoso [Tue, 21 Feb 2012 15:22:16 +0000 (16:22 +0100)]
g-ir-doc-tool: Add the first argument of signals to the Python docs
Tomeu Vizoso [Tue, 21 Feb 2012 15:17:59 +0000 (16:17 +0100)]
g-ir-doc-tool: Create a GIR file specific for testing doc generation
This will also serve as a reference of the syntax that is currently
supported by g-ir-doc-tool.
Colin Walters [Tue, 21 Feb 2012 15:41:52 +0000 (10:41 -0500)]
build: Add --enable-doctool option
Rico Tzschichholz [Tue, 21 Feb 2012 09:21:25 +0000 (10:21 +0100)]
g-ir-doc-tool: Update expected tests
Rico Tzschichholz [Tue, 21 Feb 2012 09:11:48 +0000 (10:11 +0100)]
Update annotations for GLib 2.31.18
Tomeu Vizoso [Mon, 20 Feb 2012 17:43:01 +0000 (18:43 +0100)]
g-ir-doc-tool: Add enum templates to the Makefile
Tomeu Vizoso [Mon, 20 Feb 2012 17:37:37 +0000 (18:37 +0100)]
g-ir-doc-tool: Add missing file: giscanner/mallard-C-enum.tmpl
Tomeu Vizoso [Mon, 20 Feb 2012 17:37:08 +0000 (18:37 +0100)]
g-ir-doc-tool: Change the -o option to receive a directory
Tomeu Vizoso [Mon, 20 Feb 2012 17:18:04 +0000 (18:18 +0100)]
Merge branch 'mallard-templates'
Tomeu Vizoso [Mon, 20 Feb 2012 17:12:40 +0000 (18:12 +0100)]
g-ir-doc-tool: Update expected tests, some whitespace has been removed
Tomeu Vizoso [Mon, 20 Feb 2012 17:12:23 +0000 (18:12 +0100)]
Mention g-ir-doc-tool in the README
Tomeu Vizoso [Mon, 20 Feb 2012 16:35:08 +0000 (17:35 +0100)]
g-ir-doc-tool: Add some more stuff to Enum pages
Tomeu Vizoso [Mon, 20 Feb 2012 15:57:14 +0000 (16:57 +0100)]
g-ir-doc-tool: Display the hierarchy tree for classes
Tomeu Vizoso [Mon, 20 Feb 2012 14:38:15 +0000 (15:38 +0100)]
g-ir-doc-tool: Install the Mako template files
Tomeu Vizoso [Mon, 20 Feb 2012 14:01:30 +0000 (15:01 +0100)]
g-ir-doc-tool: Add AM_CHECK_PYMOD macro and use it to check for Mako
Tomeu Vizoso [Mon, 20 Feb 2012 13:36:36 +0000 (14:36 +0100)]
g-ir-doc-tool: Remove stale DocBook files
Tomeu Vizoso [Mon, 20 Feb 2012 13:20:22 +0000 (14:20 +0100)]
g-ir-doc-tool: Properly link to property pages
Tomeu Vizoso [Mon, 20 Feb 2012 12:55:37 +0000 (13:55 +0100)]
g-ir-doc-tool: Fix names of xref links
Tomeu Vizoso [Mon, 20 Feb 2012 12:44:00 +0000 (13:44 +0100)]
g-ir-doc-tool: Move constructor example to follow the class doc body
Tomeu Vizoso [Mon, 20 Feb 2012 12:43:30 +0000 (13:43 +0100)]
g-ir-doc-tool: Properly link to signal pages
Tomeu Vizoso [Mon, 20 Feb 2012 12:42:43 +0000 (13:42 +0100)]
g-ir-doc-tool: Fix the id of signal pages for Python
Tomeu Vizoso [Mon, 20 Feb 2012 12:21:40 +0000 (13:21 +0100)]
g-ir-doc-tool: Qualify the class name in the constructor with the module name
Tomeu Vizoso [Mon, 20 Feb 2012 12:16:47 +0000 (13:16 +0100)]
g-ir-doc-tool: Add links to properties in the constructor
Tomeu Vizoso [Mon, 20 Feb 2012 12:16:28 +0000 (13:16 +0100)]
g-ir-doc-tool: Fix link
Tomeu Vizoso [Mon, 20 Feb 2012 11:21:41 +0000 (12:21 +0100)]
g-ir-doc-tool: Show how to construct instances in the Class page
Tomeu Vizoso [Mon, 20 Feb 2012 10:30:21 +0000 (11:30 +0100)]
g-ir-doc-tool: Add details for properties in Python
Tomeu Vizoso [Sun, 19 Feb 2012 16:32:00 +0000 (17:32 +0100)]
g-ir-doc-tool: Add param information to signal pages in Python
Tomeu Vizoso [Sun, 19 Feb 2012 15:35:59 +0000 (16:35 +0100)]
g-ir-doc-tool: Implement intra-namespace cross references
Tomeu Vizoso [Sun, 19 Feb 2012 15:22:23 +0000 (16:22 +0100)]
g-ir-doc-tool: Use instances of MallardFormatter* instead of class methods
Tomeu Vizoso [Sun, 19 Feb 2012 14:33:48 +0000 (15:33 +0100)]
g-ir-doc-tool: Remove some occurrences of empty Returns: lines
Tomeu Vizoso [Sun, 19 Feb 2012 14:27:54 +0000 (15:27 +0100)]
g-ir-doc-tool: use True and False instead of %TRUE and %FALSE
Tomeu Vizoso [Sun, 19 Feb 2012 13:56:03 +0000 (14:56 +0100)]
g-ir-doc-tool: Remove module and class from the function signature
Tomeu Vizoso [Sun, 19 Feb 2012 13:55:14 +0000 (14:55 +0100)]
g-ir-doctool: Use template caching
Tomeu Vizoso [Sun, 19 Feb 2012 10:47:01 +0000 (11:47 +0100)]
g-ir-doc-tool: Use None instead of %NULL
Tomeu Vizoso [Sun, 19 Feb 2012 10:08:40 +0000 (11:08 +0100)]
g-ir-doc-tool: Use the ctype for the return type in signatures
Tomeu Vizoso [Sun, 19 Feb 2012 10:06:35 +0000 (11:06 +0100)]
g-ir-doc-tool: Display Returns: even if there's no args
Tomeu Vizoso [Sat, 18 Feb 2012 16:02:22 +0000 (17:02 +0100)]
g-ir-doc-tool: Update expected, some whitespace was removed
Tomeu Vizoso [Sat, 18 Feb 2012 16:00:51 +0000 (17:00 +0100)]
g-ir-doc-tool: Add Since: tag to classes
Tomeu Vizoso [Sat, 18 Feb 2012 11:17:43 +0000 (12:17 +0100)]
g-ir-doc-tool: Add Since: tag to mallard docs
Tomeu Vizoso [Sat, 18 Feb 2012 11:08:41 +0000 (12:08 +0100)]
g-ir-doctool: Add function argument docs to the C template
Tomeu Vizoso [Sat, 18 Feb 2012 10:59:17 +0000 (11:59 +0100)]
g-ir-doctool: Add argument docs to the Python template
Jean Bréfort [Fri, 17 Feb 2012 16:48:35 +0000 (11:48 -0500)]
repository: Ensure error is set if we're parsing a malformed file
https://bugzilla.gnome.org/show_bug.cgi?id=661951
Tomeu Vizoso [Fri, 17 Feb 2012 12:39:15 +0000 (13:39 +0100)]
g-ir-doctool: Don't instantiate MallardFormatter for unknown languages
Tomeu Vizoso [Fri, 17 Feb 2012 09:43:01 +0000 (10:43 +0100)]
g-ir-doc-tool: Update expected mallard for the doc tests
Shaun McCance [Wed, 24 Aug 2011 15:32:18 +0000 (11:32 -0400)]
g-ir-doc-tool: Consolidating the function templates
Shaun McCance [Tue, 23 Aug 2011 14:43:34 +0000 (10:43 -0400)]
g-ir-doc-tool: Added MallardFormatter class