=== 0.6.2 === 2009-01-21 Johan Dahlin * NEWS: Update 2009-01-21 Johan Dahlin Bug 562622 – Errordomains missing * giscanner/girwriter.py: * giscanner/glibast.py: * giscanner/glibtransformer.py: * tests/scanner/Makefile.am: * tests/scanner/foo-1.0-expected.gir: * tests/scanner/foo-1.0-expected.tgir: * tests/scanner/foo.c (foo_error_get_type), (foo_error_quark): * tests/scanner/foo.h: 2009-01-20 Johan Dahlin * giscanner/scannerlexer.l: Increase the buffer size to 1M, so gtkalias.h can be parsed. 2009-01-20 Johan Dahlin * giscanner/glibtransformer.py: When trying to map functions to structs, do not require a public structure to exist, should fix Gst gir generation in. 2009-01-20 Johan Dahlin Bug 562615 – Struct methods missing * giscanner/annotationparser.py: * giscanner/ast.py: * giscanner/girwriter.py: * giscanner/glibast.py: * giscanner/glibtransformer.py: * tests/scanner/foo-1.0-expected.gir: * tests/scanner/foo-1.0-expected.tgir: 2009-01-16 Dan Winship * gir/GL-1.0.gir: add back GLvoid, which got lost during the gir-repository -> gobject-introspection migration 2009-01-15 Johan Dahlin * gir/freetype2-2.0.gir: add FT_Int32 * gir/xft-2.0.gir: add XftFont * girepository/gdump.c (g_irepository_dump): Report errors when an invalid type is encountered * giscanner/glibtransformer.py: Make the error message a bit nicer. Part of preparating for gir generating inside pango. 2009-01-15 Johan Dahlin * gir/GL-1.0.gir: * gir/Makefile.am: * gir/cairo-1.0.gir: * gir/fontconfig-2.0.gir: * gir/freetype2-2.0.gir: * gir/libxml2-2.0.gir: * gir/xfixes-4.0.gir: * gir/xft-2.0.gir: * gir/xlib-2.0.gir: Move over the hand-written girs from gir-repository so upstream libraries depending on these can avoid a gir-repository dependency. 2009-01-15 Johan Dahlin Bug 567813 – Everything should be versioned * gir/Makefile.am: * girepository/Makefile.am: * girepository/girepository.c (init_globals): * girepository/girparser.c (locate_gir): * giscanner/dumper.py: * giscanner/transformer.py: * gobject-introspection-1.0.pc.in: * tests/everything/Makefile.am: * tests/invoke/Makefile.am: * tests/offsets/Makefile.am: * tests/repository/Makefile.am: * tests/scanner/Makefile.am: * tools/Makefile.am: 2009-01-13 Johan Dahlin Bug 555036 – put gtk-doc in GIR * giscanner/annotationparser.py: * giscanner/ast.py: * giscanner/girwriter.py: * giscanner/glibast.py: * tests/scanner/annotation-1.0-expected.gir: * tests/scanner/annotation.h: * tests/scanner/foo-1.0-expected.gir: 2009-01-13 Johan Dahlin * giscanner/cachestore.py (CacheStore.load): Catch AttributeError which seems to be occasionally raised for Record. * giscanner/annotationparser.py: Fix a bug where \n was not present in a comment 2009-01-12 Johan Dahlin Bug 562467 – Property annotation * giscanner/annotationparser.py: * tests/scanner/annotation-1.0-expected.gir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/annotation.c (annotation_object_set_property), (annotation_object_get_property), (annotation_object_class_init): Annotations are parsed for properties. 2009-01-12 Johan Dahlin Bug 546739 – Introspection should know precise signal parameter types * giscanner/annotationparser.py: * tests/scanner/annotation-1.0-expected.gir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/annotation.c (annotation_object_class_init): Annotations are parsed for signals, the (type) annotation is introduced. 2009-01-12 Johan Dahlin Bug 563591 – Flags not recognized when there is no introspection data * giscanner/ast.py: * giscanner/girwriter.py: * giscanner/giscannermodule.c (type_get_is_bitfield): * giscanner/glibast.py: * giscanner/glibtransformer.py: * giscanner/scannerparser.y: * giscanner/sourcescanner.c (gi_source_type_copy): * giscanner/sourcescanner.h: * giscanner/sourcescanner.py: * giscanner/transformer.py: * tests/scanner/foo-1.0-expected.gir: * tests/scanner/foo-1.0-expected.tgir: * tests/scanner/foo.h: Large parts of this patch was done by Jürg Billeter. 2009-01-12 Havoc Pennington Bug 563386 – scanner ignores "const" on boxed return values * tests/everything/everything.c (test_simple_boxed_a_const_return): * tests/everything/everything.h: This adds just the tests specified in the bug above, the fix itself was included in Bug 563794 2009-01-03 Andreas Rottmann Bug 566404 – Annotations for GLib * gir/glib-2.0.c: Added allow-none annotations for g_thread_init() and g_main_loop_new(). 2009-01-12 Johan Dahlin Bug 566419 – Element type of arrays not properly handled in all cases * giscanner/annotationparser.py: * tests/scanner/annotation-1.0-expected.gir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/annotation.c (annotation_object_set_data), (annotation_object_set_data2), (annotation_object_set_data3): * tests/scanner/annotation.h: Based on patch by Andreas Rottmann 2009-01-12 Johan Dahlin Bug 566560 – giscanner.transformer.SkipError * giscanner/transformer.py: Catch SkipError for all nodes, not just functions. Makes it possible to skip unsupported parameter types in callbacks. 2009-01-12 Johan Dahlin Bug 563794 - Redo annotation parsing & applying Thanks to Colin for helping out considerably in landing this. * giscanner/Makefile.am: * giscanner/ast.py: * giscanner/dumper.py: * giscanner/girparser.py: * giscanner/giscannermodule.c (pygi_source_scanner_get_comments), (calc_attrs_length), (pygi_collect_attributes), (init_giscanner): * giscanner/glibtransformer.py: * giscanner/scannerlexer.l: * giscanner/sourcescanner.c (gi_source_symbol_unref), (gi_source_scanner_new), (gi_source_scanner_free), (gi_source_scanner_get_comments): * giscanner/sourcescanner.h: * giscanner/sourcescanner.py: * giscanner/transformer.py: * giscanner/xmlwriter.py: * tests/scanner/annotation-1.0-expected.gir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/annotation.c: * tests/scanner/annotation.h: * tests/scanner/foo-1.0-expected.gir: * tests/scanner/foo-1.0-expected.tgir: * tests/scanner/foo.h: * tools/g-ir-scanner: This commit merges the annotation parser rewrite branch. It'll change the annotation parsing to be done completely in python code which will make it easier to do further annotation parsing easier. 2009-01-03 Andreas Rottmann Bug 563469 – Arrays not treated correctly in struct offset calculation * tests/scanner/foo.h (FooObject): Added field `some_int'. * tests/scanner/foo-1.0-expected.gir, * tests/scanner/foo-1.0-expected.tgir: Adapted. * giscanner/glibtransformer.py (GLibTransformer._create_gobject): carry over object fields from original (struct) node. (GLibTransformer._pair_class_struct): Don't add fields of the class struct to to the node for the class, they should go under a nested element (see also Bug 551738). This is needed as otherwise offset calculation would not work, as the instance fields are mingled with the class fields without a way to distinguish them. 2009-01-03 Johan Dahlin * misc/pep8.py: Disable blank line check, it works differently under Python 2.5 from 2.6 and was rather annoying from the start. 2008-01-03 Andreas Rottmann Bug 556489 – callback annotations * giscanner/transformer.py * tools/generate.c (write_callable_info): Write out the new scope, closure and destroy attributes. * giscanner/transformer.py (Transformer._type_is_callback): New method, checking if a given type is a callback. (Transformer._augment_callback_params): New method; adds information (closure, destroy) to callback parameters. (Transformer._handle_closure, Transformer._handle_destroy): New methods, auxiliary to _augment_callback_params. (Transformer._create_function): Call _augment_callback_params(). (Transformer._create_parameter): Handle scope option. (Transformer._create_typedef_callback): New method, creates a callback, and registers it in the typedef namespace (Transformer._create_typedef): Use _create_typedef_callback() instead of the plain _create_callback(). * giscanner/ast.py (Parameter): Added callback-related fields. * giscanner/girwriter.py: Write out new Parameter fields. * girepository/girnode.h (GIrNodeParam): Added fields scope, closure and destroy. * girepository/gtypelib.h (ArgBlob): Ditto. * girepository/girparser.c (start_parameter): Handle new fields. * girepository/girmodule.c (g_ir_module_build_typelib): Adjust arg_blob_size, bump major version due to this change. * girepository/girnode.c (g_ir_node_get_full_size_internal) (g_ir_node_build_typelib) * girepository/gtypelib.c (g_typelib_check_sanity): ArgBlob size adjustments. (g_ir_node_build_typelib): Fill in new ArgBlob flags from param. * girepository/girepository.h (GIScope): New enumeration, listing the different possible scopes for callbacks. * girepository/ginfo.c (g_arg_info_get_scope) (g_arg_info_get_closure, g_arg_info_get_destroy): Accessors for callback-related argument indices (callback scope, closure for a callback, destroy notification for a callback). * tests/scanner/: Added testcases for new features. 2009-01-03 Jürg Billeter * giscanner/ast.py: * giscanner/dumper.py: * giscanner/girparser.py: * giscanner/glibtransformer.py: * giscanner/sourcescanner.py: * giscanner/transformer.py: * giscanner/xmlwriter.py: Fix inconsistencies with PEP8 2008-12-21 Johan Dahlin * gir/gio-2.0.c: Annotate transfer, direction and allow none for g_file_load_contents, g_file_load_contents_finish and g_file_load_partial_contents_finish parameters. 2008-12-12 Owen Taylor Disable array auto-detection for out-annotated parameters (#563934) If we have a parameter annotated as (out), then having a ctype of 'char **' (or similar) doesn't necessarily indicate an array. * giscanner/transformer.py: Skip array-detection logic for (out)-annotated parameters. * tests/scanner/annotation.h tests/scanner/annotation.c tests/scanner/annotation-1.0-expected.gir tests/scanner/annotation-1.0-expected.tgir: Add a test for an (out) string parameter. 2008-12-12 Johan Dahlin * giscanner/dumper.py (DumpCompiler._link): Pass in --tag=CC to libtool to avoid making libtool confused when CC is different from gcc on some systems. 2008-12-10 Johan Bilien Bug 563998 – Cache the GIBaseInfo for GTypes * girepository/girepository.c (g_irepository_find_by_gtype): add a cache of GType -> GIBaseInfo. 2008-12-09 Johan Bilien Bug 562545 – Add function taking / returning GValue * tests/everything/everything.[ch]: add a test of function taking and returning "const GValue *" 2008-12-09 Johan Dahlin * giscanner/cachestore.py (CacheStore.store): Use shutil.move instead of os.rename, since it will automatically fall back to copying+remove if the src directory is on a different partition from the dst directory. 2008-12-08 Tristan Van Berkom Bug 563742 – introspection should record the introduced version of symbols marked with the "Since:" tag reviewed by: Johan * giscanner/ast.py: * giscanner/girwriter.py: * giscanner/scannerlexer.l: * giscanner/transformer.py: * tests/scanner/annotation-1.0-expected.gir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/annotation.c (annotation_versioned): * tests/scanner/annotation.h: 2008-12-08 Johan Dahlin * giscanner/cachestore.py (_get_cachedir): Don't require HOME to be set and if it set, don't require the directory to exist. 2008-12-08 Johan Dahlin * giscanner/cachestore.py (CacheStore.store): Dump the cache file to a temporary file and rename it the expected filename only when it's completely written. This should make the cache more roboust when run in parallel, and hopefully avoid triggering bugs in Python. 2008-12-03 Christophe Fergeau Bug 562971 – g-ir-scanner failure on libgpod headers * giscanner/scannerlexer.l: raise YY_BUF_SIZE to 65536 up from the default 16384. Without it, the lexer was aborting with a cryptic error message on source files containing really long comment blocks. 2008-12-01 Colin Walters * girepository/gfield.c: Fix memory leak; unref type info we created, not field info 2008-11-30 Johan Dahlin Bug 562289 – Race when removing invalid cache * giscanner/cachestore.py: ENOENT is mapped to a OSError, not IOError. 2008-11-27 Johan Dahlin * gir/glib-2.0.c: Add return value transfer annotation for g_markup_escape_text. 2008-11-25 Colin Walters * tools/g-ir-scanner: Add --libtool option which we expect Automake-using people to pass. * giscanner/dumper.py: Implement it. * gir/Makefile.am, tests/**/Makefile.am: Use it. 2008-11-25 Colin Walters * tests/scanner/Makefile.am: Remove hand-rolled generation of .tgir; easier to just use a Makefile rule and dependencies. This corresponds with a change made to gir-repository to fix srcdir != builddir issues. 2008-11-25 Johan Dahlin * configure.ac: Post release version bump