diff options
author | Johan Dahlin <jdahlin@litl.com> | 2009-02-11 17:09:33 -0200 |
---|---|---|
committer | Johan Dahlin <johan@gnome.org> | 2009-02-11 17:09:33 -0200 |
commit | a7d83136a1dbb1cb24bb22d2a6ddf1db7fe6d198 (patch) | |
tree | a92aa2aa868172166e91c619c1286ba8a42e24f7 /ChangeLog.pre-git | |
parent | 2a4e3d5c9ec033c9d88712393e2f568d1755b89a (diff) | |
download | gobject-introspection-a7d83136a1dbb1cb24bb22d2a6ddf1db7fe6d198.tar.gz |
Rename ChangeLog to ChangeLog.pre-git
Diffstat (limited to 'ChangeLog.pre-git')
-rw-r--r-- | ChangeLog.pre-git | 6128 |
1 files changed, 6128 insertions, 0 deletions
diff --git a/ChangeLog.pre-git b/ChangeLog.pre-git new file mode 100644 index 00000000..d12f5e6c --- /dev/null +++ b/ChangeLog.pre-git @@ -0,0 +1,6128 @@ +2009-02-10 Rober Carr <carrr@rpi.edu> + + Bug 569633 – Typelib compiler fails with vararg callbacks + + * girepository/girparser.c: Also filter out callback functions + which take vararg arguments. + +2009-02-10 Xan Lopez <xan@gnome.org> + + Bug 570903 - Add information about -I flag to scanner manpage + + * docs/g-ir-scanner.1: Add info about -I flag. + +2009-02-06 Owen Taylor <otaylor@redhat.com> + + * gir/xlib-2.0.gir: Add KeySym and KeyCode to the dummy + xlib-2.0.gir. + +2009-02-04 Johan Dahlin <jdahlin@async.com.br> + + * girepository/Makefile.am: + * girepository/girffi.c (g_callable_info_get_ffi_arg_types), + (g_callable_info_get_ffi_return_type), + (g_callable_info_prepare_closure), (g_callable_info_free_closure): + * girepository/girffi.h: + Add utility functions for invocing closures given a GICallableInfo + using libffi. + +2009-02-03 Andreas Rottmann <a.rottmann@gmx.at> + + * tests/scanner/utility.h (UtilityTaggedValue): Make the union + member anonymous. + (UtilityByte): New union typedef with an unnamed struct in it. + + * giscanner/transformer.py (Transformer._create_struct): Create + unnamed structs for symbols with a None ident. + (Transformer._create_union): Likewise. + + * giscanner/girwriter.py (GIRWriter._write_record): Allow name + being None. + (GIRWriter._write_union): Likewise. + + * girepository/girparser.c (start_struct): Allow a NULL name for + non-toplevel structs. + (start_union): Likewise. + + * tests/scanner/utility.h (UtilityTaggedValue): New struct + typedef, which has a nested union member. + * tests/scanner/utility-expected.gir: Adapted. + + * giscanner/transformer.py (Transformer._create_member): Create + struct/union members if appropriate. + (Transformer._create_struct, Transformer._create_union): Allow for + structs/unions without a C type. + + * giscanner/glibtransformer.py (GLibTransformer._resolve_field): + We don't need to resolve non-typef'd + (GLibTransformer._resolve_field): Add cases for non-typedef'd + struct/union "fields". + + * giscanner/girwriter.py (GIRWriter._write_record): Allow for + records without a C type. + (GIRWriter._write_field): structs and unions may appear in places + where fields do. + +2009-02-03 Andreas Rottmann <a.rottmann@gmx.at> + + * girepository/girparser.c (ParseContext): Removed member + current_node, added node_stack instead. + (CURRENT_NODE): New macro, returns the current node (top of + node_stack). + (pop_node, push_node): New functions; pop or push a node from + node_stack. + Rest of the file adapted to these changes, which are necessary + for supporting nested structs/and unions. + +2009-02-02 Dan Winship <danw@gnome.org> + + * girepository/ginfo.c (g_registered_type_info_get_g_type): handle + the special case for GObject, whose glib:get-type is listed as + "intern". + +2009-02-02 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 569408 – Scanner doesn't handle arbitrary typedefs correctly + + * giscanner/glibtransformer.py (GLibTransformer._create_gobject): + Treat GInitiallyUnowned specially. + + Bug 568680 – Scanner misses fields (at least in GObject.Object) + + * girepository/giroffsets.c (compute_struct_field_offsets): Fix + handling of callbacks (a callback member clobbered the size + computed so far). + + * giscanner/transformer.py (Transformer._create_compound): Use + the (empty) compound created by a typedef if present; this means + that fields will no longer get lost. + + * giscanner/transformer.py (Transformer._create_compound): New + method, contains logic common to _create_union and _create_struct. + (Transformer._create_struct, Transformer._create_union): Rewritten + in terms of _create_compound. + + * gir/GObject-2.0.xpath: Some new assertations of the presence + GObject fields. + * tests/offsets/Makefile.am, tests/offsets/offsets.h: Added test + for object field offsets. + + 2009-02-02 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 563469 – Arrays not treated correctly in struct offset calculation + + * tests/offsets/offsets.h (OffsetsArray): New struct, containing a + bunch of arrays. + + * tests/offsets/gen-gitestoffsets (FIELD_RE): Handle arrays. + + * girepository/giroffsets.c (get_interface_size_alignment): + Refactored to make it more general, now takes a GIrNodeType* + instead of a GIrNodeField*, plus an additional 'who' parameter + that denotes what the size/alignment is calculated for. + (get_type_size_alignment): New function, refactored version of + get_field_size_alignment(). + (get_field_size_alignment): Implemented in terms of + get_type_size_alignment(). + (get_type_size_alignment): Handle array types correctly. + + 2009-01-28 Johan Bilien <jobi@via.ecp.fr> + + * tests/scanner/annotation-1.0-expected.gir: add missing + with_voidp + +2009-01-27 Johan Dahlin <jdahlin@async.com.br> + + * 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: + Remove shared-library tags for these too. + +2009-01-27 Johan Dahlin <jdahlin@async.com.br> + + * gir/GL-1.0.gir: + Remove shared-library which removes the build + time dependency on mesa. + +2009-01-27 Dan Winship <danw@gnome.org> + + Misc warning fixes + + * giscanner/scannerparser.y: Fix the "Ignoring non-UTF-8 constant + string" error to print the right value. + + * tests/scanner/annotation.c (backslash_parsing_tester) + (backslash_parsing_tester_2): make these non-static to avoid a + warning. + (annotation_object_string_out) + (annotation_string_zero_terminated): fix return values + + * tests/scanner/annotation.h (annotation_object_with_voidp): + prototype this + + * tests/scanner/gtkfrob.c: + * tests/scanner/gtkfrob.h (gtk_frob_language_manager_get_default): + fix prototype. (s/()/(void)/). + + * tools/compiler.c (format_output): fix signed/unsigned warning. + Output a prototype for register_typelib() to avoid warnings later. + +2009-01-26 Johan Dahlin <jdahlin@async.com.br> + + * tests/everything/everything.c (test_callback): + * tests/everything/everything.h: + Add a couple of callback tests. + +2009-01-26 Johan Dahlin <jdahlin@async.com.br> + + * girepository/ginfo.c (g_base_info_unref): + Only unref the repository if it's actually set. + +2009-01-23 Johan Dahlin <jdahlin@async.com.br> + + * tests/everything/everything.c (test_enum_param): + * tests/everything/everything.h: + + Add an enum param test function + +2009-01-21 Johan Dahlin <jdahlin@async.com.br> + + * configure.ac: + Post-release version bump + +=== 0.6.2 === +2009-01-21 Johan Dahlin <jdahlin@async.com.br> + + * NEWS: Update + +2009-01-21 Johan Dahlin <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + * giscanner/scannerlexer.l: + Increase the buffer size to 1M, so + gtkalias.h can be parsed. + +2009-01-20 Johan Dahlin <jdahlin@async.com.br> + + * 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 <jdahlin@async.com.br> + + 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 <danw@gnome.org> + + * gir/GL-1.0.gir: add back GLvoid, which got lost during the + gir-repository -> gobject-introspection migration + +2009-01-15 Johan Dahlin <jdahlin@async.com.br> + + * 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 <jdahlin@async.com.br> + + * 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 <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + * 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 <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + 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 <hp@pobox.com> + + 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 <a.rottmann@gmx.at> + + 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 <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + 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 <jdahlin@async.com.br> + + 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 <a.rottmann@gmx.at> + + 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 <record> 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 <jdahlin@async.com.br> + + * 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 <a.rottmann@gmx.at> + + 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 <j@bitron.ch> + + * 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 <jdahlin@async.com.br> + + * 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 <otaylor@redhat.com> + + 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 <jdahlin@async.com.br> + + * 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 <jobi@via.ecp.fr> + + 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 <jobi@via.ecp.fr> + + 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 <johan@async.com.br> + + * 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 <tristan.van.berkom@gmail.com> + + 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 <johan@async.com.br> + + * 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 <johan@async.com.br> + + * 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 <teuf@gnome.org> + + 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 <walters@verbum.org> + + * girepository/gfield.c: Fix memory leak; unref type info we + created, not field info + +2008-11-30 Johan Dahlin <jdahlin@async.com.br> + + Bug 562289 – Race when removing invalid cache + + * giscanner/cachestore.py: + ENOENT is mapped to a OSError, not IOError. + +2008-11-27 Johan Dahlin <jdahlin@async.com.br> + + * gir/glib-2.0.c: Add return value transfer annotation + for g_markup_escape_text. + +2008-11-25 Colin Walters <walters@verbum.org> + + * 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 <walters@verbum.org> + + * 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 <jdahlin@async.com.br> + + * configure.ac: + Post release version bump + +=== 0.6.1 === +2008-11-25 Johan Dahlin <jdahlin@async.com.br> + + * NEWS: + Release 0.6.1 + +2008-11-25 Colin Walters <walters@verbum.org> + + Bug 559705 – Missing association between static methods and classes + + * docs/typelib-format.txt: + * girepository/ginfo.c (g_function_info_get_flags): + * girepository/girmodule.c (g_ir_module_build_typelib): + * girepository/girnode.c (g_ir_node_get_size), + (g_ir_node_build_typelib): + * girepository/girparser.c (start_function): + * girepository/gtypelib.c (g_typelib_check_sanity), + (validate_header), (validate_function_blob): + * girepository/gtypelib.h: + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * tests/scanner/foo-1.0-expected.gir: + * tests/scanner/foo-1.0-expected.tgir: + * tests/scanner/foo.h: + +2008-11-25 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: Define socklen_t as an alias for int32. + +2008-11-24 Johan Dahlin <jdahlin@async.com.br> + + * girepository/gdump.c (dump_type): Remove a warning, + be less verbose on error on fundamental types. + +2008-11-23 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/dumper.py: Add license headers, + refactor into a class, avoid some duplication and do some + extra pedantic checks. + +2008-11-23 Johan Dahlin <jdahlin@async.com.br> + + Make it compilable with -Werror on my system by adding + a couple of prototypes and including headers. + +2008-11-23 Johan Dahlin <jdahlin@async.com.br> + + Bug 562022 – gobject-introspection needs python headers + + * configure.ac: fail without python headers present. + Patch by: Tom Parker + +2008-11-21 Johan Dahlin <jdahlin@async.com.br> + + Bug 561617 – Return value array annotations + + * giscanner/transformer.py: + * tests/scanner/annotation.c (annotation_return_array): + * tests/scanner/annotation.h: + Add support for (array) for return value annotations as well. + +2008-11-20 Johan Bilien <jobi@via.ecp.fr> + + * tests/everything/everything.[ch]: add a test function which calls a + closure. + +2008-11-19 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/cachestore.py: + Catch ValueError exceptions. + +2008-11-18 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/scanner/Makefile.am (barapp_SOURCES): fix builddir != srcdir + +2008-11-18 Andreas Rottmann <a.rottmann@gmx.at> + + * girepository/girnode.c (g_ir_node_build_typelib): Use sizeof() + instead of hard-coding struct sizes. + +2008-11-18 Owen Taylor <otaylor@redhat.com> + + Bug 561296 - Add "storage type" to the typelib data for enums + + In order to set and get enum and flag fields in structures, we need + to know the integral type that the enumeration is stored as. We are already + computing that at compile time in order to compute struct offsets, so the + easiest thing to do is to save that in the typelib. + + * docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c + girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob + and compute and save it at compile time. + + * girepository/girepository.h girepository/ginfo.c: + Add g_enum_info_get_storage_type(). + + * girepository/gfield.c: Implement reading and writing enum and flags fields + based on the storage type. + +2008-11-18 Owen Taylor <otaylor@redhat.com> + + Add enums to the Everything test module + + * tests/everything/everything.[ch]: Add TestEnum and TestFlags to the Everything + test module and register them as GTypes. + + https://bugzilla.gnome.org/show_bug.cgi?id=561296 + +2008-11-18 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/cachestore.py: + Catch BadPickleGet exceptions as well. + +2008-11-17 Owen Taylor <otaylor@redhat.com> + + * tests/everything/everything.c: Fix doc comment annotations + for test_struct_b_clone() to refer to the right function. + +2008-11-17 Dan Winship <danw@gnome.org> + + * giscanner/glibtransformer.py (GLibTransformer.__init__): fix + spelling of GHashTable. #561135 + + * tests/scanner/annotation.c (annotation_object_get_hash): + * tests/scanner/annotation-1.0-expected.gir: + * tests/scanner/annotation-1.0-expected.tgir: add a test of + GHashTable annotations + +2008-11-17 Andreas Rottmann <a.rottmann@gmx.at> + + * giscanner/ast.py: Change string array match type to be in terms + of canonicalized type. + * giscanner/transformer.py: Add canonicalize_ctype which gives us + a version of a c:type without aliases, so we can deep canonicalize + char** to utf8*. Update parse_ctype to use it. + * tests/*: Add gtk_init like int*/char*** arg functions for testing. + +2008-11-16 Colin Walters <walters@verbum.org> + + * girepository/girepository.c: Ensure we always call init_globals, + even if passed a non-default repository. + +2008-11-16 Colin Walters <walters@verbum.org> + + Bug 559706 - Interface prerequisites + + * common.mk: Dep on libgirepository.la for scanner libs so that + we rebuild things even if just gdump.c changes. + * girepository/gdump.c: Dump prerequisites. + * giscanner/ast.py: Add prerequisite list. + * giscanner/girparser.py: Parse them from gdump. + * giscanner/girwriter.py: Write them. + * giscanner/glibtransformer.py: Resolve them. + * tests/*: Test. + +2008-11-16 Owen Taylor <otaylor@redhat.com> + + Bug 561087 - Respect is_pointer in serialize_type() + + Add a '*' to the serialization for the cases where we set is_pointer + in the type blob we write out depending on node->is_pointer. Don't + add the '*' in the cases where is_pointer is set or not set in a + fixed fashion. + + http://bugzilla.gnome.org/show_bug.cgi?id=561087 + +2008-11-16 Owen Taylor <otaylor@redhat.com> + + Bug 560825 – Add size and alignment to typelib + + Include the size and alignment of structures and unions in the typelib, + and add getter methods to retrieve them from GIStructInfo/GIUnionInfo. + + * docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c + girepository/girmodule.c girepository/gtypelib.c: Add size and alignment + to StructBlob and UnionBlob. + + * girepository/ginfo.c girepository/girepository.h: + Add g_[struct|union]_get[size|alignment](). + + * test/offsets/gen-gitestoffsets: Test overall structure size and alignment. + +2008-11-16 Owen Taylor <otaylor@redhat.com> + + Bug 552371 – implement struct field get/set + + * girepository/gfield.c girepository/girepository.h: Add + convenience functions g_field_info_set_field() and + g_field_info_get_field() to set and get fields based on the + offsets in GIFieldInfo. + +2008-11-16 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 560241 - Out-arguments should not be marked as being pointers + in all cases + + * girepository/girparser.c: Improved logic for out arguments. + +2008-11-16 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 559601 - Pointers in structs/unions unduly treated as arrays + + * giscanner/transformer.py: Differentiate type creation logic + between parameters and struct components. + +2008-11-15 Colin Walters <walters@verbum.org> + + * giscanner/dumper.py: Check return code from pkg-config + invocations. + +2008-11-14 Johan Dahlin <jdahlin@async.com.br> + + * tests/everything/everything.c (test_array_int_in), + (test_array_gtype_in): + * tests/everything/everything.h: + Rename the int/gtype array tests. Make the return value + useful, an aggregation of the array input values. + +2008-11-14 Johan Dahlin <jdahlin@async.com.br> + + * tests/everything/Makefile.am: + * tests/everything/everything.c: + * tests/everything/everything.h: + * tests/everything/gitesttypes.c: + * tests/everything/gitesttypes.h: + Rename gitesttypes.[ch] to everything.[ch] + +2008-11-13 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 560708 – Don't treat arrays that have a length specified as + zero-terminated by default + + * giscanner/transformer.py: Default to non zero terminated for + arrays with length. + * tests/*: Update, add test for zero vs not. + +2008-11-13 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 557788 - Return types for constructors in generated typelib bogus + + * girepository/girnode.c: Namespace-qualify XREFs; not doing so is + obviously broken in the face of duplicate names in different + namespaces. + * tests/scanner/*expected.gir: Fix up. + +2008-11-13 Owen Taylor <otaylor@redhat.com> + + * girepository/girffi.c: Fix "Unexpected time for time_t" + message. + +2008-11-13 Colin Walters <walters@verbum.org> + + Bug 558436 - avoid having scanner load app code + + * giscanner/cgobject.py: Delete; we no longer load shared + libraries directly. + * giscanner/dumper.py: Support for linking a library to + a stub binary for introspection. + * giscanner/glibtransformer.py: Rewrite to use gdump XML + from invocation of child binary. + * giscanner/transformer.py: Fix up to use fully qualified + name in parse tree. Make parse_ctype public so we can use + it inside glibtransformer. + * tests/scanner/barapp.c: New test, using --program arg + for g-ir-scanner. + * tests/*: Update to use common.mk for invoking scanner. + * tools/g-ir-scanner: Add options --program, --program-arg, + and --no-libtool. + * docs/g-ir-scanner.1: Update. + +2008-11-13 Colin Walters <walters@verbum.org> + + * configure.ac: Depend on Gio, we use it in gdump.c. + * girepository/gdump.c: Code to dump GType data to XML. + * girepository/girepository.c: Add option group for dumping. + * girepository/girepository.h: Define API for the above. + +2008-11-13 Colin Walters <walters@verbum.org> + + * common.mk: Add a file to include with Makefile fragments + useful for scanner invocation. + +2008-11-13 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/everything/gitesttypes.c (test_filename_return): Return + strings in filename encoding. + +2008-11-13 Owen Taylor <otaylor@redhat.com> + + Bug 560253 – Add structure and boxed types to Everything test module + + * tests/everything/gitesttypes.[ch]: Add examples of: + + Plain old data structs + Plain old data structs with nested fields + Plain old data boxed + Plain old data boxed with nested fields + More complicated boxed types with internal state + +2008-11-12 Johan Dahlin <jdahlin@async.com.br> + + * tests/everything/gitesttypes.c (test_gtype_in): + * tests/everything/gitesttypes.h: + Add a test of GType arrays, a la gtk_list_store_set_columns. + +2008-11-12 Owen Taylor <otaylor@redhat.com> + + Bug 560419 – Cache includes when parsing + + Keep track of all modules parsed within a GIrParser, and when a + module is referenced a second time, use the existing parsed copy + instead of reparsing. + +2008-11-12 Owen Taylor <otaylor@redhat.com> + + Fix management of ParseContext.includes_modules (#560419) + + * girepository/girparser.c: Fix some trivial bugs in managing the + list of include modules. (Add to module's list twice, not + initialized to NULL, not freed.) + +2008-11-12 Owen Taylor <otaylor@redhat.com> + + Keep aliases and disguised_structures local to each module (#560419) + + * girepository/girmodule.[ch]: When parsing, keep keep a separate + hash tables of aliases and 'disguised' flags for each module, and + store that on the module. + + After parsing an include merge the aliases/disguised flags to the + including module. + + * girepository/girparser.c: Remove 'prefix_aliases' flag and + always prefix aliases/disguised structure types when parsing; this + simplifies the code considerably. + +2008-11-12 Owen Taylor <otaylor@redhat.com> + + Fix mismatches between .gir name and 'name' attribute (#560419) + + * tests/boxed.gir tests/constant.gir tests/enum.gir tests/invoke/invoke.c + tests/invoke/testfns-1.0.gir tests/object.gir tests/struct.gir: Fix places + where the 'name' element of <namespace/> didn't match the filename of the + gir, an assumption that the compiler has always expected and now enforces. + +2008-11-12 Owen Taylor <otaylor@redhat.com> + + Only allow one <namespace/> element per <repository/> (#560419) + + * girepository/girparser.c: The logic in girparser.c didn't work + very well if there were multiple <namespace/> nodes within a + single <repository/> (context->namespace was always the overall + filename and not the the name specified in the <namespace/> + element for one thing; this would cause aliases to be mis-prefixed + in include modules.) Also check that the "name" in the + <namespace/> node matches the filename. + +2008-11-12 Owen Taylor <otaylor@redhat.com> + + Add a GirParser object to hold the state of a compilation + + * girepository/girparser.[ch] tools/compiler.c: Add a toplevel + GirParser object to hold state that is global across a + compilation. Currently just holds the include path, but will + eventually also keep a cached list of parsed modules. + +2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * girepository/girepository.c (find_namespace_latest): Fix + minor memory leak. + +2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * configure.ac: use 'introspection' component for bugs + +2008-11-12 Johan Dahlin <jdahlin@async.com.br> + + * tests/everything/gitesttypes.c (test_filename_return): + * tests/everything/gitesttypes.h: + Add a filename return test. + +2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/offsets/Makefile.am (gitestoffsets.c): fix + gen-gitestoffsets invocation with builddir != srcdir + +2008-11-12 Johan Dahlin <jdahlin@async.com.br> + + * girepository/girepository.c: + Change the element type from utf8 to filename + * girepository/girnode.c (g_ir_node_build_typelib): + Special case filename equally to utf8 here. + +2008-11-12 Johan Dahlin <jdahlin@async.com.br> + + * gir/Makefile.am: + Remove unused variables, add a dependency of girepository.ch, so when + they change we rebuild the gir automatically. + +2008-11-12 Johan Dahlin <jdahlin@async.com.br> + + * girepository/girepository.c (g_irepository_get_search_path): + * girepository/girepository.h: + Add a g_irepository_get_search_path, so we can access the search + paths from runtime. + +2008-11-12 Johan Bilien <jobi@via.ecp.fr> + + Bug 560474 – g-ir-compiler crashes when compiling the glib gir + + * girepository/girparser.c: avoid freeing an uninitialized pointer + +2008-11-12 Johan Dahlin <jdahlin@async.com.br> + + * gir/Makefile.am: + * giscanner/glibtransformer.py: + * tools/g-ir-scanner: + Add a GIRepository-2.0.gir. Change the libtool lookup slightly + so we can just pass in --library=foo/bar/baz.la and the scanner + does the right thing. + Don't warn for _get_type() functions if they don't take any + parameters + +2008-11-11 Owen Taylor <otaylor@redhat.com> + + Bug 560404 – Prefix types when resolving aliases in included modules + + * girepository/girparser.c: When resolving aliases in an included + module, prefix types before looking them up. + +2008-11-11 Owen Taylor <otaylor@redhat.com> + + Compute field offsets and overall size for object structures + + Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer + field of type object in structure" + + Do basic computation of field offsets for objects and interfaces; + this doesn't attempt to address all of the "mess" for virtual + functions described in Bug 560281. + +2008-11-11 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 560308 – g-ir-compiler goes in infinite loop on Gdk-2.0.gir + + Based on patch by Johan Bilien. + + * giscanner/transformer.py (_create_member, _create_parameter): + Resolve types here as well. + (_resolve_type_name_1): Try resolving using 'ctype' first since + it's least ambiguous. Fixes struct member type resolution with + similarly named types, e.g. Gdk.PangoRendererClass and + Pango.RendererClass + * tests/scanner/foo*: Add test. + +2008-11-11 Owen Taylor <otaylor@redhat.com> + + * girepository/girparser.c: Search provided include dirs before + the default directories. + +2008-11-11 Owen Taylor <otaylor@redhat.com> + + * girepository/giroffsets.c: Include fully-qualified names in + all error messages. + +2008-11-11 Owen Taylor <otaylor@redhat.com> + + * girepository/giroffsets.c: Fail gracefully with an informative + error message when recursion is encountered when computing a + structure size. + +2008-11-11 Owen Taylor <otaylor@redhat.com> + + * girepository/girparser.c: Remove an unused variable. + +2008-11-10 Owen Taylor <otaylor@redhat.com> + + Add tests for field offset computations + + * tests/offsets/offsets.h: Header file with structure definitions to test + + * tests/offsets/gen-gitestoffsets: Generate a C program that computes + field offsets for the structures in offsets.h two ways: using + the information from a generated typelib, and as computed by the + compiler. + + We diff these two versions to test that everything is OK. + +2008-11-10 Owen Taylor <otaylor@redhat.com> + + Remove field offsets from g-ir-generate output and test inputs + + Field offsets are a) architecture dependent so they shouldn't be part + of the architecture-independent gir format which is installed in + datadir. b) Are architecture-dependent so they shouldn't be in test + expected output. + + * girepository/girparser.c: Don't parse offset for fields + * tools/generate.c: Don't parse offset for fields + * tests/*.gir test/scanner/*.tgir: Remove offsets + + (Virtual function and discriminator offsets are not removed, as they + aren't fully hooked up to the field-offset computation machinery yet.) + +2008-11-10 Owen Taylor <otaylor@redhat.com> + + Bug 560252 - Compute field offsets before writing typelib + + * girepository/girnode.h: Store the total size and alignment for + GIrNodeStruct/Boxed/Union. + + * girepository/giroffset.c: New file implementing computation of + structure field offsets. + + * girepository/girnode.c: Compute structure field offsets before + writing types into the typelib. + + * docs/typelib-format.txt: Document that a field offset of 0xFFFF + means "unknown". Also fix description of the discriminator_offset + field for unions. + +2008-11-10 Owen Taylor <otaylor@redhat.com> + + Bug 560250 - Fully parse included modules + + For some things, like computing structure offsets to put into the typelib + we need more than just the aliases from included modules. Do a completel + parse of included modules and store in module->included_modules. + + Also add g_ir_find_node() to find node information from within the + active set of modules and their includes. + +2008-11-10 Owen Taylor <otaylor@redhat.com> + + Split g_ir_ffi_get_ffi_type() out from ginvoke.c + + Extract a function to convert GITypeTag to ffi_type from the internals + of ginvoke.c. This will be useful in figure out structure alignment. + + Also fix handling of gsize and time_t to be portable. (Add a check + to configure.ac to figure out the width of time_t.) + +2008-11-10 Owen Taylor <otaylor@redhat.com> + + Bug 560248 – "disguised structures" + + Certain types like GIConv and GdkAtom are pointers internally but don't + look like pointers when referenced. They have the form. + + typedef struct _X *X; + + Parse these as structures/records but mark them in the gir with a 'disguised' + attribute so that we know that they need special handling. + + In the typelib treat them like any other structure. + +2008-11-09 Jürg Billeter <j@bitron.ch> + + * giscanner/ast.py: + * giscanner/girwriter.py: + + Write throws attribute for virtual functions, fixes bug 559703 + +2008-11-07 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/libtoolimporter.py (LibtoolImporter.find_module): Clear + up some confusion about the second argument to find_module, it's + actually the packages __path__ attribute which we can safely ignore + for our purposes. + (LibtoolImporter.load_module): Set module.__loader__ as per PEP 302. + +2008-11-07 Owen Taylor <otaylor@redhat.com> + + Bug 559737 – Deal with continuations in macros + + * giscanner/giscannerlexer.l: Treat continuation lines the same + as regular newlines. This makes the scanner not complain about + #define foo(x) \ <stuff> inside a C file. There's no attempt + however to handle parsing macro definitions split across lines. + +2008-11-07 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/cachestore.py: + Handle broken cache entries, write only filesystems and + running out of diskspace. + +2008-11-07 Owen Taylor <otaylor@redhat.com> + + * giscanner/giscannermodule.c (pygi_source_scanner_lex_filename): + Set current_filename before lexing the file so error messages + are reported in the right file. + +2008-11-06 Colin Walters <walters@verbum.org> + + * tests/everything/*: Add some tests for strv. + +2008-11-05 Colin Walters <walters@verbum.org> + + * girepository/ginvoke.c (g_function_info_invoke): Don't use + nested scope local variable for error which may go away after + conditional is complete. + +2008-11-05 Colin Walters <walters@verbum.org> + + * giscanner/scannerlexer.l: Avoid static 256 char buf which we + manipulate hackily; just use GString. This avoids an + uninitialized memory read pointed out by Havoc. + +2008-11-04 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/__init__.py: + * giscanner/ast.py: + * giscanner/cachestore.py: + * giscanner/cgobject.py: + * giscanner/girparser.py: + * giscanner/girwriter.py: + * giscanner/giscannermodule.c: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/libtoolimporter.py: + * giscanner/minixpath.py: + * giscanner/odict.py: + * giscanner/sourcescanner.c: + * giscanner/sourcescanner.h: + * giscanner/sourcescanner.py: + * giscanner/transformer.py: + * giscanner/utils.py: + * giscanner/xmlwriter.py: + * COPYING: + Relicense the giscanner library under LGPLv2+. + This has been approved by all contributors. + +2008-11-01 Owen Taylor <otaylor@redhat.com> + + Bug 558848 giparser.py: shared library should be optional + + When parsing a .gir, allow the shared-library attribute + of <namespace/> to be missing: this corresponds to the handling + in libgirepository and elsewhere. + +2008-11-01 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 557898 – Fails to build on OSX 10.4 + + * configure.ac: Check for $shrext_cmds that should be implicitly + available if you're using libtool >= 2.0. If undefined, call + libtool --config explicitly to get its value. + * girepository/gtypelib.c: Remove special case for (non-)Darwin + systems as unneeded. + +2008-10-31 Colin Walters <walters@verbum.org> + + * COPYING, COPYING.lib, COPYING.tools: Clarify licensing status. + +2008-10-31 Johan Dahlin <jdahlin@async.com.br> + + * configure.ac: Post release version bump + +=== 0.6.0 === +2008-10-31 Johan Dahlin <jdahlin@async.com.br> + + * NEWS: + * configure.ac: + * docs/release-checklist.txt: + 0.6.0 + +2008-10-31 Johan Dahlin <jdahlin@async.com.br> + + * Makefile.am: add an upload-release target + * docs/release-checklist.txt: + Release process documentation + +2008-10-31 Colin Walters <walters@verbum.org> + + Bug 558109 – _g_typelib_init fails to find shared libraries + + * transformer/glibtransformer.py: Use ctypes' find_library + on passed libraries and write that for the shared-library + entry. We want to avoid depending on -devel packages. + +2008-10-31 Johan Dahlin <jdahlin@async.com.br> + + * docs/g-ir-scanner.1: + Document the renaming options. + +2008-10-31 Tommi Komulainen <tommi.komulainen@iki.fi> + + * giscanner/Makefile.am: + * tests/invoke/Makefile.am: + * tests/repository/Makefile.am: List in-tree libraries first in + LDADD / LIBADD. If installed library is listed first, the + resulting binary will prefer installed version to one in .libs, + possibly making 'make check' behave strangely. + +2008-10-30 Tommi Komulainen <tommi.komulainen@iki.fi> + + * giscanner/ast.py: map 'id' (ObjC) to 'any' type to stop + gir-repository from choking with gdk/quartz + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/giscannermodule.c (calc_attrs_length), + (pygi_collect_attributes): + * giscanner/xmlwriter.py: + Write a C version of the xml namespace formatter. + Saves 15% of the time it takes to create a gtk gir. + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/xmlwriter.py: Abstract attribute formatting + to a function external to the XMLWriter class. + + * giscanner/scannerlexer.l: + Parse and discard __typeof and __attribute. + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/girparser.py: + Remove arguments from the constructor, move them to + separate accessors. Add a new parse_tree method + which takes an element tree instance. + * tools/g-ir-scanner: + Update callsite for this + + * giscanner/Makefile.am: + * giscanner/cachestore.py: + * giscanner/transformer.py: + Cache the include parsing. Saves ~25% time when + creating vte (which includes everything up to gtk+). + +2008-10-30 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: Don't reparse includes + we've already processed. + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/girparser.py: + * giscanner/transformer.py: + Avoid parsing parameters, types etc when parsing + includes. Should speed up include parsing a bit. + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/girparser.py: + Avoid big if/else and use a dispatch table like + approach. + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/transformer.py: + Clean up include parsing and registration. + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/transformer.py: + Clean up imports + +2008-10-30 Johan Dahlin <jdahlin@async.com.br> + + Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed + + * gir/Makefile.am: + construct PYTHONPATH just once + + * tests/everything/Makefile.am: + * tests/scanner/Makefile.am: + add $(top_srcdir) to PYTHONPATH to + handle builddir != srcdir + + * giscanner/libtoolimporter.py: + * giscanner/sourcescanner.py: + Make the libtoolimporter work when distchecking too. + + Mostly based on patch by Tommi Komulainen + +2008-10-29 Owen Taylor <otaylor@redhat.com> + + * giscanner/glibtransformer.py: If a filename of an existing + file is passed to --library, hunt for it directly, rather than + searching for a corresponding library. + +2008-10-29 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/libtoolimporter.py: + * giscanner/sourcescanner.py: + Clean up the libtool importer a bit. Add a context so we + can use it through a with statement. + Don't just look in the current directory, look in the whole + sys.path. + +2008-10-29 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 558065 – gitesttypes should be installed + + * configure.ac: + * tests/Makefile.am: + * tests/types/Makefile.am -> tests/everything/Makefile.am + * tests/types/gitesttypes.c -> tests/everything/gitesttypes.c + * tests/types/gitesttypes.h -> tests/everything/gitesttypes.h + move tests/types to tests/everything + + * tests/everything/Makefile.am: build normal shared library + libgirepository-everything.so.1.0.0 and corresponding typelib + Everything-1.0.typelib + + * tests/everything/Makefile.am: explicitly link libtool + versioning with typelib versioning with variables + +2008-10-28 Johan Bilien <jobi@via.ecp.fr> + + * tools/g-ir-scanner: add LD_LIBRARY_PATH to LPATH before calling ld. + +2008-10-27 Johan Bilien <jobi@via.ecp.fr> + + * gio/gio-2.0.c: add allow-none annotations, based on the pygobject + .defs file + +2008-10-27 Johan Bilien <jobi@via.ecp.fr> + + Bug 558068 – when invoking a method, offset the in arguments by one, + not the out + + * tests/invoke/invoke.c, tests/invoke/testfns.c, + tests/invoke/testfns-1.0.gir: Add testing of method and constructor. + * girepository/ginvoke.c: do not offset the index of given out + arguments by one for methods, "this" is provided as in argument only. + +2008-10-27 Johan Bilien <jobi@via.ecp.fr> + + * gir/gio-2.0.c: add annotation for g_file_delete + +2008-10-27 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 558062 – provide and use paths in the .pc file + + * gobject-introspection-1.0.pc.in: provide typelibdir variable + for where .typelibs should be installed (callers shouldn't need + to construct paths from bits and pieces) + +2008-10-25 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 557791 – g_irepository_require() could return a GTypelib * + + * girepository/girepository.c: Return GTypelib; this is useful + for low level manipulation. + +2008-10-25 Colin Walters <walters@verbum.org> + + Bug 557788 – Return types for constructors in generated typelib bogus + + * giscanner/glibtransformer.py: Don't resolve ctors incrementally, + rely on end pass resolution. + +2008-10-25 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 557786 - support fixed size arrays + + * girepository/ginfo.c: Add g_type_info_get_array_fixed_size. + * giscanner/scannerparser.y: Retain fixed array size. + * giscanner/ast.py: Add to note. + * giscanner/girwriter.py: Write to gir. + * girepository/girnode.c: Write it to typelib. + * tools/generate.c: Generate. + * tests/*: Add tests. + +2008-10-25 Colin Walters <walters@verbum.org> + + Bug 557076 - move typelibs to $libdir + + * configure.ac: Steal some configury bits from dbus to expand + libdir. + * gir/Makefile.am: Move to libdir. + * girepository/girepository.c: Stop searching XDG_DATA_DIRS; + instead just look at one hardcoded path in libdir. + * acinclude.m4: Bits from dbus. + +2008-10-24 Johan Dahlin <johan@gnome.org> + + * girepository/girnode.c (g_ir_node_check_unhandled_members): + Be quiet, do not warn about unhandled members. + +2008-10-24 Johan Dahlin <johan@gnome.org> + + * girepository/gtypelib.c: + Only use SHLIB_SUFFIX on darwin, otherwise use + G_MODULE_SUFFIX, we cannot get shext_cmds from libtool 2.2. + +2008-10-24 Lucas Rocha <lucasr@gnome.org> + + Bug 557623 - Constructors shouldn't be flagged as methods. + + * girepository/ginfo.c (g_function_info_get_flags): ditto. + +2008-10-24 Johan Dahlin <johan@gnome.org> + + * giscanner/scannerparser.y: + Check against division by zero for the modula operator. + This fixes header parsing of OSX system headers included + by libsoup. + +2008-10-24 Johan Dahlin <johan@gnome.org> + + * CONTRIBUTORS: + * Makefile.am: + Add a CONTRIBUTORS file and dist it. + +2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556739 – transfer-ownership attribute should be mandatory in .gir + + * girepository/girparser.c (parse_param_transfer): + * giscanner/transformer.py (_create_parameter, _create_return): + * giscanner/girwriter.py (_write_return, _write_parameter): + * tools/generate.c (write_callable_info): always write and + require "transfer-ownership" for return-values and parameters + + * tests/boxed.gir: + * tests/invoke/testfns-1.0.gir: + * tests/object.gir: + * tests/scanner/DrawableAdditions.xml: + * tests/scanner/GtkFrob-1.0-expected.tgir: + * tests/scanner/annotation-1.0-expected.tgir: + * tests/scanner/drawable-1.0-expected.tgir: + * tests/scanner/drawable-injected-1.0-expected.gir: + * tests/scanner/drawable-injected-1.0-expected.tgir: + * tests/scanner/foo-1.0-expected.tgir: Updated + +2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi> + + * giscanner/cgobject.py: build fundamental types same way as glib + + * giscanner/glibtransformer.py (_type_from_gtype): record GType + when constructing the Type from it + + * giscanner/glibtransformer.py (_adjust_transfer): Check whether + the parameter is a GObject from its GType, if available. + + * giscanner/glibtransformer.py (_adjust_transfer): + * tests/scanner/foo-1.0-expected.gir: + * tests/scanner/foo-1.0-expected.tgir: deduce + transfer-ownership from GTypes + +2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi> + + * giscanner/transformer.py (_create_parameter): + * tests/scanner/foo-1.0-expected.gir: make varargs + transfer-ownership="none" + +2008-10-23 Colin Walters <walters@verbum.org> + + Bug 556739 - transfer ownership + + * giscanner/ast.py: Refactor Parameter/Return to share + common attributes. Add transfer_inferred attribute + which says whether or not we made a guess. + * giscanner/transformer.py: Add much more extensive + heuristics around parameter and return transfer. + * giscanner/glibtransformer.py: Adjust to inspect + transfer_inferred. + * tests/*: Adjust. + +2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib + + * tests/scanner/Makefile.am: + * tests/scanner/annotation-1.0-expected.tgir: + * tests/scanner/drawable-1.0-expected.tgir: + * tests/scanner/drawable-injected-1.0-expected.tgir: + * tests/scanner/foo-1.0-expected.tgir: + * tests/scanner/GtkFrob-1.0-expected.tgir: + * tests/scanner/utility-1.0-expected.tgir: Add test to ensure + annotations survive the roundtrip via typelib + + The expectations are as currently produced by g-ir-generate, + comparison with the .gir files shows there are differences. + +2008-10-23 Johan Bilien <jobi@via.ecp.fr> + + Bug 557468 – Support for GI_TYPELIB_PATH + + * girepository/girepository.c: if the GI_TYPELIB_PATH is set, add the + provided paths to the global search path. + +2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 557379 – g-ir-generate not writing the 'abstract' attribute + + * tests/scanner/drawable-1.0-expected.tgir: + * tests/scanner/drawable-injected-1.0-expected.tgir: + * tests/scanner/foo-1.0-expected.tgir: + * tools/generate.c (write_object_info): write 'abstract' + attribute for classes + +2008-10-22 Lucas Rocha <lucasr@gnome.org> + + * girepository/girmodule.c, girepository/gtypelib.c, + girepository/girparser.[ch]: fix some build warnings. + +2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 557405 – Use 'allow-none' consistently + + * docs/typelib-format.txt: + * girepository/ginfo.c (g_arg_info_may_be_null): + * girepository/girnode.c (g_ir_node_build_typelib): + * girepository/girnode.h (struct _GIrNodeParam): + * girepository/girparser.c (start_parameter): + * girepository/girwriter.c (function_generate): + * girepository/gtypelib.h (ArgBlob): + * tests/errors.gir: + * tests/function.gir: + * tools/generate.c (write_callable_info): Use 'allow-none' + consistently throughout + +2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 557092 – Callback annotations not used + + * giscanner/transformer.py (_create_callback): use annotations + for callbacks + * tests/scanner/annotation.h + * tests/scanner/annotation-1.0-expected.gir: add tests + +2008-10-21 Colin Walters <walters@verbum.org> + + * giscanner/scannerlexer.l: Don't require trailing whitespace after + uncommented parameters. + * tests/*: Test it. + +2008-10-21 Colin Walters <walters@verbum.org> + + * girepository/girepository.c: Ensure that when doing an unversioned + require, we prefer items earlier in the search path to later ones. + +2008-10-21 Owen Taylor <otaylor@redhat.com> + + * giscanner/transformer.py: For string parameters allow transfer annotation + to override the standard automatic guessing based on 'const'. + +2008-10-21 Johan Bilien <jobi@via.ecp.fr> + + Bug 557241 – "throws" flag for functions + + * tests/scanner/drawable-1.0-expected.gir, + tests/scanner/drawable-injected-1.0-expected.gir, + tests/scanner/drawable.[ch]: add simple test for throwing + function (has GError ** as last argument) + + * giscanner/ast.py: add a 'throws' flag to Function + * giscanner/glibtransformer.py: if a function's last paramerter is + a GError, set the 'throws' flag and remove that parameter + * giscanner/girwriter.py: write out the 'throws' attribute + * giscanner/girparser.py: support parsing the 'throws' attribute + + * tests/repository/gitestthrows.c: add a simple test to check the + throws flag in a typelib and invoke the function + + * girepository/ginfo.c, girepository/girnode.[ch], + girepository/girnode.h, girepository/girparser.c, + girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag + + * girepository/ginvoke.c: if a function throws, add a GError as last + arguments, and propagate the error to the invoker. + +2008-10-21 Tommi Komulainen <tommi.komulainen@iki.fi> + + * giscanner/transformer.py (_create_parameters): Warn if we see + annotations for unknown parameters. If .h and .c files name + parameters differently, the annotations may be lost. + +2008-10-21 Johan Dahlin <johan@gnome.org> + + Bug 556358 - don't use libtool internals + + * giscanner/Makefile.am: + * giscanner/libtoolimporter.py: + * giscanner/sourcescanner.py: + * giscanner/utils.py: + Add a python meta importer and remove a libtool symlink hack. + +2008-10-20 Andreas Rottmann <a.rottmann@gmx.at> + + * tests/scanner/Makefile.am (%.typelib): Set PYTHONPATH + and --add-include-path appropriately when invoking the scanner. + * tests/types/Makefile.am (%typelib): Likewise. + +2008-10-20 Colin Walters <walters@verbum.org> + + Bug 556777 - validate properties + + * giscanner/transformer.py: Add option to throw on unknown types. + * giscanner/glibtransformer.py: Use it on properties. + * tests/*: Add a test. + +2008-10-20 Colin Walters <walters@verbum.org> + + * giscanner/glibast.py: Also register g variants of + default_array_types. This is not beautiful, but + good alternatives aren't easy to come by. + This fixes gchar ** parsing. + +2008-10-20 Colin Walters <walters@verbum.org> + + * docs/typelib-format.txt, girepository/gtypelib.h: + Take a bit from ObjectInfo to represent abstract flag. + * giscanner/cgobject.py: Expose g_type_get_flags. + * girepository/girepository.h: Add accessor. + * girepository/ginfo.c: Implement it. + * giscanner/ast.py: Add is_abstract flag to generic + class object. + * giscanner/glibast.py: Use it. + * giscanner/girwriter.py: Write it. + * girepository/girparser.c: Parse it. + * tests/*: Test it. + +2008-10-20 Tommi Komulainen <tommi.komulainen@iki.fi> + + * giscanner/girparser.py (_parse_function): don't lose + 'transfer-ownership' attributes when injecting, check for the + correct attribute + +2008-10-19 Johan Dahlin <johan@gnome.org> + + * giscanner/scannerlexer.l: Parse and ignore __asm. + +2008-10-19 Colin Walters <walters@verbum.org> + + * giscanner/girparser.py: Parse array length= to ensure + it doesn't get lost from --inject. + +2008-10-17 Colin Walters <walters@verbum.org> + + Bug 556795 - char ** regression + + * giscanner/transformer.py: Fix parsing of ctypes, add some + comments about what's going on. + * tests/*: Add a test for char **. + +2008-10-17 Colin Walters <walters@verbum.org> + + Bug 556783 - change namespace handling to be more consistent + + * giscanner/transformer.py: Eliminate usage of + strip_namespace_object. We now treat --namespace as the default + --strip-prefix; however, if --strip-prefix is specified it + overrides --namespace. This applies to everything except function + names, where we do also strip the namespace. + * giscanner/glibtransformer.py: Remove usage of + strip_namespace_object. + * tests/*: Update. + * tests/*: Add skeletal GtkFrob-1.0 test which has different + --namespace and --strip-prefix. + +2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556732 – generate gir files consistently + + * girepository/girparser.c (start_parameter): + * tests/boxed.gir: + * tests/invoke/testfns-1.0.gir: + * tools/generate.c (write_callable_info): write + 'transfer-ownership' attribute consistently with both + return-value and parameter elements + +2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556732 – generate gir files consistently + + * tools/generate.c (write_callable_info): write 'direction' + attribute only if other than 'in' to be consistent with + girwriter.py + * tests/boxed.gir: + * tests/object.gir: remove direction="in" which is the default + +2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556732 – generate gir files consistently + + * giscanner/ast.py (Field): add readable and writable properties + * giscanner/girparser.py (_parse_field): copy 'readable' and + 'writable' attributes + * giscanner/transformer.py (_create_member): create fields as + read-write + * giscanner/glibtransformer.py (_introspect_object, + _pair_class_struct): make object instance and class fields + read-only + * giscanner/girwriter.py (_write_field): + * tools/generate.c (write_field_info): write field 'readable' + and 'writable' attributes only if non-default (read-only) + * girepository/girparser.c (start_field): in the absence of + attributes assume fields are read-only + * tests/boxed.gir: + * tests/struct.gir: remove redundant readable="1" from fields + * tests/scanner/foo-1.0-expected.gir: + * tests/scanner/utility-1.0-expected.gir: add writable="1" to + all record and union fields + +2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556732 – generate gir files consistently + + * giscanner/girwriter.py (_write_property): write properties + 'construct' attribute if set + * tools/generate.c (write_property_info): write properties + 'readable' and 'writable' attributes only if non-default + * tests/object.gir: add writable="0" + * tests/scanner/foo-1.0-expected.gir: add construct="1" + +2008-10-17 Johan Bilien <jobi@via.ecp.fr> + + * gir/glib-2.0.c: added annotations + +2008-10-16 Johan Bilien <jobi@via.ecp.fr> + + * giscanner/ast.py: Also assume direction=out for size_t*, ssize_t* + arguments + +2008-10-16 Johan Bilien <jobi@via.ecp.fr> + + Bug 556610 – giscanner/girparser.py drops parameter options + + * tests/scanner/drawable-injected-1.0-expected.gir, + tests/scanner/DrawableAdditions.xml: added simple test for injection. + * giscanner/ast.py: allow Parameter to take options in the constructor + * giscanner/girparser.py: parse parameter options (transfer, + direction, allow-none) + +2008-10-16 Colin Walters <walters@verbum.org> + + Bug 556185 - segfault on g_callable_info_get_return_type + + Initial patch from John Ehresman. + + * tests/repository/*: Add a test using + g_callable_info_get_return_type. Instead of casting a + GITypeInfo directly to a GIRegisteredTypeInfo, we need + to call g_type_info_get_interface. + +2008-10-16 Colin Walters <walters@verbum.org> + + Bug 556579 - union and struct name misresolved + + * giscanner/transformer.py: The calls to _resolve_type_name + for struct/union names was a legacy holdover from when type + resolution had multiple phases. Now it's actively harmful + since we might pull in an identical name from another + namespace. + * tests/*: Update. + +2008-10-16 Colin Walters <walters@verbum.org> + + Bug 556432 - transfer annotations and defaults + + * giscanner/transformer.py: Canonicalize type + after removing *, not before. This ensures that + guchar* is transformed to 'uint8'. + Add some comments here. + * giscanner/glibtransformer.py: Add _adjust_transfer + phase for tweaking GObject transfers. + * tests/*: test it. + +2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi> + + * configure.ac: enable bunch of gcc warning CFLAGS + +2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556543 – reduce compiler warnings + + * girepository/ginfo.c: + * girepository/girepository.c (register_internal, + count_interfaces, find_interface, find_namespace_version, + parse_version, g_irepository_require): + * girepository/girmodule.c (g_ir_module_build_typelib): + * girepository/girnode.c (init_stats, dump_stats, + _g_irnode_init_stats, _g_irnode_dump_stats, + g_ir_node_can_have_member): + * girepository/girparser.c (firstpass_end_element_handler, + locate_gir, parse_basic, parse_type_internal, resolve_aliases, + start_alias, start_type, end_type_top, parse_include, cleanup, + post_filter): + * girepository/gtypelib.c (validate_function_blob, validate_enum_blob): + * giscanner/giscannermodule.c (directive_get_options, + type_get_child_list): + * giscanner/scannerlexer.l (parse_gtkdoc): + * giscanner/scannerparser.y (ctype_free): + * giscanner/sourcescanner.c: + * giscanner/sourcescanner.h (gi_source_scanner_parse_macros): + * tests/types/gitesttypes.c: + * tools/compiler.c (main): + * tools/generate.c (write_repository): Remove unused variables + and code, add missing includes, declarations and case + statements. + +2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556541 – access union members through UnionBlob rather than + StructBlob + + * girepository/ginfo.c (g_union_info_find_method): access union + members through UnionBlob rather than StructBlob + +2008-10-15 Colin Walters <walters@verbum.org> + + Bug 556331 - clean up includes handling + + * tools/g-ir-scanner: Rework command line arguments; now we take + --add-include-path and --include separately. + * giscanner/girwriter.py: Separate name= and version= in include + directives. + * giscanner/ast.py: Add Include type. + * giscanner/transformer.py: Cleanups to register_include now that + we don't need to handle mixed filenames and relative arguments. + * girepository/girparser.c: Parse name and version separately; + this fixes a bug as a side effect where we weren't resolving + through aliases for basic types. + * girepository/girepository.c: Fix format string args. + * gir/Makefile.am: Update. + * tests/*: Update. + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556434 – unhandled interface/object/... member types + + * girepository/girnode.c (g_ir_node_check_unhandled_members, + g_ir_node_build_typelib): Check all + interface/object/boxed/struct/union members are processed and + abort if they are not. (Mostly callbacks in structs, but also + fields in interfaces.) + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * a/girepository/girnode.c (g_ir_node_build_members, + g_ir_node_build_typelib): refactor common code for processing + members to a function + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * gir/Makefile.am (check-local): check that typelib -> gir -> typelib + transformation is lossless (it's not) + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/Makefile.am: fix tests to compare xml to xml instead of + typelib to xml, and stop on error + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (write_type_name, write_type_info, + write_type_info, write_object_info, write_object_info, + write_interface_info, write_error_domain_info): reduce code + duplication + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556174 – parse types for lists etc. + + * girepository/girparser.c (end_type_recurse): + * tests/boxed.gir: + * tools/generate.c (write_type_info, write_field_info, + write_callable_info, write_callable_info, write_constant_info, + write_property_info): use nested <type>s for lists and hashes + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/enum.gir: + * tests/object.gir: remove trailing whitespace from inside + elements to match g-ir-generate output + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (xml_printf): quote printf arguments so that + we don't generate invalid XML by writing unescaped double quotes + and such in attributes + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (write_field_info, write_callable_info, + write_function_info, write_callback_info, write_struct_info, + write_constant_value, write_signal_info, write_vfunc_info, + write_object_info, write_interface_info, write_union_info, + write_repository): remove unused indent parameters, xmlwriter + keeps track of necessary indentation + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (xml_element_new, xml_element_free, + xml_start_element, xml_end_element, xml_end_element_unchecked, + xml_open, xml_close): Keep track of generated XML tree and + handle indentation and closing tags properly. + (write_field_info, write_callable_info, write_function_info, + write_callback_info, write_struct_info, write_value_info, + write_constant_info, write_enum_info, write_signal_info, + write_vfunc_info, write_property_info, write_object_info, + write_interface_info, write_error_domain_info, write_union_info, + write_repository): Use xml_start_element and xml_end_element to + open/close tags. + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (xml_printf, xml_open, xml_close, xml_free): + (write_type_name, write_type_info, write_field_info, + write_callable_info, write_function_info, write_callback_info, + write_struct_info, write_value_info, write_constant_value, + write_constant_info, write_enum_info, write_signal_info, + write_vfunc_info, write_property_info, write_object_info, + write_interface_info, write_error_domain_info, write_union_info, + write_repository): wrap all FILE access to go through simple xmlwriter + +2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556400 – Fails to build on OS X 10.4 + + * configure.ac: check for functions backtrace and backtrace_symbols + * girepository/girparser.c (backtrace_stderr): Comment out + implementation if the functions are not available. + * gcov.mak (clean-gcov, clean-gcno): always call 'find' with a + directory for better portability + +2008-10-15 Johan Bilien <jobi@via.ecp.fr> + + Bug 556433 – assume direction = out for int * parameters + + * giscanner/ast.py: define a list of types for which, if passed as + reference, we assume a default direction of 'out' + * giscanner/transformer.py: if a type has type pointer to one of the + previously defined types, and no direction is set, assume out. + * tests/scanner/drawable.[ch]: added tests for guessed direction=out + +2008-10-15 Johan Bilien <jobi@via.ecp.fr> + + * tests/scanner/annotation.c: fixed a few copy-paste errors + +2008-10-14 Johan Bilien <jobi@via.ecp.fr> + + Bug 556323 – transfer-ownership is wrong for functions returning const + char * + + * giscanner/transformer.py: check for a const string as return value, + not just const char*. Suggested by Colin Walters + * tests/scanner/annotation-1.0-expected.gir: updated expected output + +2008-10-14 Johan Bilien <jobi@via.ecp.fr> + + * girepository/ginfo.c, girepository/girepository.h: add + g_union_info_find_method + +2008-10-14 Colin Walters <walters@verbum.org> + + * tests/repository/Makefile.am: Reenable repo test. + * tests/repository/gitestrepo.c: Prepend search + path for $(top_builddir)/gir dir so that we don't + require installation for "make check" to pass. + +2008-10-13 Jürg Billeter <j@bitron.ch> + + * giscanner/glibtransformer.py: + * tests/scanner/annotation-1.0-expected.gir: + * tests/scanner/drawable-1.0-expected.gir: + * tests/scanner/foo-1.0-expected.gir: + * tests/scanner/utility-1.0-expected.gir: + + Support fields in GObject structs + +2008-10-13 Jürg Billeter <j@bitron.ch> + + * giscanner/ast.py: add signed integer and off_t to type_names + +2008-10-12 Jürg Billeter <j@bitron.ch> + + * giscanner/girparser.py: Parse bits attribute of fields + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/repository/Makefile.am: run 'gitestrepo' in 'make check' + * tests/repository/gitestrepo.c (main): instantiate + 'GCancellable' to ensure the GType is registered before using + g_type_from_name() + +2008-10-12 Johan Bilien <jobi@via.ecp.fr> + + * giscanner/girparser.py: actually add the parsed constant nodes + +2008-10-12 Colin Walters <walters@verbum.org> + + * girepository/girepository.c: Don't cast DirEntry to Blob, + actually look it up by offset. + +2008-10-12 Johan Bilien <jobi@via.ecp.fr> + + * giscanner/girparser.py: parse constant nodes in gir files + +2008-10-12 Johan Bilien <jobi@via.ecp.fr> + + * giscanner/transformer.py: prefix for constants have an underscore, + so remove them as if they were functions, not objects. + +2008-10-12 Johan Bilien <jobi@via.ecp.fr> + + * tests/scanner/foo-1.0-expected.gir: add constants to expected gir + file + +2008-10-12 Colin Walters <walters@verbum.org> + + Initial patch from Jani Monoses. + + * girepository/gtypelib.c: Fix inverted test for success + in version parsing. + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (write_callable_info): use "transfer-ownership" + attribute for return values + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tools/generate.c (write_callable_info): move "transfer" and + "null-ok" attributes from <function> to <return-value> element + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * girepository/girparser.c (start_return_value): handle + "transfer-ownership" attribute + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * girepository/girparser.c (parse_param_transfer): + * tools/generate.c (write_callable_info): use "container" for + container/shallow ownership transfer (not "shallow") + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * girepository/girparser.c (parse_param_transfer, + start_parameter): Refactor handling of transfer=none/shallow/full + to separate function + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 556048 – Crash in g_irepository_find_by_gtype + + * girepository/gtypelib.h (BLOB_IS_REGISTERED_TYPE): added + * girepository/girepository.c (find_interface): Fix + find_by_gtype case to get the type name from right offset + +2008-10-12 Jürg Billeter <j@bitron.ch> + + * giscanner/girparser.py: Fix parsing transfer-ownership attribute + of <return-value> + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * girepository/gtypelib.h (RegisteredTypeBlob): make + 'unregistered' one bit wide as everywhere else + +2008-10-12 Jürg Billeter <j@bitron.ch> + + * giscanner/glibtransformer.py: + * tests/scanner/annotation-1.0-expected.gir: + * tests/scanner/drawable-1.0-expected.gir: + * tests/scanner/drawable.h: + * tests/scanner/foo-1.0-expected.gir: + * tests/scanner/utility-1.0-expected.gir: + + Readd class records as workaround to not break Gtk typelib + +2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi> + + * tests/types/Makefile.am: fix typo in gitesttypes namespace + +2008-10-12 Jürg Billeter <j@bitron.ch> + + * giscanner/glibtransformer.py: Don't generate <record> elements + for class structs. + * tests/scanner/*: Update test cases + +2008-10-11 Colin Walters <walters@verbum.org> + + Bug 552858: versioning + + This is a big patch. You should probably remove your installation + tree to be cleaner. + + * docs/typelib-format.txt: Add nsversion entry which holds + version of namespace. + * girepository/girepository.h: Add 'version' parameter to + g_irepository_require. This may be NULL. Normally + bindings should pass an explicit version though. + * girepository/girepository.c: Lots of infrastructure to + support versioning. Add some more documentation. Disallow + some usage of NULL namespaces. + * girepository/girmodule.c: Add version parameter. + * girepository/gtypelib.c: Update header size. + * giscanner/ast.py: Add version to Namespace. + * giscanner/girparser.py: Parse version attribute from + XML, pass to Namespace. + * giscanner/girwriter.py: Write out version parameter. + * giscanner/transformer.py: Clean up include registration. + * tests/*: Add version attribute. + * tests/invoke/invoke.c: Don't try looking up test before + it's loaded in repository. + * tools/generate.c: Output version parameter. + * gir/Makefile.am: Add 2.0 version to .gir files. + +2008-10-11 Colin Walters <walters@verbum.org> + + * giscanner/scannerlexer.l (parse_gtkdoc): Don't lose + if we have mismatched parens. + +2008-10-11 Lucas Rocha <lucasr@gnome.org> + + * giscanner/girparser.py (_parse_enumeration_bitfield): fix typo + on 'members' variable. + +2008-10-11 Colin Walters <walters@verbum.org> + + Bug 555947 - update annotations syntax + + * giscanner/ast.py: Default to None for transfer. Remove + default transfers for container types; we require this to + be specified now. + * giscanner/girwriter.py: Transfer is now 'none', 'container', + 'full' to match repository. + * giscanner/scannerlexer.l: Annotations now are parenthesized. + * giscanner/transformer.py: Update for new annotations syntax. + * tests/*: Update. + +2008-10-11 Johan Bilien <jobi@litl.com> + + * giscanner/scannerparser.y: ignore non-UTF-8 string constants + +2008-10-11 Johan Bilien <jobi@litl.com> + + Bug 552347: Parse #defines constants + + * girepository/gtypelib.c: update the list of value_size + with recently defined type tags + * giscanner/scannerparser.y: brought back parsing of #defined, as + present in older version + * giscanner/giscannermodule.c: bind gi_source_scanner_append_filename + * giscanner/girwriter.py: write out constant tags in the gir + * giscanner/sourcescanner.py: add accessor for const_string + * giscanner/transformer.py, giscanner/glibtransformer.py: handle + constant + +2008-10-11 Tommi Komulainen <tommi.komulainen@iki.fi> + + Bug 555946: Install a test module exercising all types, transfer + rules, etc. + + * configure.ac + * tests/Makefile.am + * tests/types/*: Add and install a test module that has functions + accepting and returning most of the basic types to enable bindings + implementors to more easily test their type conversion routines. + +2008-10-11 Jürg Billeter <j@bitron.ch> + + Bug 552374: Const strings should be identified in the gir. + + * giscanner/transformer.py: support string memory management + * tests/scanner/foo.h: use char * and const char * + * tests/scanner/foo-expected.gir: test that + +2008-10-11 Johan Dahlin <johan@gnome.org> + + * giscanner/girparser.py: + Also parse enums which are not glib types. + +2008-10-11 Lucas Rocha <lucasr@gnome.org> + + Bug 552370: add one more test for unsigned as a type, not as + a type qualifier. + + * giscanner/ast.py: add 'uint' type name for 'unsigned'. + * test/scanner/foo.h: add function which uses unsigned as a type. + * test/scanner/foo-expected.gir: test that. + +2008-10-11 Andreas Rottmann <a.rottmann@gmx.at> + + Bug 555712: Struct and union issues + + * giscanner/scannerparser.y (struct_declarator): Use information + provided about the bit width of a field. + * giscanner/transformer.py (Transformer._create_member): Pass the + symbol's const_int member to the created field (it represents the + bit width). + * giscanner/girwriter.py (GIRWriter._write_field): Output 'bits' + field attribute, if present. + * giscanner/ast.py (Field): Add 'bits' member, specifying the + width in bits of the field (only relevant for bitfields). + * tests/*: Updated. + + * giscanner/transformer.py (Transformer._create_typedef_struct) + (Transformer._create_typedef_union): Add calls to _create_struct() + and _create_union(), respectively. This causes the scanner to + generate output for fields of struct and union typedefs. + * tests/*: Updated. + +2008-10-11 Jürg Billeter <j@bitron.ch> + + Bug 552370: unsigned not scanned properly + + * giscanner/scannerparser.y: combine basic types such as unsigned + int and long long when scanning + * tests/scanner/foo-expected.gir: + * tests/scanner/foo.c: (foo_test_unsigned): + * tests/scanner/foo.h: test that + +2008-10-11 Lucas Rocha <lucasr@gnome.org> + + Bug 554854: The --typelib-xml and --inject options should reuse + giscanner parser/writer. + + * giscanner/ast.py: add constructor list to Struct and Union. + Add new param in Return's contructor to define transfer. + * giscanner/girparser.py: several additions to the parser in order + to have parsing all nodes of the gir xml files. + * tools/g-ir-scanner (typelib_xml_strip, inject): use gir parser + and writer in --inject and --typelib-xml options. + * giscanner/xmlwriter.py: ignore empty attributes instead of + raising an error as this basically exposes a bug in GIRParser. + This should be reverted as soon as the parser is fixed. + +2008-10-11 Lucas Rocha <lucasr@gnome.org> + + Bug 552376: scanner generates wrong names for enum members when + there's no defined gtype. + + * giscanner/utils.py (strip_common_prefix): Always strip common + prefix exactly up to the last "_", and not beyond. + * tests/scanner/foo.h (FooEnumNoType): add FOO_ENUM_NEUF. The point + here is that the first character after the last '_' should should be + the same as the character in the same position on the type name. + * tests/scanner/foo-expected.gir: test that + +2008-10-10 Lucas Rocha <lucasr@gnome.org> + + Bug 555293: append library_paths to LPATH env variable to work + around a bug in find_library when using ldconfig. + + * tools/g-ir-scanner (main): ditto. + +2008-10-09 Lucas Rocha <lucasr@gnome.org> + + * girepository/girepository.c (register_internal): fix regression on + invoke test case by making sure we load the global module in the + typelib when dealing with inline typelibs. + * girepository/gtypelib.c: a couple of coding style fixes. + +2008-10-06 Lucas Rocha <lucasr@gnome.org> + + Bug 555294: Add support for multiple shared libraries per typelib. + + * girepository/ginvoke.c (g_function_info_invoke), + girepository/ginfo.c(g_registered_type_info_get_g_type): use + g_typelib_symbol instead of g_module_symbol. + * girepository/girepository.h: remove g_typelib_set_module and add + g_typelib_symbol. + * girepository/gtypelib.[ch] (find_some_symbol, _g_typelib_init, + g_typelib_new_from_memory, g_typelib_new_from_const_memory, + g_typelib_free, g_typelib_symbol): chnage GTypeLib to hold a list of + modules instead of just one. The symbol lookup is now abstracted + behind g_typelib_symbol which tries to find the passed symbol name in + one of its modules. + * giscanner/girwriter.py, tools/g-ir-scanner: change scanner to read + and write shared_library attribute as a comma-separated list of libs. + +2008-10-06 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: Parse length= annotation as + a parameter name, not a raw int. + * tests/*: Update. + +2008-10-03 Colin Walters <walters@verbum.org> + + Bug 551744: Non-GObject types aren't aggregating ctors and methods + + * girepository/gtypelib.c: Allow ctors/methods on struct,union, + and boxed. + * giscanner/glibtransformer.py: Ditto, and GLibBoxed is also a + registered type. + * tests/*: Extend. + +2008-10-03 Colin Walters <walters@verbum.org> + + Bug 554576: scan problem with ev_selection_render_selection() + + * giscanner/transformer.py: Only do type resolution once we've + scanned all types. What could happen before is that we'd strip + the namespace from local type "EvSelection" => Selection, and + then later pull a "Selection" from some other namespace because + we hadn't yet seen the local EvSelection. This could come + down to hash table ordering and other things so not easy + to write a test for. + +2008-10-03 Lucas Rocha <lucasr@gnome.org> + + * giscanner/girwriter.py (_parser_member): fix the last parameter of + GLibEnumMember constructor as it should be the enum member nick. + +2008-10-02 Colin Walters <walters@verbum.org> + + Bug 552961: remove this parameter for methods + + * giscanner/glibtransformer.py: Delete this parameter; it is + redundant. + * girepository/ginvoke.c: Insert this parameter for methods. + * girepository/gtypelib.c: Remove no longer needed verification of + method this parameter. + * tests/*: Update. + +2008-09-30 Dan Winship <danw@gnome.org> + + Bug 554490: g-ir-scanner gets confused by '\\' + + * giscanner/scannerlexer.l (chartext, stringtext): fix use of + backslashes so it will correctly parse '\\' and "\\" + + * tests/scanner/annotation.c: add a use of '\\' to make sure that + this stays fixed + + * giscanner/glibtransformer.py (GLibTransformer.count_type): typo + +2008-10-02 Colin Walters <walters@verbum.org> + + bug 552393: Note variadic functions + + * giscanner/scannerparser.y: Parse ellipsis. Refactor grammar + to use parameter_list directly. + * giscanner/sourcescanner.h: Add ellipsis csymbol type. + * giscanner/ast.py: Add Varargs type. + * giscanner/transformer.py: Check for ellipsis symbol, transform + to varargs type. + * girepository/girnode.h: Add varargs flag to in-memory nodes. + Parse varargs functions, but filter them out before we start + compiling the typelib. + +2008-10-02 Colin Walters <walters@verbum.org> + + Bug 554632: type tag for GType + + * girepository/girepository.h, girepository/girepository.c: + Add type tag for GType - it's a special type we don't want + to resolve to just "long". + * docs/typelib-format.txt: Update. + * girepository/girparser.c: Parse it. + * giscanner/glibtransformer.py: Ensure we don't put GType in + the GObject.gir. + * tools/generate.c: Remove hardcoded type list. + * test/* update. + +2008-09-30 Dan Winship <danw@gnome.org> + + Bug 554521: scanner generates wrong names for enum members with + full type name prefix + + * giscanner/utils.py (strip_common_prefix): Fix this to strip the + right amount when the entire "first" string is a prefix of + "second" + + * tests/scanner/foo.h (FooEnumFullname): + * tests/scanner/foo-expected.gir: test that + +2008-09-29 Colin Walters <walters@verbum.org> + + Bug 552380: Array parameters should be marked in the gir + + * giscanner/ast.py: Default char** to utf8[], and guchar* to + uint8[]. Add Array, List, and Map subclasses of Type; + these types can be generic. Return transfer defaults + to true if return value is string or container type. + Delete Sequence type. + * giscanner/scannerlexer.l: Syntax change for annotations; + use <> since it's more readable. + * giscanner/girwriter.py: Write out these changes. + * giscanner/girparser.py: Parse them. + * giscanner/transformer.py: Have a defined set of + both list and map types. When creating a type, + check if the ctype we've parsed is one of them, + if so create a container type subclass as appropriate. + * girepository/girparser.c: Parse in generic types. + * tests/*: Update. + +2008-09-27 Colin Walters <walters@verbum.org> + + * tools/g-ir-scanner: Add --inject option. + +2008-09-25 Colin Walters <walters@verbum.org> + + Remove non-repository types from GIR + + * giscanner/ast.py: The canonical name is 'utf8', not + 'string'. + * giscanner/glibast.py: A few more glib type mappings. + * girepository/girparser.c: We only parse repository types. + * tests/*.gir: Update. + +2008-09-23 Colin Walters <walters@verbum.org> + + Bug 552566: Add time_t type + + We need a type for time_t since it's special in C, and just + mapping it to long precluded bindings from handling it + in a nice way. + +2008-09-19 Colin Walters <walters@verbum.org> + + Bug 552390: Handle capitialization like "DBus" more robustly + + The to_underscores function was designed for use against prefixed + names; we need a separate function which will convert names like + DBusFoo into dbus_foo, not d_bus_foo. + +2008-09-19 Colin Walters <walters@verbum.org> + + Add check to make sure we're not hitting out unresolved types + + Validate the "this" argument for methods + + Remove heuristic matching of methods to classes based on prefix + + It was a broken hack that dated from when we handled underscoring + and capitalization conventions less well. + +2008-09-18 Colin Walters <walters@verbum.org> + + Bug 552384: Use SHLIB_SUFFIX intead of G_MODULE_SUFFIX for Darwin + + On Darwin, the suffix for installed shared libraries (.dylib) is + different from loadable modules (.so). We use a bit of magic shell + script from Behdad Esfahbod to figure out the right suffix. + +2008-09-15 Johan Dahlin <johan@gnome.org> + + * giscanner/sourcescanner.py (SourceType.type_qualifier): Add + a wrapper for type_qualifier as well. + +2008-09-15 Colin Walters <walters@verbum.org> + + http://bugzilla.gnome.org/show_bug.cgi?id=552065 + + * giscanner/ast.py: Add deprecation attributes. + * giscanner/girwriter.py: Write out deprecation data. + * girepository/girparser.c: Relax parsing; deprecated + attribute now includes freeform string. + * giscanner/scannerlexer.l: Parse Deprecated. + * giscanner/transformer.py: Look for deprecated attribute + on functions. + * tests/scanner/*: Add a Deprecated test. + +2008-09-14 Tor Lillqvist <tml@novell.com> + + * tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT). + +2008-09-14 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Ignore functions with + leading _. + +2008-09-12 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Accept Gtk.Type as GType. + +2008-09-12 Colin Walters <walters@verbum.org> + + * giscanner/ast.py: Bind pid_t to INT for vte. + +2008-09-12 Colin Walters <walters@verbum.org> + + * giscanner/girparser.py: Parse c:type for boxed records/unions. + * giscanner/glibast.py: Avoid overwriting ctype. + * giscsanner/transformer.py: Try resolving types using the GType names. + +2008-09-12 Colin Walters <walters@verbum.org> + + * giscanner/minixpath.py: Code to run an "XPath" + assertion against an XML tree, taken from + gir-repository/gir/tests.py. + * giscanner/Makefile.am: Ship it. + * tools/g-ir-scanner: Add --xpath-assertions option. + * gir/GLib-assertions.txt: Add a few assertions. + * gir/Makefile.am: Run them. + +2008-09-11 Colin Walters <walters@verbum.org> + + http://bugzilla.gnome.org/show_bug.cgi?id=551737 + + * giscanner/transformer.py: Fix strip_namespace_func to only strip + prefix if it ends with _. Tweak callback stripping to determine + based on presence of _ whether we need to use strip_namespace_func + or strip_namespace_object. + +2008-09-09 Owen Taylor <otaylor@redhat.com> + + * docs/typelib-format.txt: Wether => Whether + +2008-09-08 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Default to "readable" for properties. + * giscanner/ast.py: Add readable, writable etc. + * giscanner/girwriter.py: Writ them. + * giscanner/glibtransformer.py: Inspect them. + * tests/*: Update. + +2008-09-07 Colin Walters <walters@verbum.org> + + * giscanner/cgobject.py: Add comment. + +2008-09-07 Colin Walters <walters@verbum.org> + + * giscanner/cgobject.py: Also call g_thread_init. + +2008-09-07 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: Fix regression by not + stripping prefix before stripping namespace for unions + either. + +2008-09-06 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: If a namespace contains + multiple caps, try stripping both gnomekeyring_ and + gnome_keyring_. + +2008-09-07 Johan Dahlin <johan@gnome.org> + + Bug 551162 – giscanner does not recognize asm and __asm__ + * giscanner/scannerlexer.l: + Patch by Jani Monoses. + +2008-09-06 Colin Walters <walters@verbum.org> + + * girepository/girnode.c: Allow gtype_name + and gtype_init in struct and union. + * girepository/girparser.c: Parse glib: + boxed bits for both structure and union. + * girepository/gtypelib.c: Don't barf + if structure is boxed. + * giscanner/girparser.py: Parse new XML + format. + * giscanner/girwriter.py: Write out new + XML format. + * giscanner/glibast.py: Define new classes + which are both Boxed and Struct/Union, as + well as an "Other" for everything else. + * giscanner/glibtransformer.py: Handle + boxed types specially; we try to merge + them with a struct/union if one exists, + otherwise fall back to generic boxed. + * tests/*: Update. + * tools/generate.c: Write out new format. + +2008-09-06 Johan Dahlin <johan@gnome.org> + + * giscanner/grealpath.h: Include stdlib.h + + * docs/g-ir-generate.1: Remove leading % + +2008-09-01 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Look at c:type to determine + whether or not an item is a pointer. + +2008-09-01 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Makefile.am: + Set PYTHONPATH so the scanner can run + even if you didn't install anything. + +2008-09-01 Johan Dahlin <johan@gnome.org> + + * configure.ac: + Post-release version bump + +=== 0.5.0 === +2008-09-01 Johan Dahlin <johan@gnome.org> + + * NEWS: Update + +2008-08-31 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Quiet info + prints for now. + +2008-08-31 Johan Dahlin <johan@gnome.org> + + * configure.ac: + Bump version to 0.5.0 + +2008-08-31 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Follow aliases to ensure + we don't get a constructor returning a basic type. + * giscanner/transformer.py: Add function to follow aliases. + * tests/ Update. + +2008-08-31 Johan Dahlin <johan@gnome.org> + + * giscanner/scannerlexer.l: + * giscanner/scannerparser.y: + * giscanner/sourcescanner.h: + * giscanner/sourcescanner.py: + Parse GCC extensions in the parser instead of just undeffing them + in the pre-processor. + +2008-08-31 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py: + Clean up a huge if. Do not add methods or constructors + to enums/flags. + * giscanner/utils.py: + second might be longer than first, check that. + +2008-08-31 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + Add a GModule.gir + +2008-08-31 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Don't lose if we + have no includedirs + +2008-08-31 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Look for libtool + library in current directory + * tests/scanner - Update. + +2008-08-30 Colin Walters <walters@verbum.org> + + * docs/typelib-format.txt: Add a guint32 + for dependencies. + * gir/Makefile.am: Dep on Makefile + * girepository/ginfo.c: + * girepository/girepository.c: Clean up + default typelib handling; remove global + default_typelib variable. Ensure we handle + NULL repository in more places. + Support dependency resolution. + Support lazy loading. + * girepository/girepository.h: Remove + g_irepository_unregister; we don't support + unloading typelibs since really they're + process-global. Update for lazy loading + API. + * girepository/girmodule.c: Use g_new0. + Add dependencies to GirModule. + * girepository/girparser.c: Parse dependencies. + * girepository/gtypelib.c: Add 4 bytes for + dependencies. + * tests/Makefile.am: Kill off gobject.gir, + it conflicts with the real one. + * tests/object.gir: Dep on GObject. + * tools/generate.c: Take --includedir + argument to say which directories to search + for typelibs. Print out dependencies. + +2008-08-30 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Reduce warning noise. + +2008-08-29 Colin Walters <walters@verbum.org> + + * girepository/ginfo.c: Add some assertions regarding + refcounts, just to be sure. + * giscanner/glibtransformer.py: Blacklist a few more + odd Gio methods. + +2008-08-29 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Blacklist a few + functions that use GError oddly + +2008-08-29 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c: Don't crash if no + shlib is embedded + +2008-08-29 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Handle chains of aliases + across modules by ensuring we fully qualify aliases + from includes. + +2008-08-29 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Don't search aliases + for basic types. + +2008-08-29 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Rewrite type parsing + to handle both GLib parsing case as well as correctly + handling GLib.List and friends. Don't try to treat + e.g. ListStore as a List. + +2008-08-29 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c: Add more context + during validate. + +2008-08-29 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Add some informative + logging messages in corner cases. Be sure we use + the most recent node set instead of a cache + when generating result set. + * tests/: Remove duplicated bits in expected girs + * girepository/girparser.c: Accept both List (for + compiling GLib) and GLib.List (what the scanner + generates). + * tests/ - Update. + * tools/generate.c: Generate canonical form. + +2008-08-29 Johan Dahlin <johan@gnome.org> + + * giscanner/config.py.in: + Use datarootdir instead of datadir to avoid + an autoconf warning. + +2008-08-29 Johan Dahlin <johan@gnome.org> + + * README: + * TODO: + * examples/gdk-pixbuf.gidl: + * libffi.pc.in: + Update and remove old cruft. + +2008-08-29 Johan Dahlin <johan@gnome.org> + + * Makefile.am: + * docs/g-ir-compiler.1: + * docs/g-ir-generate.1: + * docs/g-ir-scanner.1: + Add man pages for the generator and compiler. + +2008-08-29 Johan Dahlin <johan@gnome.org> + + * docs/g-ir-scanner.1: Document + + * giscanner/Makefile.am: + * giscanner/gidlparser.py: + * giscanner/gidlwriter.py: + * tools/g-ir-scanner: + Remove gidl support. + +2008-08-28 Colin Walters <walters@verbum.org> + + * tests/scanner/Makefile.am: Pass the right + --includedir args. Add a Makefile dep. + * tools/compiler.c: Pass includedirs down. + * girepository/girparser.c: Actually put + includedirs in context, pass down. Fix + locate_gir. + +2008-08-28 Colin Walters <walters@verbum.org> + + * gir/Makefile.am: Use --includedir + * girepository/girparser.c: Recursively parse + includes to pull in aliases and expand them. + We need this to avoid putting unknown names in + the typelibs. + * tools/compiler.c: Add --includedir option. + * giscanner/ast.py: Map size/ssize to types + too. + +2008-08-28 Tor Lillqvist <tml@novell.com> + + Make check now runs successfully on Windows. + + * tools/compiler.c (write_out_typelib): Use binary mode for output + file on Windows. + + * girepository/girnode.c: Don't print NULL strings. + + * tests/invoke/Makefile.am + * tests/scanner/Makefile.am: Use -no-undefined on Windows to + convince libtool to build shared libraries. + + * tests/invoke/invoke.c: Don't needlessly include <dlfcn.h>. Use + g_assert() instead of printing out expected errors. + +2008-08-28 Tor Lillqvist <tml@novell.com> + + * girepository/gtypelib.h: Change type of bitfield fields from + guint to the most suitable smaller type. This makes the struct + sizes match the ones on Linux that the sanity check expects when + using gcc -mms-bitfields on Windows. + +2008-08-28 Johan Dahlin <johan@gnome.org> + + * Makefile.am: + * configure.ac: + * gir/Makefile.am: + * giscanner/Makefile.am: + * tests/Makefile.am: + * tests/scanner/Makefile.am: + Make distcheck pass. + +2008-08-27 Johan Dahlin <johan@gnome.org> + + * giscanner/Makefile.am: + Only send in -no-undefined on Win32 as it breaks on MacOS X. + +2008-08-27 Tor Lillqvist <tml@novell.com> + + Make g-ir-scanner work on Windows. Still problems with the typelib + code. Changes okayed by jdahlin. + + * configure.ac: Check for Windows, set Automake conditional + OS_WIN32. Change backslashes to forward slashes in pyexecdir to + avoid shell quoting issues + + * girepository/Makefile.am: Use -no-undefined so that libtool + agrees to build a shared library on Windows. + + * girepository/girparser.c (backtrace_stderr): No backtrace() on + Windows. Empty implementation on Windows so far. + + * girepository/gtypelib.c (g_typelib_check_sanity): Give more + informative error message for the assertion failures. Tell also + what the expected size of the struct is. Check all sizes first and + fail afterwards if at least one size was different from expected. + + * tools/Makefile.am: Reorder libraries into proper logical + dependency order. + + * tools/generate.c: Don't include <dlfcn.h>, not used. + + * giscanner/Makefile.am: On Windows, link with the Python library, + and install the module DLL as _giscanner.pyd. Remove the + unnecessary import library and libtool library that libtool has + installed. + + * giscanner/scannerlexer.l: Recognize the gcc __attribute__ syntax + and just skip it. Recognize also two "l" suffixes for long long + constants. Recognize also __inline__. + + * giscanner/grealpath.h (g_realpath): Implement on Windows, using + GetFullPathName(). As such, GetFullPathName() does more than the + UNIX realpath(). It also changes relative paths into absolute + paths. But for our purposes that shouldn't matter. + + * giscanner/giscannermodule.c (pygi_source_scanner_parse_file): On + Windows the file descriptor passed to us is from Python. Python + Python2.5 uses the msvcr71.dll C library, while mingw-built code + uses msvcrt.dll. On Windows, file descriptors are specific to + which C library is used. So we must find out what underlying OS + handle corresponds to the file descriptor Python passes us, and + then make that into a file descriptor valid for the C library this + code uses. + + * giscanner/sourcescanner.py (_parse): Don't need to bypass + __attribute__ as the lexer now handles it. The definition as empty + was ineffective for mingw anyway, as mingw's _mingw.h undefines + __attribute__. Close the temp file before unlinking it. + + * giscanner/cgobject.py: Use correct library name for the gobject + DLL on Windows. + + * gir/Makefile.am: Must pass the full basename of the DLLs on + Windows to g-ir-scanner. It's a bit ugly that we have to "know" + that the names of the GLib DLLs are like libglib-2.0-0.dll, but in + reality they won't change, until there is a GLib 3, and then also + the Unix code here needs changing. + + Must pass CPPFLAGS to g-ir-scanner when building GLib.gir so that + libintl.h is found. + +2008-08-26 Colin Walters <walters@verbum.org> + + * girepository/girepository.c: Search + $DATADIR/girepository instead of + $DATADIR/gitypelibs; this naming makes + it clearer that e.g. jgir can install + .jars there. + * gir/Makefile.am: Install there. + +2008-08-26 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c (_g_typelib_init): Also + use G_MODULE_SUFFIX instead of hardcoding .so. + +2008-08-26 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c (_g_typelib_init): Free + string in the right place. + +2008-08-26 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c (_g_typelib_init): Handle + both .la and .so names; this works better in the + uninstalled library case. + +2008-08-26 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + * giscanner/Makefile.am: + * giscanner/cgobject.py: + * giscanner/config.py.in: + * giscanner/sourcescanner.py: + Avoid undeffing __GNUC__, instead define + __attribute__ & friends. Remove glibconfig.h hack. + This makes gobject-introspection work better on + MacOS X, Thanks to Richard Hult for kind help. + +2008-08-25 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Always print + statistics. + +2008-08-25 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Skip over + interfaces we don't know. + +2008-08-25 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Parse new implements + syntax, drop gapi one. + * tests/object.gir: Update. + * tools/generate.c: Generate new syntax. + +2008-08-25 Colin Walters <walters@verbum.org> + + * giscanner/ast.py: Add interfaces property + to class. + * giscanner/girwriter.py: Write out implemented + interfaces. + * giscanner/glibtransformer.py: Introspect + implemented interfaces. + * tests/scanner/*: Make FooObject implement + FooInterface. + +2008-08-25 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: More correctly pair + methods; if we have a symbol that starts with + e.g. hippo_canvas look for a matching HippoCanvas + class before accepting e.g. HippoCanvasImage. + +2008-08-24 Colin Walters <walters@verbum.org> + + * tools/g-ir-scanner: Filter out unknown options from + pkg-config files. + +2008-08-24 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Fail with better + error if we can't find library. + +2008-08-24 Colin Walters <walters@verbum.org> + + * tools/g-ir-scanner: Use subprocess instead of + commands, works on Windows and avoids the evil + shell on Unix. + +2008-08-24 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Skip over + g_object_get_type from GLib trunk. + +2008-08-24 Colin Walters <walters@verbum.org> + + * girepository/girepository.c (g_irepository_require): + Don't open shared library here; we already do it + in gtypelib.c. + +2008-08-24 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c: Add context stack so + when we get an error we can print out nicely + where it is. + +2008-08-24 Johan Dahlin <johan@gnome.org> + + * girepository/girparser.c (start_glib_boxed), (start_function), + (start_field), (start_alias): + Refactor a couple of parsing functions to be simpler to follow. + Avoid huge ifs. + +2008-08-24 Johan Dahlin <johan@gnome.org> + + * girepository/girparser.c (start_function): + Remove left-over code, checking type of function. + +2008-08-23 Colin Walters <walters@verbum.org> + + * giscanner/config.py: Define DATADIR. + * giscanner/transformer.py: Look in DATADIR. + +2008-08-23 Colin Walters <walters@verbum.org> + + * girepository/gtypelib.c: Check constructor + returns. + * girepository/girnode.c: Small tweaks. + * girepository/ginfo.c: Calculate signature offsets + more robustly. + * girepository/girparser.c: Remove duplicate + start_boxed. + * giscanner/glibtransformer.py: Avoid marking + functions which return a basic type as + constructors. + +2008-08-23 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Ignore <include>. + * giscanner/girparser.py: Parse them. + * giscanner/girwriter.py: Generate them. + * giscanner/transformer.py: Process <include> + recursively. Don't require full path for + includes, look in {$XDG_DATA_DIRS}/gir. + * tools/g-ir-scanner: Pass through includes. + * Makefile.am: Remove extra --include + args for scanner. + * *-expected.gir: Add expected includes. + +2008-08-23 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Makefile.am: + * tests/scanner/annotation-expected.gir: + * tests/scanner/drawable-expected.gir: + Avoid duplication in the Makefile, regenerate with new + namespaces (same as the filename) + +2008-08-22 Colin Walters <walters@verbum.org> + + * girepository/girnode.c: Don't hardcode integers, + use GITypeTag. + +2008-08-22 Johan Dahlin <johan@gnome.org> + + * giscanner/sourcescanner.py: + Check for ../gobject-introspection-1.0.pc.in to determine + if we run installed or uninstalled. + +2008-08-22 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + * giscanner/sourcescanner.py: + Send in undefs/defines via writing it directly to stdin + of cpp instead of via arguments. + +2008-08-22 Colin Walters <walters@verbum.org> + + * tools/generate.c, tools/compiler.c: Default + to --raw. + * all Makefile.am: Update. + +2008-08-22 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Pass through + recursive types. Avoid overwriting errors. + * giscanner/xmlwriter.py: Always write the + XML header. + * tests/*.gir: Adjust. + * tests/scanner/Makefile.am: Build typelibs, + and generate XML from those. Once we + have a good diff mechanism... + * tests/scanner/*-expected.gir: Add XML + header. + * tools/g-ir-scanner: Accept --typelib-xml + option. + * tools/generate.c: Better defaults for transfer. + +2008-08-22 Johan Dahlin <johan@gnome.org> + + * configure.ac: + * gir/Makefile.am: + * giscanner/Makefile.am: + * giscanner/config.py.in: + * giscanner/sourcescanner.py: + Use the generated glibconfig.h for all scanner invokations. + Rename it to glibconfig-scanner.h and install it. + Add a config.py which so far contains the include dir. + +2008-08-22 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + Replace glibconfig.h with our own, do some replacement + for CPP/C features we do not support + +2008-08-22 Colin Walters <walters@verbum.org> + + * tools/generate.c (write_callable_info): Fix unref + sequence. + +2008-08-22 Colin Walters <walters@verbum.org> + + * gobject-introspection-1.0.pc.in: Add g-ir-generate. + * tests/Makefile.am: Support $(DEBUG) + * tools/generate.c: Do immediate close tags if no + sub-elements. + +2008-08-21 Colin Walters <walters@verbum.org> + + * tests/scanner/drawable-expected.gir, + * tests/scanner/drawable.c, + * tests/scanner/drawable.h: + Add a method. + +2008-08-21 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Compute prefix + by searching through the symbol for bits + rather than going directly from ctype; this fixes + webkit_ namespace. + +2008-08-21 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Also try squashing + underscores from namespace, fixes webkit_web_view_new. + +2008-08-21 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: More ctor work, + avoid having gtk_window_group_new end up under + GtkWindow. + +2008-08-21 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Much simpler approach + of mapping uscored names to classes. + * giscanner/utils.py: Remove unnecessary function. + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * girepository/girepository.c (g_irepository_require): + Plug memory leak and avoid using freed memory. + Resolve the whole module path, here as well. + +2008-08-21 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Look up all permutations + of class names when scanning methods/ctors based on + the prefix instead of using the return value. This + associates gtk_window_new with the right class. + +2008-08-21 Colin Walters <walters@verbum.org> + + * girepository/girmodule.c (g_ir_module_build_typelib): + Revert change to increment header_size; we do that in + write_string. + +2008-08-21 Colin Walters <walters@verbum.org> + + * girepository/girnode.c (write_string): Tweak to + use UINT instead of INT. Not likely to matter. + * girepository/girmodule.c (g_ir_module_build_typelib): + Add to header_offset as well for header strings + to match what write_string does. + * girepository/gtypelib.c: Replace is_name with + validate_name, which more strongly validates and + handles errors in a better way. Update all callers. + * giscanner/glibtransformer.py: Handle constructors + better. + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am (typelibs_DATA): Build and + install the Gio.typelib too + + * girepository/gtypelib.c (_g_typelib_init): + Use g_module_build_path to resolve the shlib name + +2008-08-21 Colin Walters <walters@verbum.org> + + * gir/Makefile.am: CLEANFILES typelibs too. + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py: + Do not send .la files through find_library. + +2008-08-21 Colin Walters <walters@verbum.org> + + * girepository/girparser.c (g_irepository_require): + Fix one small leak in error case. + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + Parse glibconfig.h as well and install the compiled + typelib + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + * giscanner/glibtransformer.py: + * tools/g-ir-scanner: + Do not hard-core library names in the Makefile, reuse + ctypes find_library instead. + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * girepository/girparser.c (resolve_aliases): + Remove compilation warnings + +2008-08-21 Johan Dahlin <johan@gnome.org> + + * girepository/girepository.c (g_irepository_require): + Rewrap and fix double free bug by leaking a bit. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/girepository.c: Add new function + g_irepository_get_typelib_path which tells + us from where we loaded a namespace. + +2008-08-20 Colin Walters <walters@verbum.org> + + * tests/scanner/*-expected.gir: Adjust for + added shared-library. + * giscanner/giwriter.py: Make pylint happy. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/girmodule.c (g_ir_module_build_typelib): + Calculate size correctly, avoid use-after-free. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/girepository.c: Remove + g_irepository_register_file in favor of + g_irepository_require. There are two + possible deployment scenarios for typelibs: + First, separate in $DATADIR/gitypelibs/. Second, + they may be embedded in shlibs. However since + the first is now the normal case, the API is + optimized around it. + + Refactor internals to look up typelibs for + namespaces just-in-time, but we expect + consumers to call g_irepository_require. + + Also, add some docs. No one has died from that + before. + * gir/Makefile.am: Need --library for glib. + * giscanner/girwriter.py: Write out shared-library. + * tools/g-ir-writer: Take the first --library + argument as the target of shared-library. In + the future we should make this nicer with pkg-config + probably. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/girparser.py: And parse them. + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * giscanner/glibast.py: Add gshort/gushort types + +2008-08-20 Colin Walters <walters@verbum.org> + + * gir/Makefile.am: Rename .gir files using GI namespace. + * girepository/girepository.c: Use XDG_DATA_DIRS for + looking up typelibs. Also typelibs are now suffixed + with .typelib. + * tests/invoke/Makefile.am: Only use metadata. + * girepository/Makefile.am: Remove unnecessary include. + * tests/scanner/Makefile.am: Update using GI namespaces + for scanner includes. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/transformer.py: Suppress aliases whose + name is a builtin. + * girepository/ast.py: Define some more aliases. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Avoid alias infloops. + +2008-08-20 Colin Walters <walters@verbum.org> + + * tests/scanner/foo-expected.gir: Fix expected list type. + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name): + Add a workaround for #548689. + We can now compile gtk! + +2008-08-20 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Try to look up + aliases using the c:type too. + +2008-08-20 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Parse union fields. + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: Make time_t an alias for long + + * gir/gio-2.0-good.gir: + * gir/glib-2.0-good.gir: + * gir/gobject-2.0-good.gir: + Regnerate + * giscanner/glibtransformer.py: + Do not delete Class structures, we need them in gdk/gtk. + * tests/scanner/drawable-expected.gir: + * tests/scanner/foo-expected.gir: + * tests/scanner/utility-expected.gir: + Update tests. + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Makefile.am: + * tests/scanner/annotation-expected.gir: + * tests/scanner/annotation.c (annotation_object_class_init), + (annotation_object_init), (annotation_object_method), + (annotation_object_in), (annotation_object_out), + (annotation_object_inout), (annotation_object_inout2), + (annotation_object_inout3), (annotation_object_calleeowns), + (annotation_object_calleesowns), (annotation_object_get_strings), + (annotation_object_with_voidp), (annotation_object_get_objects), + (annotation_object_create_object), (annotation_object_allow_none): + * tests/scanner/annotation.h: + * tests/scanner/foo-expected.gir: + * tests/scanner/foo.c: + * tests/scanner/foo.h: + Split out annotation tests out of foo + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Foo-expected.gir: + * tests/scanner/Makefile.am: + * tests/scanner/foo-expected.gir: + * tests/scanner/foo-object.h: + * tests/scanner/foo.c: + Foo->foo, foo-object.h -> foo.h + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Foo-expected.gir: + * tests/scanner/Makefile.am: + * tests/scanner/drawable-expected.gir: + * tests/scanner/drawable.c (test_drawable_class_init), + (test_drawable_init): + * tests/scanner/drawable.h: + * tests/scanner/foo-object.h: + * tests/scanner/foo.c (foo_boxed_method): + Move the drawable parts out of Foo to its own test. + +2008-08-20 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Foo-expected.gir: + * tests/scanner/foo-object.h: + * tests/scanner/foo.c (foo_drawable_class_init), + (foo_drawable_init): + Add a based on GdkDrawable which generates + a broken gir. + +2008-08-19 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: Don't try + to strip prefix before namespace. + +2008-08-19 Johan Dahlin <johan@gnome.org> + + * giscanner/transformer.py: + * tests/scanner/Foo-expected.gir: + * tests/scanner/foo-object.h: + Add support for typedef void foo type of + aliases. + +2008-08-19 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * tests/scanner/Foo-expected.gir: + Add basic support for union, base the code much + on Struct. Add a testcase. + +2008-08-19 Johan Dahlin <johan@gnome.org> + + * tests/scanner/Foo-expected.gir: + * tests/scanner/foo-object.h: + Add a union testcase which the compiler currently + barfs at. + +2008-08-19 Johan Dahlin <johan@gnome.org> + + * gobject-introspection-1.0.pc.in: + Add a g_ir_compiler variable + +2008-08-19 Colin Walters <walters@verbum.org> + + * giscanner/ast.py: Rework types to be more closely + based on GITypeTag. + * giscanner/girparser.py: Parse more bits. + * giscanner/girwriter.py: Write sequences in a new + way that specifies container type. + * giscanner/glibast.py: Adjust for ast.py changes, + add 'ctype' property to GLibObject and GLibInterface + so we can look things up by it later. + * gicanner/transformer.py: Names is new class holding + the various namespaces we manage. Do not confuse + with Namespace which is toplevel XML node effectively. + Rework all type resolution to go through + _resolve_type_name_1. + * giscanner/glibtransformer.py: Raise UnknownTypeError + instead of ValueError for cleanliness. Add Unresolved + class to mark types whose parent we haven't seen yet. + Use new Names object from transformer.py. + Correctly look up parent=. + Fix type validation to handle sequences. + * tests/scanner/Foo-expected.gir: Update for sequence + work, int instead of int32. + * tools/g-ir-scanner: Add --noclosure option + * gir/Makefile.am: Use --noclosure by default for + GLib/GObject. + +2008-08-18 Johan Dahlin <johan@gnome.org> + + * gir/gio-2.0-good.gir: + * gir/glib-2.0-good.gir: + * gir/gobject-2.0-good.gir: + Regenerate. + +2008-08-18 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: + * giscanner/girparser.py: + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * tests/scanner/Foo-expected.gir: + * tests/scanner/foo-object.h: + * tests/scanner/utility-expected.gir: + * tests/scanner/utility.h: + Redo type resolving and validation. + Add a couple of new tests. + Patch mostly written by Colin. + +2008-08-18 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + * giscanner/girparser.py: + Set ctype of enums + * giscanner/transformer.py: + Improve enum parsing for enums without a GType. + Make flags/enum references to other girs work + * giscanner/utils.py: + Simplify this a bit + * tests/scanner/Makefile.am: + * tests/scanner/foo-object.h: + * tests/scanner/utility-expected.gir: + * tests/scanner/utility.h: + Add a new test for external enum references + +2008-08-18 Johan Dahlin <johan@gnome.org> + + * docs/global-module-registry.txt: Update + + * tests/array.gir: Update with new type proposal + + * girepository/girepository.c (g_type_tag_to_string): + * girepository/girepository.h: + * girepository/girnode.c (g_ir_node_get_full_size_internal), + (find_entry_node): + * girepository/girnode.h: + Make enum serializing functions public. Clean up some whitespace. + +2008-08-17 Johan Dahlin <johan@gnome.org> + + * docs/global-module-registry.txt: + Add a document for an on disk module registry format + +2008-08-17 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + * gir/gio-2.0-good.gir: + Add a gio gir. + +2008-08-17 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + * gir/glib-2.0-good.gir: + * gir/gobject-2.0-good.gir: + * giscanner/cgobject.py: + * giscanner/glibtransformer.py: + Regenerate GObject & GType. + Avoid warnings when generating gobject-2.0.gir. + Introspect a little more, and skip *_get_type functions. + +2008-08-17 Colin Walters <walters@verbum.org> + + * gir/glib-2.0.gir, gir/gobject-2.0.gir: + Rename to -good, always generate during build. + * gir/Makefile.am: Ensure .gir files dep on + all scanner sources. + * Makefile.am: Switch build order to ensure + the scanner is ready before we do gir/. + * tools/g-ir-scanner: Look for .git too. + +2008-08-17 Johan Dahlin <johan@gnome.org> + + * girepository/gtypelib.c (validate_enum_blob): + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + Remove resolve_possible_typedefs, it was unused. + Allow multiple enum values of the sample value in an enum, + since it's actually pretty common. + Register enums so they can be resolved too. + +2008-08-16 Johan Dahlin <johan@gnome.org> + + * giscanner/girparser.py: + Parse enumeration/bitfield. + +2008-08-16 Johan Dahlin <johan@gnome.org> + + * giscanner/girparser.py: + Parse boxed types. + +2008-08-16 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py: + Resolve type names for alias targets + * giscanner/transformer.py: + Skip FILE* parameters fow now + +2008-08-16 Johan Dahlin <johan@gnome.org> + + * gir/glib-2.0.gir: + * gir/gobject-2.0.gir: + Regenerate + + * tests/scanner/Makefile.am: + parser -> scanner + +2008-08-15 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Explicitly construct + new list, since we're deleting as we iterate. + Don't delete all structures which end in Class; just + ones which have a paired GObject. + Fix printing of type warning. + * giscanner/transformer.py: Make strip_namespace_object + be the identity function if it doesn't match the + namespace. + +2008-08-15 Colin Walters <walters@verbum.org> + + * giscanner/cgobject.py: Define yet more argument + prototypes; fix prototype for g_type_fundamental. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * tests/Makefile.am: + * tests/constant.gir: + * tests/gobject.gir: + * tests/struct.gir: + * tools/generate.c (write_struct_info): + Fix generator for constant/gobject/struct + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * tests/Makefile.am: + * tests/enum.gir: + * tools/generate.c (write_enum_info): + Fix generation of enum/bitfields + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * girepository/girparser.c (start_field), (start_constant), + (start_type), (end_element_handler): + Clear up constant parsing + + * tests/object.gir: + Update + + * tools/generate.c (write_callable_info), (write_function_info), + (write_callback_info), (write_constant_info), (write_signal_info), + (write_vfunc_info), (write_property_info), (write_object_info), + (write_interface_info): + Constants/Signals are handled now. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * girepository/girparser.c (start_type): + Don't require c:type. + * tests/Makefile.am: + Test boxed.gir + * tests/boxed.gir: + Update, remove parts we don't support yet + * tests/roundtrips.sh: + Remove + * tools/generate.c (write_type_info), (write_field_info), + (write_callable_info), (write_struct_info): + Make it emit proper gir. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * giscanner/transformer.py: + New internal function for adding a new node. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * gir/Makefile.am: + Define an internal _H_ variable so we skip parsing both + i18n headers, only one is needed. + * gir/glib-2.0.gir: + Add the glib-2.0.gir too. + * giscanner/glibast.py: + Add gconstpointer as an alias for ANY + * giscanner/transformer.py: + Do not lower case enumeration names per se. + Skip functions which has parameters called 'va_list' + +2008-08-14 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: Comment data structures. + Also squash pointers in resolve_type_name to correspond + with what we do for params. + * giscanner/glibtransformer.py: Print warnings in more + situations. Rework checks for method/constructor to + look up in our GType database instead of just checking + for *. Avoid generating <record> for GObject which + duplicate the <class>. + * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir + in here. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * misc/pyflakes.py: + * tests/Makefile.am: + Add pyflakes.py and run it in make check. + Update the source code to fix the errors reported by + pyflakes. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: + * giscanner/girparser.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + Refactor the parser a bit. + Add parent type to interfaces and update callsites. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py: + * giscanner/utils.py: + Refactor a bit, avoid isinstance and add a method + for each type we parse. + +2008-08-14 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: + * giscanner/girparser.py: + * giscanner/glibtransformer.py: + * tests/Makefile.am: + Run pep8.py in make check, fix old errors. + +2008-08-13 Colin Walters <walters@verbum.org> + + * giscanner/girparser.py: Parse records. + +2008-08-13 Colin Walters <walters@verbum.org> + + * gir/Makefile.am: Install again. + * gir/gobject-2.0.gir: Add some more bits. + +2008-08-13 Colin Walters <walters@verbum.org> + + * gir/gobject-2.0.gir: Use correct namespace, add GType. + * giscanner/girparser.py: Handle aliases. + * giscanner/transformer.py: Record aliases. Make resolver + functions public; we now call into these explicitly from + glibtransformer. Handle resolving aliases. + * giscanner/glibtransformer.py: Separate our internal namespace + from included ones. Call up into transformer's resolver functions. + +2008-08-13 Johan Dahlin <johan@gnome.org> + + * girepository/girnode.c (g_ir_node_get_full_size_internal): + * girepository/girparser.c (start_class): + * giscanner/glibtransformer.py: + Allow get_type to be None, set a get_type for GInitiallyUnowned too. + +2008-08-13 Johan Dahlin <johan@gnome.org> + + * giscanner/cgobject.py: + Register GInitiallyUnowned + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + Special case GObject/GInitially owned as they are a bit special to use. + +2008-08-13 Colin Walters <walters@verbum.org> + + * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir: + Object is in GObject namespace. + +2008-08-13 Colin Walters <walters@verbum.org> + + * giscanner/girparser.py: Fix processing of functions + from last commit. + +2008-08-13 Colin Walters <walters@verbum.org> + + * giscanner/girparser.py: Parse more than just <class. + * giscanner/glibtransformer.py: Put aliases in a separate + data structure since their name is not canonicall. + * giscanner/transformer.py: Handle resolving type names + from includes. + +2008-08-13 Johan Dahlin <johan@gnome.org> + + * tools/g-ir-scanner: + Allow multiple libraries + * giscanner/glibtransformer.py: + Rename load_library to add_library, traverse over all libraries + when trying to resolve a function + +2008-08-12 Colin Walters <walters@verbum.org> + + * giscanner/transformer.py: Record typedefs as <alias> elements. + Also attempt to look up types in external namespaces. + * giscanner/girwriter.py: Write them. + * giscanner/glibtransformer.py: Rework resolver using real instanceof + checks. Resolve interface methods and properties. + * tests/scanner/foo-object.h: Add a method with typedef. + * tests/scanner/Foo-expected.gir: Update. + * girepository/girnode.c: Debug tweaks. + * girepository/girparser.c: Make a first pass through the XML where we + record all the aliases. This lets us resolve them as we go through the + second pass. + * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come + from gir-repository. + +2008-08-12 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList). + Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure + fields. + * giscanner/transformer.py: Record typedefs and expose public API for resolving + them. + * tests/scanner/Foo-expected.gir: Fix expected callback types. + +2008-08-12 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Also transform object properties. + +2008-08-12 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: Also transform callbacks + and structure field types. + * tests/scanner/Fooe-expected.gir: Update to expect correct + names for callbacks and structs. + +2008-08-12 Colin Walters <walters@verbum.org> + + * girepository/girparser.c: Handle 'any'. + * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h: + Add test for void *. + +2008-08-12 Colin Walters <walters@verbum.org> + + * giscanner/glibtransformer.py: We need to do type + resolution in a second pass after we've seen all the + enums, records, etc. + +2008-08-12 Colin Walters <walters@verbum.org> + + * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h: + Add enum return value. + * giscanner/glibtransformer.py: Transform function return types + too. + +2008-08-12 Colin Walters <walters@verbum.org> + + * tests/scanner/Makefile.am: Dep .gir files on scanner + sources too. Also remove @ so we see scanner invocations. + +2008-08-12 Colin Walters <walters@verbum.org> + + * girepository/girparser.c, girepository/gtypelib.c, + girepository/gtypelib.h, girepository/girnode.c: + Remove usage of (GAPI-oriented) TypeTag in favor of + GITypeTag from girepository.h. + +2008-08-10 Colin Walters <walters@verbum.org> + + * tests/roundtrips.sh: Use the correct tests. + +2008-08-10 Colin Walters <walters@verbum.org> + + * giscanner/cgobject.py: Declare/wrap a few more functions. + Fix parameter types for g_object_new and g_type_fundamental. + +2008-08-10 Colin Walters <walters@verbum.org> + + * giscanner/cgobject.py: Add new decorator @gwrap which forces + us to declare types for both return value and parameters. The + ctypes default of 'int' is bad because it hides 32/64 bit + problems. Convert all existing functions to use it. + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * giscanner/__init__.py: + * giscanner/ast.py: + * giscanner/cgobject.py: + * giscanner/gidlparser.py: + * giscanner/gidlwriter.py: + * giscanner/girparser.py: + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/odict.py: + * giscanner/sourcescanner.py: + * giscanner/transformer.py: + * giscanner/utils.py: + * giscanner/xmlwriter.py: + * tools/g-ir-scanner: + + PEP8ify + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * relaxng/api.xml: + * relaxng/c-types.xml: + * relaxng/g-types.xml: + * relaxng/relaxng.rng: + * relaxng/util.xml: + Remove outdated relaxng schemas. + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * *.[ch]: + Rename metadata to typelib in variable names, + comments and apis. + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * tools/scanner.c: + * tools/scanner.h: + Remove old C scanner, which got rewritten in python. + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * girepository/Makefile.am: + * tools/Makefile.am: + * tools/girmodule.c: + * tools/girmodule.h: + * tools/girnode.c: + * tools/girnode.h: + * tools/girparser.c: + * tools/girparser.h: + * tools/girwriter.c: + * tools/girwriter.h: + Move shared *.[ch] files to girepository from tools + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * tests/Makefile.am: + * tests/array.test: + * tests/boxed.test: + * tests/constant.test: + * tests/enum.test: + * tests/errors.test: + * tests/function.test: + * tests/gobject.test: + * tests/interface.test: + * tests/object.test: + * tests/struct.test: + * tests/types.test: + * tests/union.test: + * tests/xref1.test: + * tests/xref2.test: + Rename *.test to *.gir + +2008-08-09 Johan Dahlin <johan@gnome.org> + + * configure.ac: + * tests/Makefile.am: + * tests/parser/Foo-expected.gir: + * tests/parser/Makefile.am: + * tests/parser/foo-object.h: + * tests/parser/foo.c: + * tests/parser/utility-expected.gir: + * tests/parser/utility.c: + * tests/parser/utility.h: + * tests/scanner/Makefile.am: + Rename tests/parser to test/scanner + +2008-08-08 Colin Walters <walters@verbum.org> + + * tests/roundtrips.sh: Use local .gir files again. + +2008-08-08 Colin Walters <walters@verbum.org> + + * tests/invoke/Makefile.am: .gir file depends on libtool + library. + +2008-08-08 Colin Walters <walters@verbum.org> + + * tools/girnode.c: Pass through parent node so we can + print the node whose child is NULL, if that occurs. + +2008-08-08 Johan Dahlin <johan@gnome.org> + + * tests/Makefile.am: + Disable roundtrip tests which are not yet working + * tests/invoke/testfns.gir: + Rewrite as gir. + +2008-08-08 Johan Dahlin <johan@gnome.org> + + * giscanner/girwriter.py: + type -> ntype + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + Swap order of members, to keep it consistent with + base enum class + +2008-08-08 Johan Dahlin <johan@gnome.org> + + * girepository/gtypelib.c (validate_header): + * girepository/gtypelib.h: + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/sourcescanner.c (gi_source_symbol_ref), + (gi_source_symbol_unref): + * tests/array.test: + * tests/boxed.test: + * tests/constant.test: + * tests/enum.test: + * tests/errors.test: + * tests/function.test: + * tests/gobject.test: + * tests/interface.test: + * tests/invoke/Makefile.am: + * tests/invoke/testfns.xml: + * tests/object.test: + * tests/parser/Makefile.am: + * tests/roundtrips.sh: + * tests/struct.test: + * tests/types.test: + * tests/union.test: + * tests/xref1.test: + * tests/xref2.test: + * tools/Makefile.am: + * tools/compiler.c (main): + * tools/generate.c (write_callable_info), (write_function_info), + (write_repository): + * tools/gidlmodule.c: + * tools/gidlmodule.h: + * tools/gidlnode.c: + * tools/gidlnode.h: + * tools/gidlparser.c: + * tools/gidlparser.h: + * tools/gidlwriter.c: + * tools/gidlwriter.h: + * tools/scanner.c (create_node_from_gtype), + (create_node_from_ctype), (g_igenerator_process_properties), + (g_igenerator_process_signals), (g_igenerator_create_object), + (g_igenerator_create_interface), (g_igenerator_create_boxed), + (g_igenerator_create_enum), (g_igenerator_create_flags), + (g_igenerator_process_function_symbol), + (g_igenerator_process_unregistered_struct_typedef), + (g_igenerator_process_struct_typedef), + (g_igenerator_process_union_typedef), + (g_igenerator_process_enum_typedef), + (g_igenerator_process_function_typedef), + (g_igenerator_process_constant), (g_igenerator_process_symbols), + (g_igenerator_add_module), (g_igenerator_add_include_idl): + Merge in the gir-compiler branch. + Thanks to Philip and Colin for their help. + +2008-07-26 Colin Walters <walters@verbum.org> + + * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler + and g-idl-generate to go along with how we're changing this + module to be installed. + * gobject-introspection-1.0.pc.in: Set up Cflags and Libs. + +2008-07-24 Colin Walters <walters@verbum.org> + + * girepository/girepository.c (g_irepository_register): Add + environment variable G_IREPOSITORY_VERBOSE so we can print + out what we're doing. + * girepository/girepository.c (g_irepository_register_file): + Add GError error message to g_debug call. + +2008-07-08 Jürg Billeter <j@bitron.ch> + + * giscanner/glibast.py: + + Fix typo + +2008-06-21 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/girparser.py (GIRParser._parse_api): Ignore a few + more tags + +2008-06-20 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/transformer.py: + * tests/parser/Foo-expected.gir: + * tests/parser/foo-object.h: + * tests/parser/foo.c (foo_object_allow_none): + Add support for gtk-doc annotations for allow-none. + Add test case. + +2008-06-19 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * tests/parser/Foo-expected.gir: + Start using abstract type instead of the raw C types. + Register a bunch of glib types we care about. + +2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk> + + * AUTHORS: + Update authors + +2008-06-08 Philip Van Hoof <pvanhoof@gnome.org> + + * girepository/girepository.c: + * girepository/gtypelib.c: + * girepository/ginfo.c: + * girepository/ginvoke.c: + * girepository/girepository.h: + * girepository/gtypelib.h: + * girepository/gmetadata.c: + * girepository/Makefile.am: + * girepository/gmetadata.h: + * tools/compiler.c: + * tools/gidlmodule.c: + * tools/gidlnode.c + * tools/generate.c: + * tools/gidlmodule.h: + * tools/gidlparser.c: + + Renamed GMetadata to GTypelib + +2008-06-07 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/xmlwriter.py: + Improve line wrapping when > 79 charaters + +2008-06-05 Jürg Billeter <j@bitron.ch> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/transformer.py: + Use <type> element for field types + * tests/parser/Foo-expected.gir: + Update testcase + +2008-06-04 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/glibtransformer.py: + Fix a bug which prevented GdkEvent from being generated + +2008-06-03 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/Makefile.am: + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * giscanner/utils.py: + * tests/parser/Foo-expected.gir: + Improve enum member parsing and introspection + +2008-05-31 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/scannerparser.y: + * giscanner/sourcescanner.h: + * giscanner/sourcescanner.py: + Add a new source type enum for member. + Use __repr__ for improved debugging + * giscanner/girparser.py: + Ignore some more + * giscanner/transformer.py: + Improve parsing of struct members. + * tests/parser/foo-object.h: + Add a new testcase + +2008-05-31 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/xmlwriter.py: + Improve error reporting when trying to quote None. + * giscanner/girparser.py: + Do not print warnings when including more complete .gir files + * giscanner/girwriter.py: + Do not require a name for parameters, add a todo for singletons + * giscanner/glibtransformer.py: + Refactor the way structs are done, add a couple of hacks to allow + us to get further. + * giscanner/transformer.py: + Add enough hacks so cairo, atk and pango.gir can be parsed properly + * gobject-introspection-1.0.pc.in: + Export girdir, so we can access gobject-2.0.gir from outside + +2008-05-31 Johan Dahlin <jdahlin@async.com.br> + + * tools/g-ir-scanner: + * tests/parser/Makefile.am: + Update sys.path before running the parser so we don't have + to setup PYTHONPATH ourselves. + + * Makefile.am: + * configure.ac: + * girepository/Makefile.am: + * giscanner/transformer.py: + * gobject-introspection-1.0.pc.in: + * gobject-introspection.pc.in: + * tools/Makefile.am: + + Rename pkg-config name to gobject-introspection-1.0, + Do not installed anything which is not using the gir format. + Disable compililation the old C scanner, but still keep the source + until all the remaning functionallity has been ported. + +2008-05-31 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/giscannermodule.c (symbol_get_ident): Prevent + a crash when symbol->indent is NULL. + + * giscanner/sourcescanner.py (ctype_name): Add ctype_name, + a function to convert a CTYPE symbol to a string + +2008-05-24 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/giscannermodule.c + (pygi_source_scanner_append_filename), + (pygi_source_scanner_parse_file): + * giscanner/glibtransformer.py: + * giscanner/sourcescanner.py: + Revert back to using temporary files to send in headers. + Allow Functions to be passed in as callbacks, add a couple + of try/excepts missing features. + We can now scan pango + +2008-05-08 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + Move namespace stripping glibtransformer->transformer + +2008-05-08 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * tools/g-ir-scanner: + Introduce a namespace ast node + +2008-05-05 Johan Dahlin <johan@gnome.org> + + * giscanner/__init__.py: + * giscanner/sourcescanner.py: + * giscanner/transformer.py: + Move sourcescanner symbols to the sourcescanner module, instead + of in the global __init__ namespace. + +2008-05-03 Johan Dahlin <johan@gnome.org> + + * giscanner/glibtransformer.py: + * tools/g-ir-scanner: + Handle missing parameters better, allow - and + in .la dlname + filenames. + +2008-05-03 Johan Dahlin <johan@gnome.org> + + * giscanner/__init__.py: + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + Parse struct fields properly, improve debugging. + +2008-04-29 Johan Dahlin <johan@gnome.org> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/transformer.py: + * tests/parser/Foo-expected.gir: + * TODO: + Use transfer-ownership everywhere, to mark ownership/calle/caller etc. + +2008-04-29 Johan Dahlin <jdahlin@async.com.br> + + * Makefile.am: + * docs/g-ir-scanner.1: + * metadata-annotations-proposal.txt: + * metadata-format.txt: + Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt + +2008-04-29 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * giscanner/xmlwriter.py: + * tests/parser/Foo-expected.gir: + * tests/parser/foo-object.h: + Write record/structs to gir file too. Add a couple of tests, + fix an off by one error in xmlwriter.py. + +2008-04-28 Johan Dahlin <johan@gnome.org> + + * giscanner/xmlwriter.py: Calculate the line length properly, + include the provided extra indentation in the calculation, really. + +2008-04-28 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + * tools/g-ir-scanner: + Add a --strip-prefix and sort out confusion between names and symbols + for functions and struct + derivaties. + Refactor bootstrap of g-ir-scanner, so we can set options on + Transformer() before parsing everything. + +2008-04-28 Johan Dahlin <johan@gnome.org> + + * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion + when scanning girepository.h + + * giscanner/sourcescanner.py (SourceScanner._preprocess): Define + a __GI_SCANNER__ when we run. + +2008-04-28 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * tests/parser/Foo-expected.gir: + * tests/parser/utility-expected.gir: + Rename most c:identifier to c:type. Add new ones to + class/interface/enum/boxed. + +2008-04-28 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/ast.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * tests/parser/Foo-expected.gidl: + * tests/parser/Makefile.am: + Move c:identifier from return-value to subchild type, + as per Jürgs suggestion + +2008-04-28 Johan Dahlin <johan@gnome.org> + + * giscanner/girwriter.py: + * tests/parser/Foo-expected.gir: + Write property.type as a child node. + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * Makefile.am: + * configure.ac: + * gidl/Makefile.am: + * gidl/gobject-2.0.gidl: + * gir/Makefile.am: + * gir/gobject-2.0.gir: + * tests/parser/Makefile.am: + Replace the GObject gidl with a GObject gir. + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script, + not a program. + + * giscanner/xmlwriter.py: + * tests/parser/Foo-expected.gir: + Include indentation in line length calculation + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * giscanner/girparser.py: + Prettify NS parsing using elementtree. + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * configure.ac: + * giscanner/Makefile.am: + * giscanner/girparser.py: + * giscanner/glibtransformer.py: + * tests/parser/Foo-expected.gidl: + * tests/parser/Foo-expected.gir: + * tests/parser/Makefile.am: + * tests/parser/utility-expected.gidl: + * tests/parser/utility-expected.gir: + * tools/g-ir-scanner: + Switch over to GIR as the default format. Add a simple GIDL + parser. + Update tests and fix simplify makefiles by depending + on GNU make extensions. + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * giscanner/xmlwriter.py: + Wrap attributes for lines which are wider than 79 characters + + * giscanner/scannerlexer.l: + Allow parenthesis in annotations + + * giscanner/ast.py: + * giscanner/gidlwriter.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + Add initial sequence support, including annotation. + Refactor type handling a bit. + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c (foo_object_class_init), + (foo_object_get_strings), (foo_object_get_objects): + Add two new functions to check sequence return values. + Also fixes a compilation warning. + +2008-04-27 Johan Dahlin <johan@gnome.org> + + * giscanner/giscannermodule.c (]): Cast the getter, avoids + a compilation warning. + + * tools/Makefile.am (g_ir_scanner_SOURCES): + g-ir-scanner has no sources. + +2008-04-25 Johan Dahlin <johan@gnome.org> + + * giscanner/Makefile.am: + * giscanner/ast.py: + * giscanner/gidlparser.py: + * giscanner/gidlwriter.py: + * giscanner/girwriter.py: + * giscanner/glibast.py: + * giscanner/glibtransformer.py: + * giscanner/transformer.py: + Split out nodes to ast.py and glibast.py + +2008-04-25 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/Makefile.am: + * giscanner/gidlparser.py: + * giscanner/gidlwriter.py: + * giscanner/girwriter.py: + * giscanner/glibtransformer.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/transformer.py: + * giscanner/treebuilder.py: + * tools/g-ir-scanner: + Rename treebuilder to transformer and + gobjectreebuilder to glibtransformer. + +2008-04-25 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/Makefile.am: + * giscanner/__init__.py: + * giscanner/cgobject.py: + * giscanner/gidlparser.py: + * giscanner/gidlwriter.py: + * giscanner/girwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/odict.py: + * giscanner/sourcescanner.py: + * giscanner/treebuilder.py: + * giscanner/xmlwriter.py: + * tools/Makefile.am: + * tools/g-ir-scanner: + Add LGPLv2 license header and install all python files + +2008-04-25 Johan Dahlin <jdahlin@async.com.br> + + * TODO: + * giscanner/gidlwriter.py: + * giscanner/giscannermodule.c (pygi_source_directive_new), + (directive_get_options), (pygi_source_symbol_new), + (symbol_get_base_type), (pygi_source_type_new), + (type_get_base_type), (type_get_child_list), + (pygi_source_scanner_get_symbols), + (pygi_source_scanner_get_directives): + * giscanner/gobjecttreebuilder.py: + * giscanner/sourcescanner.py: + * giscanner/treebuilder.py: + * tests/parser/foo-object.h: + Add support for virtual methods. + Pair struct FooClass with struct Foo. + Clean up the SourceScanner bindings a bit. + Add a testcase for virtual methods. + +2008-04-25 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/cgobject.py: + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + Add support for signals + + * tests/parser/foo.c (foo_object_class_init): + * Foo-expected.gidl: + Add a signal and update the expected output. + +2008-04-24 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/gidlwriter.py: + * giscanner/girwriter.py: + * giscanner/giscannermodule.c (directive_get_name), + (directive_get_value), (directive_get_options), + (symbol_get_directives), (symbol_set_directives), + (pygi_source_scanner_parse_file), + (pygi_source_scanner_lex_filename), + (pygi_source_scanner_get_directives), (init_giscanner): + * giscanner/sourcescanner.c (gi_source_scanner_get_directives): + * giscanner/sourcescanner.h: + * giscanner/sourcescanner.py: + * giscanner/treebuilder.py: + * tools/g-ir-scanner: + Add support for source/header annotations. + +2008-04-22 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/gidlwriter.py: + * giscanner/girwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + Add support for Callbacks + +2008-04-22 Havoc Pennington <hp@pobox.com> + + * girepository/ginvoke.c (g_function_info_invoke): If a symbol is + not in metadata->module, look for it in the global module, in case + some other object or the app itself provides the symbol. + +2008-04-22 Havoc Pennington <hp@pobox.com> + + * girepository/gmetadata.c (_g_metadata_init): hack to avoid + dlopening a library that is already in the main app, by checking + whether one of the lib's symbols is already loaded. + +2008-04-22 Johan Dahlin <jdahlin@async.com.br> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + Add a callback test + +2008-04-22 Havoc Pennington <hp@pobox.com> + + * girepository/ginfo.c (g_interface_info_find_method): + Use interface_blob_size not object_blob_size to compute offset. + +2008-04-22 Havoc Pennington <hp@pobox.com> + + * girepository/gmetadata.c (_g_metadata_init): remove + G_MODULE_BIND_LOCAL flag when loading libraries, since some libs + (Glade and Clutter for example) rely on being loaded globally. + +2008-04-22 Havoc Pennington <hp@pobox.com> + + * girepository/ginfo.c (g_registered_type_info_get_g_type): new + function to get the GType given a RegisteredTypeInfo + +2008-04-22 Johan Dahlin <johan@gnome.org> + + * COPYING: Add a LGPL license, to prevent automake to + put in a copy of GPL here. Pointed out by Havoc. + + * girepository/ginfo.c (g_info_from_entry), (g_type_info_new), + (g_type_info_is_pointer), (g_type_info_get_tag), + (g_type_info_get_param_type), (g_type_info_get_interface), + (g_type_info_get_array_length), (g_type_info_is_zero_terminated), + (g_type_info_get_n_error_domains), (g_type_info_get_error_domain), + (g_error_domain_info_get_codes), (g_enum_info_get_value), + (g_object_info_get_interface), (g_object_info_get_field), + (g_interface_info_get_prerequisite), + (g_signal_info_get_class_closure), (g_constant_info_get_value): + * girepository/ginvoke.c (get_ffi_type): + * girepository/girepository.h: + * girepository/gmetadata.c (g_metadata_get_dir_entry), + (g_metadata_check_sanity), (validate_header), + (validate_array_type_blob), (validate_iface_type_blob), + (validate_param_type_blob), (validate_error_type_blob), + (validate_type_blob), (validate_constant_blob), + (validate_struct_blob), (validate_enum_blob): + * girepository/gmetadata.h: + * tests/Makefile.am: + * tests/invoke/Makefile.am: + * tests/invoke/invoke.c (main): + * tests/roundtrips.sh: + * tools/Makefile.am: + * tools/compiler.c (format_output), (write_out_metadata), (main): + * tools/generate.c (write_type_name), (write_type_info), + (write_constant_value), (write_enum_info), (load_metadata), (main): + * tools/gidlcompilercontext.c: + * tools/gidlcompilercontext.h: + * tools/gidlcompilerentrynode.c: + * tools/gidlcompilerentrynode.h: + * tools/gidlcompilertypenode.c: + * tools/gidlcompilertypenode.h: + * tools/gidlmodule.c (g_idl_module_build_metadata): + * tools/gidlmodule.h: + * tools/gidlnode.c (init_stats), (dump_stats), + (g_idl_node_get_size), (g_idl_node_get_full_size), + (g_idl_node_cmp), (g_idl_node_can_have_member), + (g_idl_node_add_member), (g_idl_node_param_direction_string), + (parse_int_value), (parse_uint_value), (parse_float_value), + (parse_boolean_value), (find_entry_node), (find_entry), + (serialize_type), (g_idl_node_build_metadata), (write_string): + * tools/gidlnode.h: + * tools/gidlparser.c (parse_type_internal): + * tools/quote-file.sh: + Revert revisions 157,149-148,136-129 and 120. + Move back to using g-idl-generate to generate the metadata and + avoids dependency on a c compiler. + +2008-04-22 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/girwriter.py: + * tools/g-ir-scanner: + Add an initial GIR writer and a --format option to g-ir-scanner + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/cgobject.py: Use ctypes.util.find_library to locate + gobject-2.0 and raise ImportError if not found. + + * giscanner/gidlparser.py: + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * tools/g-ir-scanner: + Add a --include argument to include types from other idls. + Add a minimalistic GIDL parser (just objects for now) + Implement resolving of external type references and use it to + resolve parent types, argument types and return types. + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + Add support for properties. + Refactor Class/Interface support a bit, to share more code and + always initialize their method attribute to an empty list. + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/cgobject.py: + Add a workaround for a glib bug interface introspection bug + (object_interface_list_properties, object_class_list_properties): + Cast the return value to GParamSpec. + + * tests/parser/Foo-expected.gidl: Update + * tests/parser/foo.c: Add a string property + + * giscanner/gobjecttreebuilder.py: + After stripping namespaces, remove the original + item to avoid duplication (GtkButton struct and Button object) + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + Strip namespaces before objects, so we'll export + GtkButton as Button in the gtk namespace + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + Add constructors for object/boxed types. + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + Add support for boxed types + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/giscannermodule.c: Mark structures as const, + wrap SourceType.const_string. + + * tests/parser/foo-object.h: Add a couple of constants. + + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + Add basic support for interfaces + + * tools/g-ir-scanner: + Add -o/--output for writing to a file + +2008-04-21 Havoc Pennington <hp@redhat.com> + + * TODO: add some C API wishlist items I could think of quickly + +2008-04-21 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/gidlwriter.py: + * giscanner/xmlwriter.py: + Add a simple api for writing tags which can be used + with the new 'with statement' in python 2.5 + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * giscanner/gobjecttreebuilder.py: + Strip namespace and object prefix from method names. + +2008-04-21 Johan Dahlin <johan@gnome.org> + + * tools/g-ir-scanner (main): Add --pkg option to pass in + pkg-config modules to get cflags from. + + * giscanner/gidlwriter.py (GIDLWriter._write_method): + Avoid duplication, reuse function writer for methods. + +2008-04-21 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + * tools/g-ir-scanner: + Resolve libtool .la files. + Strip name spaces for methods. + Add function symbols + +2008-04-20 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/cgobject.py: + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/treebuilder.py: + Add support for classes and methods + +2008-04-20 Johan Dahlin <johan@gnome.org> + + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * giscanner/odict.py: + Avoid conflicts, keep the output ordered similar to + the order of the input. + Add a simple ordered dictionary implemenation + +2008-04-19 Johan Dahlin <johan@gnome.org> + + * giscanner/cgobject.py: + * giscanner/gidlwriter.py: + * giscanner/gobjecttreebuilder.py: + * tools/g-ir-scanner: + Start introspecting get-type functions. + Implement support for GLib/GFlags GTypes. + Add a ctype based GObject binding. + +2008-04-18 Johan Dahlin <jdahlin@async.com.br> + + * giscanner/gidlwriter.py: + * giscanner/xmlwriter.py: + * tools/g-ir-scanner: + Add a simplistic gidl writer, which can't do too much. + +2008-04-18 Johan Dahlin <johan@gnome.org> + + * giscanner/sourcescanner.py: + * giscanner/treebuilder.py: + * tools/g-ir-scanner: + split tree building and source scanning interface to separate files. + +2008-04-18 Johan Dahlin <johan@gnome.org> + + * tools/g-ir-scanner (Parameter.__init__): Start constructing + a real node tree. + - Add support for struct/parameter/return, start parsing of ctypes + + * giscanner/giscannermodule.c: wrap GISourceType.child_list and + fix the style + +2008-03-31 Johan Dahlin <johan@gnome.org> + + * tools/g-ir-scanner: + Start to build abstract syntax node of scanned sources. + Add support for cpp options. + +2008-03-27 Johan Dahlin <johan@gnome.org> + + * giscanner/giscannermodule.c: + * giscanner/scannerlexer.l: + * giscanner/sourcescanner.c: + * tools/g-ir-scanner: + + Add simple pre-processor using subprocess and a PIPE. + Change the parse_file apis to accept a file descriptor. + +2008-03-25 Johan Dahlin <johan@gnome.org> + + * giscanner/__init__.py: + * tools/g-ir-scanner: + Fix a typo and add an example python test program. + +2008-03-25 Johan Dahlin <johan@gnome.org> + + * giscanner/__init__.py: + * giscanner/giscannermodule.c: + * giscanner/sourcescanner.c: + * giscanner/sourcescanner.h: + Add constants and wrap a few more SymbolType fields + +2008-03-25 Johan Dahlin <johan@gnome.org> + + * configure.ac: + * giscanner: + * giscanner/__init__.py: + * giscanner/giscannermodule.c: + * giscanner/Makefile.am: + + Add initial python bindings for the scanner and + depend on python 2.5. + +2008-03-25 Johan Dahlin <johan@gnome.org> + + * Makefile.am: + * configure.ac: + * giscanner/Makefile.am: + * giscanner/sourcescanner.c: + * giscanner/sourcescanner.h: + * tools/Makefile.am: + * tools/grealpath.h: + * tools/sourcescanner.c: + * tools/sourcescanner.h: + + Move the scanner to a separate library. + +2008-03-23 Johan Dahlin <johan@gnome.org> + + * tools/Makefile.am: + * tools/scanner.c: + * tools/scanner.h: + * tools/scannerlexer.l: + * tools/scannerparser.y: + * tools/sourcescanner.c: + * tools/sourcescanner.h: + Split out the source scanner from the generator. + Rename the symbols used in the scanner to use the gi_ prefix. + This should make it possible to use the raw C parser from + other programs. + +2008-03-23 Johan Dahlin <johan@gnome.org> + + * tests/parser/Makefile.am (utility.gidl): + * tests/parser/utility-expected.gidl: + Pass in the gobject.gidl since we're defining a GObject. + +2008-03-12 Johan Dahlin <johan@gnome.org> + + * relaxng/relaxng.rng: + Add a releaxng in relaxng we can use to validate the relaxngs + schemas + +2008-03-12 Jürg Billeter <j@bitron.ch> + + * tools/scanner.c: (g_igenerator_new): + * tools/scannerparser.y: + Fix compiler warnings. + +2008-03-12 Jürg Billeter <j@bitron.ch> + + * tools/scanner.c: + * tools/scanner.h: + * tools/scannerparser.y: + Start fixing memory management in g-idl-scanner. + +2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/gidlcompilercontext.c: (write_compiled): + Fix critical warning when no shlib passed to g-idl-compiler. + +2008-03-12 Johan Dahlin <johan@gnome.org> + + * tests/parser/utility-expected.gidl: + * tests/parser/utility.h: + Add a get_type-function, so the scanner actually + parses it as an object. + +2008-03-12 Johan Dahlin <johan@gnome.org> + + * tools/gidlwriter.c (function_generate): Add missing trailing quote. + Bad Philip! + + * tests/parser/Foo-expected.gidl: + * tests/parser/Makefile.am: + * tests/parser/foo-object.h: + * tests/parser/foo.c: + * tests/parser/utility-expected.gidl: + * tests/parser/utility.c: + * tests/parser/utility.h: + + Add a new gidl test. 'utility.gidl', which is used to be able + to test external type references. Add a reference to UtilityObject* + in the idl file. + +2008-03-11 Johan Dahlin <johan@gnome.org> + + * tools/compiler.c: + * tools/generate.c: + Remove most global variables + +2008-03-11 Philip Van Hoof <me@pvanhoof.be> + + * tools/scannerlexer.l: + * tools/scanner.c: + * tests/parser/Foo-expected.gidl: + * tests/parser/foo.c: + * tests/parser/Makefile.am: + * tests/parser/foo-object.h: + + Added a few extra tests. Which resulted in finding a few + bugs. Which resulted in me fixing those bugs + +2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry), + (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref): + Add some comments for strings into generated output for + easier debugging. + +2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/gidlcompilercontext.c: (write_compiled): + Write out the shlibs variable before writing out the strings + length. Fixes compiler warning when using '-l' flag with + g-idl-compiler + +2008-03-11 Johan Dahlin <johan@gnome.org> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tools/scanner.c: + * tools/scanner.h: + * tools/scannerlexer.l: + Add support for parsing return arguments. Add support for + caller-owns return types. + Patch by Philip Van Hoof. + + * tools/scannerparser.y: + Remove parsing of the @deprecated syntax used in headers. + We will support gtk-doc deprecation in the future instead. + +2008-03-11 Johan Dahlin <johan@gnome.org> + + * tools/compiler.c (main): Coding style fixes + +2008-03-10 Johan Dahlin <johan@gnome.org> + + * configure.ac: + Add GCOV_LIBS to GILIBS + +2008-03-10 Johan Dahlin <johan@gnome.org> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo.c: + Rename null-ok to direction=out + +2008-03-10 Philip Van Hoof <me@pvanhoof.be> + + reviewed and extensively tested by Johan + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: + * tools/gidlnode.c: + * tools/gidlnode.h: + * tools/gidlwriter.c: + * tools/scanner.c: + * tools/scanner.h: + * tools/scannerlexer.l: + * tools/scannerparser.y: + + Add support for scanning for gtk-doc comments inside + C source files. Add tests + +2008-03-10 Johan Dahlin <johan@gnome.org> + + * tests/parser/Makefile.am: + * tests/parser/foo.c: + * tools/scanner.c: + * tools/scanner.h: + * tools/scannerparser.y: + Add an api to lex filenames. + Lex all source .c files passed in on the command line. + Scan sources in a test and a couple of private structures + which should not be included in the generated gidl + +2008-03-10 Johan Dahlin <johan@gnome.org> + + * tests/invoke/Makefile.am: Make the generated metadata + depend on the g-idl-compiler + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * tools/gidlmodule.c + * tools/gidlmodule.h + * tools/gidlnode.c + * tools/gidlnode.h + Remove the old g-idl-compiler code. + + +2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk> + + * tools/quote-file.sh + * tools/compiler.c + * tools/generate.c + Move to using the 'C' struct compiler code. + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * girepository/ginfo.c + * tools/generate.c + Change the way that external references with no namespace + are dealt with. External references with no namespace + are placed into the XML as-if they are a local reference. + This is temporary, but helps with roundtrip tests. + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * girepository/ginfo.c + Add the ability to get the value of a constant of + type TYPE_TAG_SYMBOL. In the case of a symbol the value + is provided as a string. + + This would deal properly with: + typedef char* random; + const random = "A string"; + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * girepository/ginfo.c + * girepository/girepository.h + * tools/generate.c + Add a function to check if an enum is registered or not. + Previously anything testing this relied on the g-type + string offset having a value of 0. + + * girepository/gmetadata.c + * girepository/gmetadata.h + * tools/generate.c + Remove unneccesary or erroneous checks. There were two + metadata validation checks which made sure that the blob + sizes were the same as some magic numbers compiled into the code. + This is wrong as it breaks any forwards compatibility that may + be possible. + + Checks were also present that made sure that unregistered type + blobs had a value of 0 in the g-type offset field. This is + unneccessary. If a type blob is unregistered then any value + in its g-type field is simply invalid. + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * girepository/ginfo.c + * girepository/gmetadata.c + * girepository/gmetadata.h + + Change the metadata format to have a standard header + for all the type blobs. Merge the SimpleTypeBlob + and InterfaceTypeBlob into a union. A union of these + two blobs existed previously but was not explicit + in the metadata format. + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * tools/gidlcompilercontext.c + * tools/gidlcompilercontext.h + * tools/gidlcompilerentrynode.c + * tools/gidlcompilerentrynode.h + * tools/gidlcompilertypenode.c + * tools/gidlcompilertypenode.h + + Add code to compile a tree of GIdlNodes to + a 'C' struct representing the metadata. + This is to aid cross-compiling. Previously + the g-idl-compiler created a binary blob with + data written in the byte order and alignment + of the tool rather than the intended target. + + Cleaned up and improved by Johan and Robert :-) + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + * girepository/ginvoke.c + * girepository/girepository.h + * girepository/gmetadata.c + * girepository/gmetadata.h + * tools/generate.c + * tools/gidlparser.c + Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL + to avoid confusion with the interface blob. + + * tools/generate.c + * tools/gidlparser.c + Remove magic numbers and replace with type-tag + enumeration symbols. + + * girepository/gmetadata.c + Add validate declaration. + +2008-03-10 Jürg Billeter <j@bitron.ch> + + * tools/gidlparser.c: (parse_type_internal): + * tools/scannerlexer.l: + * tools/scannerparser.y: + Support C99 _Bool type in scanner. + +2008-03-10 Jürg Billeter <j@bitron.ch> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: (foo_enum_method): + * tools/scanner.c: (g_igenerator_process_function_symbol): + Don't skip functions that are defined in the namespace of a type + that doesn't support methods, as for example enums. + +2008-03-10 Johan Dahlin <johan@gnome.org> + + * gidl.dtd: Remove, we're using relaxng for now + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: + Rename the enum/flags get_type functions to include the whole type. + +2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com> + + * tools/gidlwriter.c (enum_generate): added "type-name", + "get-type" and "deprecated" missing arguments. + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: test enum type, and no type. + +2008-03-06 Johan Dahlin <jdahlin@async.com.br> + + * configure.ac: + Consistent checks, add missing 'test' + +2008-03-05 Havoc Pennington <hp@redhat.com> + + * configure.ac: Take advantage of a libffi.pc if one exists, as it + does on Fedora 8. Make libffi a hard requirement, since it was in + practice anyway (was not really conditional in the code or + makefile, only in configure). + +2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk> + + reviewed by: Rob Taylor <rob.taylor@codethink.co.uk> + reviewed by: Johan Dahlin <johan@gnome.org> + + * tests/Makefile.am: + * tests/roundtrips.sh: + Modify the roundtrips test so that they do not use the + --raw option of the gidl compiler but instead compile a + shared library to use with g_module. + + * tests/invoke/Makefile.am: + * tests/invoke/invoke.c: + Modify the invoke tests to build a shared library rather + than use the --raw option. + + * tests/invoke/invoke-namespace-find.sh: Removed: + Noone knows why this was here, so removed. + +2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/scanner.c: (g_igenerator_process_function_symbol): + Move g_idl_node_can_have_member test later, as it broke spotting + get_type's for nodes that can't have members. + +2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/gidlnode.h: + * tools/gidlnode.c: (g_idl_node_can_have_member): + Add g_idl_node_can_have_member. + + * tools/scanner.c: (g_igenerator_process_function_symbol): + Use g_idl_node_can_have_member to test if we should add a function + as a member of the type node. + +2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk> + + * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl: + * gidl/Makefile.am: + * tests/parser/Makefile.am: + Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl. + +2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/scanner.c: (main): + Ignore -pthread when passed to g-idl-scanner. + +2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk> + + * tools/grealpath.h: Added: + * tools/scanner.c: (main): + * tools/scannerlexer.l: + * tools/Makefile.am: + Always use absolute paths with symbolic links resolved when + comparing filenames. + +2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk> + + * gobject-introspection.pc.in: + Provide variables for g-idl-parser, scanner and compiler in the + pkgconfig file. + +2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk> + + * gcov.mak: + * girepository/Makefile.am: + * tools/Makefile.am: + Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining. + +2008-02-10 Johan Dahlin <johan@gnome.org> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free), + (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method): + Add boxed test. + +2008-02-10 Johan Dahlin <johan@gnome.org> + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type): + Add enum and flags test. + +2008-02-10 Johan Dahlin <johan@gnome.org> + + * Makefile.am: + * configure.ac: + * girepository/Makefile.am: + Make 'make distcheck' work again. + +2008-02-10 Johan Dahlin <johan@gnome.org> + + * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4, + not as-compiler.m4. + + * tests/parser/Makefile.am: Only create Foo.gidl when running make + check, eg exclude it from BUILT_SOURCES. + +2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk> + + * Makefile.am: + * configure.ac: + * gcov.mak: Added: + * girepository/Makefile.am: + * m4/Makefile.am: Added: + * m4/as-compiler-flag.m4: Added: + * m4/gcov.m4: Added: + * tools/Makefile.am: + Add ability to generate a coverage report. + Adds configure option --enable-gcov and make rule 'check-coverage'. + +2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk> + + * Makefile.am: + * configure.ac: + * gidl/Makefile.am: Added: + * girepository/Makefile.am: Added: + * src/Makefile.am: Renamed to tools/Makefile.am: + * src/compiler.c: Renamed to tools/compiler.c: + * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl: + * src/generate.c: Renamed to tools/generate.c: + * src/gidlmodule.c: Renamed to tools/gidlmodule.c: + * src/gidlmodule.h: Renamed to tools/gidlmodule.h: + * src/gidlnode.c: Renamed to tools/gidlnode.c: + * src/gidlnode.h: Renamed to tools/gidlnode.h: + * src/gidlparser.c: Renamed to tools/gidlparser.c: + * src/gidlparser.h: Renamed to tools/gidlparser.h: + * src/gidlwriter.c: Renamed to tools/gidlwriter.c: + * src/gidlwriter.h: Renamed to tools/gidlwriter.h: + * src/ginfo.c: Renamed to girepository/ginfo.c: + * src/ginvoke.c: Renamed to girepository/ginvoke.c: + * src/girepository.c: Renamed to girepository/girepository.c: + * src/girepository.h: Renamed to girepository/girepository.h: + * src/gmetadata.c: Renamed to girepository/gmetadata.c: + * src/gmetadata.h: Renamed to girepository/gmetadata.h: + * src/scanner.c: Renamed to tools/scanner.c: + * src/scanner.h: Renamed to tools/scanner.h: + * src/scannerlexer.l: Renamed to tools/scannerlexer.l: + * src/scannerparser.y: Renamed to tools/scannerparser.y: + * tests/invoke/Makefile.am: + Split src/ into girepository/ and tools/ + + * Makefile.am: + * configure.ac: + * girepository/Makefile.am: + * tests/Makefile.am: + * tests/invoke/Makefile.am: + * tests/parser/Makefile.am: + * tests/roundtrips.sh: + * tools/Makefile.am: + Make distcheck work. + +2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk> + + * tests/invoke/invoke.c: (main): + * tests/invoke/testfns.c: (test6), (test7): + * tests/invoke/testfns.xml: + Add tests for invokation with a GList argument. + Also tests caller-owns return values. + +2008-02-04 Rob Taylor <robtaylor@floopily.org> + + * src/ginfo.c: + Add some documentation for GICallableInfo + +2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk> + + * gidl.dtd: + Correct syntax errors in the DTD file. + * relaxng/api.xml: + * relaxng/c-types.xml: + * relaxng/g-types.xml: + * relaxng/util.xml: + Add a RelaxNG specification for the GObject Introspection XML data. + The Specification has validated all of the test files. + +2008-01-25 Rob Taylor <robtaylor@floopily.org> + + * tests/roundtrips.sh: + * tests/struct.test: + Add roundtrip tests for structs. + +2008-01-11 Johan Dahlin <johan@gnome.org> + + * src/scanner.c (g_igenerator_process_function_symbol): + Refactor out g_idle_node_add_member. + (create_node_from_gtype, create_node_from_ctype): + Use case instead of if...else + (get_type_from_type_id): + Rename to create_node_from_gtype + (get_type_from_ctype): + Rename to create_node_from_ctype + + Rename ginode -> node, gitype -> type, gifunc -> func. + + * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp): + Two new functions, refactor out of scanner.c + + * src/scanner.c: (g_igenerator_process_function_symbol): + * src/scannerlexer.l: + Do not save the content of the deprecated variable, only + if it's set or not. + +2008-01-11 Johan Dahlin <johan@gnome.org> + + * tests/parser/foo-object.h: Add a couple of comment parser tests. + +2008-01-11 Jürg Billeter <j@bitron.ch> + + * src/scannerlexer.l: + Fix GTK-Doc parsing. + +2008-01-11 Jürg Billeter <j@bitron.ch> + + * src/scannerlexer.l: + Fix GTK-Doc parsing. + +2008-01-11 Jürg Billeter <j@bitron.ch> + + * src/scanner.c: (lookup_symbol): + Return unresolved name if we find unknown symbol. + +2008-01-11 Jürg Billeter <j@bitron.ch> + + * src/scanner.c: (g_igenerator_generate): + Initialize GObject to fix scanning interface properties. + + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: (foo_interface_get_type): + Test interfaces with GObject prerequisite. + + * tests/parser/Makefile.am: + Set G_DEBUG=fatal_warnings to abort test on warnings and criticals. + +2007-12-27 Johan Dahlin <johan@gnome.org> + + * src/scannerlexer.l: + Parse gtk-doc comments. + + * src/gidlwriter.c: (function_generate): + Reorganize, avoid duplication and add support for + writing deprecated functions. + + * src/scannerparser.y: + * src/scanner.h: + Add new structure CDirective and functions to create/free them. + + * src/scanner.c: (g_igenerator_process_function_symbol), + (g_igenerator_process_unregistered_struct_typedef), + (g_igenerator_process_struct_typedef), + (g_igenerator_process_union_typedef), + (g_igenerator_process_enum_typedef), + (g_igenerator_process_function_typedef), (g_igenerator_add_symbol), + (g_igenerator_start_preprocessor): + Parse @deprecated directive for functions. + Remove some more C99isms. + Send in -C to cpp to avoid stripping comments. + + * tests/parser/foo-object.h: + * tests/parser/Foo-expected.gidl: + Add deprecated directive + +2007-12-27 Johan Dahlin <johan@gnome.org> + + * src/scannerlexer.l (intsuffix): Add emacs mode line and + escape ' and " so it looks more like C. + + * src/scanner.c: + Unlink temporary file used. + +2007-12-27 Johan Dahlin <johan@gnome.org> + + * src/scanner.c: (g_igenerator_new), (g_igenerator_free), + (g_igenerator_start_preprocessor), (main): + * src/scanner.h: + * src/scannerparser.y: + Plug a couple of simple memory leaks. + +2007-12-27 Johan Dahlin <johan@gnome.org> + + * src/scanner.c: (g_igenerator_parse_macros), + (g_igenerator_start_preprocessor), (g_igenerator_set_verbose), + (main): + * src/scanner.h: + * src/scannerparser.y: + * tests/parser/Makefile.am: + + Improve error reporting, return when the preprocessor fails. + Add a verbose parameter, to aid debugging. + Revert to using a temporary file to communicate between the + preprocessor and the parser, because we need to wait for + the exit code from the pre-processor before starting to parse. + +2007-12-16 Johan Dahlin <jdahlin@async.com.br> + + * src/Makefile.am: Rename clexer.l to scannerlexer.l and + cparser.y to scannerparser.y + +2007-12-11 Johan Dahlin <johan@gnome.org> + + * src/clexer.l: + * src/cparser.y: + * src/scanner.c: (g_igenerator_new): + * src/scanner.h: + Get rid of the global the_generator variable. + +2007-12-10 Johan Dahlin <johan@gnome.org> + + * src/scanner.c (main): Add an output option, + add checks for required parameters + + * src/Makefile.am: + set BUILD_SOURCES and CLEANFILES properly + + * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write), + (g_writer_write_indent), (g_writer_write_unindent), + (field_generate), (value_generate), (constant_generate), + (property_generate), (function_generate), (vfunc_generate), + (signal_generate), (interface_generate), (struct_generate), + (union_generate), (boxed_generate), (enum_generate), + (node_generate), (g_writer_write_module), (g_idl_writer_save_file): + * src/gidlwriter.h: + * src/scanner.c: (g_igenerator_generate): + * src/scanner.h: + * src/scannerwriter.c: + + Refactor scannerwriter to only be tied to a GIdlModule and move + it (again!) to gidlwriter.c. Change the writer function to take + a filename. + +2007-12-10 Johan Dahlin <johan@gnome.org> + + * src/Makefile.am: + * src/scanner.c: (g_igenerator_generate): + * src/scanner.h: + * src/scannerwriter.c: (g_igenerator_write_inline), + (g_igenerator_write), (g_igenerator_write_indent), + (g_igenerator_write_unindent), (field_generate), (value_generate), + (constant_generate), (property_generate), (function_generate), + (vfunc_generate), (signal_generate), (interface_generate), + (struct_generate), (union_generate), (boxed_generate), + (enum_generate), (node_generate), (module_generate), + (g_scanner_write_file): + + Move the scanner gidl writing to a separate source file. + +2007-12-10 Johan Dahlin <johan@gnome.org> + + * src/cparser.y: + * src/scanner.c: + * src/scanner.h: + Move over all CType construction functions. + + * tests/parser/Makefile.am: + Be verbose when printing parsing tests results. + +2007-12-10 Johan Dahlin <johan@gnome.org> + + * src/scanner.c (g_igenerator_start_preprocessor): Refactor + preprocessor handling to here. Start cpp insteado of cc -E, + always include -U__GNUC__, since it's specific to the preprocessor + we use. + + * tests/parser/Makefile.am (check-local): Silent diff and skip + -U__GNUC__ which is always defined now + +2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll> + + reviewed by: <delete if not using a buddy> + + * src/scanner.c: (g_igenerator_start_preprocessor), (main): + * tests/parser/Makefile.am: + +2007-12-09 Johan Dahlin <johan@gnome.org> + + * src/scanner.c: + Use GOption for command line options. + (g_igenerator_new, main): Simplify constructor and they way + parameters are passed into it. + + * src/cparser.y: + * src/Makefile.am: + * src/clexer.l: + * src/cparser.y: + * src/gen-introspect.c: + * src/gen-introspect.h: + * src/scanner.c: + Rename gen-introspect.[ch] to scanner.[ch] + +2007-12-09 Johan Dahlin <johan@gnome.org> + + * TODO: Update + + * src/Makefile.am: Rename gen-introspect to g-idl-scanner, + don't make the repository library and the other utilites link against + gthread-2.0 + + * src/gen-introspect.c: (g_igenerator_create_object), + (g_igenerator_create_interface), (g_igenerator_create_boxed), + (g_igenerator_create_enum), (g_igenerator_create_flags), + (g_igenerator_process_module_symbol), + (g_igenerator_process_module), (g_igenerator_generate), (main): + * src/gen-introspect.h: + Refactor g_igenerator_process_types into smaller pieces. + + * tests/parser/Makefile.am: + Depend on the gen-introspect binary + +2007-12-09 Johan Dahlin <johan@gnome.org> + + * src/gen-introspect.c (g_igenerator_process_types): + Break into smaller pieces, one for each generated node type. + +2007-12-08 Johan Dahlin <johan@gnome.org> + + * src/gen-introspect.c: (g_igenerator_process_types), + (g_igenerator_add_module): + * tests/parser/Foo-expected.gidl: + * tests/parser/foo-object.h: + * tests/parser/foo.c: (foo_subobject_class_init), + (foo_subobject_init): + + Add a subobject test and make sure to register defined classes + in the lookup symbol hash table. + +2007-12-08 Johan Dahlin <johan@gnome.org> + + * gidl/GLib.gidl: + * src/Makefile.am: + * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol), + (g_igenerator_process_types), (g_igenerator_add_module), + (g_igenerator_add_include_idl), (main): + * src/gen-introspect.h: + * tests/parser/Makefile.am: + * tests/parser/Foo-expected.gidl: + + Change the gen-introspect to generate namespaced module names, + such as GLib.Object instead of GObject. + Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned, + add a --include-idl parameter to gen-introspect, + and update the parser test. + +2007-12-08 Johan Dahlin <johan@gnome.org> + + * src/gen-introspect.c: + Move main to the end of the file and attempt to make it valid + ansi c. + + * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here, + we're not quite ready to generate metadata yet. + + * tests/parser/: + * configure.ac: + + Add a simple gen-introspect parser test + +2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org> + + reviewed by: Johan Dahlin <johan@gnome.org> + + * configure.ac: + * gobject-introspection.pc.in: + * src/Makefile.am: + * src/compiler.c: (format_output), (write_out_metadata), (main): + * src/gen-introspect.c: (main): + * src/gen-introspect.h: + * src/generate.c: (write_callable_info), (write_repository), + (load_metadata), (main): + * src/gidlmodule.c: (g_idl_module_new), + (g_idl_module_build_metadata): + * src/gidlmodule.h: + * src/gidlparser.c: (start_element_handler): + * src/ginfo.c: (g_info_new), (g_info_from_entry), + (g_base_info_get_name), (g_base_info_get_namespace), + (g_base_info_is_deprecated), (g_base_info_get_annotation), + (g_base_info_get_metadata), (g_function_info_get_symbol), + (g_function_info_get_flags), (g_function_info_get_property), + (g_function_info_get_vfunc), (signature_offset), (g_type_info_new), + (g_callable_info_may_return_null), + (g_callable_info_get_caller_owns), (g_callable_info_get_n_args), + (g_callable_info_get_arg), (g_arg_info_get_direction), + (g_arg_info_is_return_value), (g_arg_info_is_dipper), + (g_arg_info_is_optional), (g_arg_info_may_be_null), + (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer), + (g_type_info_get_tag), (g_type_info_get_param_type), + (g_type_info_get_interface), (g_type_info_get_array_length), + (g_type_info_is_zero_terminated), + (g_type_info_get_n_error_domains), (g_type_info_get_error_domain), + (g_error_domain_info_get_quark), (g_error_domain_info_get_codes), + (g_value_info_get_value), (g_field_info_get_flags), + (g_field_info_get_size), (g_field_info_get_offset), + (g_registered_type_info_get_type_name), + (g_registered_type_info_get_type_init), + (g_struct_info_get_n_fields), (g_struct_info_get_field), + (g_struct_info_get_n_methods), (g_struct_info_get_method), + (find_method), (g_struct_info_find_method), + (g_enum_info_get_n_values), (g_enum_info_get_value), + (g_object_info_get_parent), (g_object_info_get_type_name), + (g_object_info_get_type_init), (g_object_info_get_n_interfaces), + (g_object_info_get_interface), (g_object_info_get_n_fields), + (g_object_info_get_field), (g_object_info_get_n_properties), + (g_object_info_get_property), (g_object_info_get_n_methods), + (g_object_info_get_method), (g_object_info_find_method), + (g_object_info_get_n_signals), (g_object_info_get_signal), + (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc), + (g_object_info_get_n_constants), (g_object_info_get_constant), + (g_interface_info_get_n_prerequisites), + (g_interface_info_get_prerequisite), + (g_interface_info_get_n_properties), + (g_interface_info_get_property), (g_interface_info_get_n_methods), + (g_interface_info_get_method), (g_interface_info_find_method), + (g_interface_info_get_n_signals), (g_interface_info_get_signal), + (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc), + (g_interface_info_get_n_constants), + (g_interface_info_get_constant), (g_property_info_get_flags), + (g_signal_info_get_flags), (g_signal_info_get_class_closure), + (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags), + (g_vfunc_info_get_offset), (g_vfunc_info_get_signal), + (g_constant_info_get_value), (g_union_info_get_n_fields), + (g_union_info_get_field), (g_union_info_get_n_methods), + (g_union_info_get_method), (g_union_info_is_discriminated), + (g_union_info_get_discriminator_offset), + (g_union_info_get_discriminator): + * src/ginvoke.c: (g_function_info_invoke): + * src/girepository.c: (g_irepository_register), + (g_irepository_unregister), (g_irepository_get_default), + (count_interfaces), (g_irepository_get_n_infos), (find_interface), + (g_irepository_get_info), (g_irepository_find_by_name), + (g_irepository_get_shared_library), + (g_irepository_build_search_path), (g_irepository_register_file), + (g_irepository_error_quark): + * src/girepository.h: + * src/gmetadata.c: (g_metadata_get_dir_entry), + (g_metadata_check_sanity), (validate_header), + (validate_array_type_blob), (validate_iface_type_blob), + (validate_param_type_blob), (validate_error_type_blob), + (validate_type_blob), (validate_arg_blob), + (validate_signature_blob), (validate_function_blob), + (validate_callback_blob), (validate_constant_blob), + (validate_value_blob), (validate_field_blob), + (validate_property_blob), (validate_signal_blob), + (validate_vfunc_blob), (validate_struct_blob), + (validate_enum_blob), (validate_object_blob), + (validate_interface_blob), (validate_errordomain_blob), + (validate_union_blob), (validate_blob), (validate_directory), + (validate_annotations), (g_metadata_validate), (_g_metadata_init), + (g_metadata_new_from_memory), (g_metadata_new_from_const_memory), + (g_metadata_new_from_mapped_file), (g_metadata_free), + (g_metadata_set_module), (g_metadata_get_namespace): + * src/gmetadata.h: + * tests/Makefile.am: + * tests/invoke/Makefile.am: + * tests/invoke/invoke-namespace-find.sh: + * tests/invoke/invoke.c: (main): + + Add a namespace/shared library mapping. fixes #313268. + +2007-12-03 Johan Dahlin <johan@gnome.org> + + * src/gidlparser.c (parse_type_internal): Disable char/gchar and + guchar for now. + +2007-11-30 Jürg Billeter <j@bitron.ch> + + * configure.ac: + * src/Makefile.am: + * src/clexer.l: + * src/cparser.y: + * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new), + (g_igenerator_write_inline), (g_igenerator_write), + (g_igenerator_write_indent), (g_igenerator_write_unindent), + (field_generate), (value_generate), (constant_generate), + (property_generate), (function_generate), (vfunc_generate), + (signal_generate), (interface_generate), (struct_generate), + (union_generate), (boxed_generate), (enum_generate), + (node_generate), (module_generate), (get_type_from_type_id), + (str_replace), (g_igenerator_process_properties), + (g_igenerator_process_signals), (g_igenerator_process_types), + (get_type_from_ctype), (g_igenerator_process_function_symbol), + (g_igenerator_process_unregistered_struct_typedef), + (g_igenerator_process_struct_typedef), + (g_igenerator_process_union_typedef), + (g_igenerator_process_enum_typedef), + (g_igenerator_process_function_typedef), + (g_igenerator_process_constant), (g_igenerator_process_symbols), + (g_igenerator_add_symbol), (g_igenerator_is_typedef), + (g_igenerator_generate), (main), (csymbol_new), + (csymbol_get_const_boolean), (ctype_new), (ctype_copy), + (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new), + (cenum_new), (cpointer_new), (carray_new), (cfunction_new), + (eat_hspace), (eat_line), (read_identifier), + (g_igenerator_parse_macros): + * src/gen-introspect.h: + + Import gen-introspect to generate introspection information by + parsing C headers. + +2007-11-30 Jürg Billeter <j@bitron.ch> + + * src/gidlnode.c: (g_idl_node_new): support creating callback nodes + +2007-11-30 Jürg Billeter <j@bitron.ch> + + * src/gidlparser.c: (end_element_handler): Don't leave requires + state too early. + +2007-11-29 Johan Dahlin <johan@gnome.org> + + * src/gidlparser.c (parse_type_internal): Add char, + gchar and guchar to the builtin types. + +2007-11-26 Johan Dahlin <johan@gnome.org> + + * src/ginfo.c: (g_object_info_get_type_name), + (g_object_info_get_type_init): + * src/girepository.c: (g_irepository_is_registered): + * src/girepository.h: + + Add g_object_info_get_type_name, g_object_info_get_type_init and + g_irepository_is_registered. + +2006-08-14 Jürg Billeter <j@bitron.ch> + + * src/gidlparser.c: (end_element_handler): Don't leave + namespace and implements states too early. + Fixes #351264 + +2007-11-26 Johan Dahlin <johan@gnome.org> + + * src/gmetadata.c (validate_struct_blob): + pass blob_type to validate_function_blob instead of + hard-coding BLOB_TYPE_STRUCT. + + Patch by Torsten Schoenfeld, fixes #314190 + +2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org> + + * src/compiler.c, src/generate.c, src/gidlnode.c, + src/gidlparser.c, src/ginfo.c, src/girepository.c, + tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler + warnings about return values, signedness mismatches, unused + variables, and unhandles enum values in switch statements. + + * tests/invoke/Makefile.am: Don't install the invoke test program. + Add -I ../../src to the cflags used for the test functions files. + +2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org> + + * src/girepository.h: Export g_invoke_error_quark. + +2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org> + + * src/ginvoke.c: Remove the fallback implementation of + g_function_info_invoke since we now formally depend on libffi. + +2005-07-25 Matthias Clasen <mclasen@redhat.com> + + * src/Makefile, tests/Makefile, tests/invoke/Makefile: + Remove these files from cvs, as they are now generated. + + * src/gmetadata.c (validate_iface_type_blob): Don't + complain if blob->pointer is not set, since that + happens for enum and flag types. (#308935, Gustavo + Carneiro) + + * Commit an autoconf-conversion patch by + Gustavo Carneiro (#308708) + +2005-05-24 Matthias Clasen <mclasen@redhat.com> + + * src/compiler.c (main): Use it here to validate + the generated metadata. + + * src/gmetadata.[hc]: Add code to validate a + metadata blob. + + * metadata-format.txt: Updates + +2005-05-22 Matthias Clasen <mclasen@redhat.com> + + * tests/*: Add struct offsets to field and vfunc + elements. + + * src/generate.c (write_vfunc_info): Write offset + information for vfuncs. + + * src/gidlnode.c (g_idl_node_build_metadata): Write + the struct offsets into the metadata. + + * src/gidlparser.c: Parse the offset attributes of + field and vfunc elements. + + * src/gidlnode.h: Add offset members to field and + vfunc nodes. + +2005-05-21 Matthias Clasen <mclasen@redhat.com> + + * TODO: Updates. + + * gidl.dtd: Updates. + + * src/g-idl-offsets.pl: A perl script which reads a .gidl + file, creates, compiles and runs a C file, and folds the + resulting struct offsets back into the .gidl file. + +2005-05-20 Matthias Clasen <mclasen@redhat.com> + + * src/gidlparser.c (start_field): Make fields in objects + work. + + * src/gidlmodule.c: Include string.h + + * TODO: Updates. + : + + * metadata-format.txt: Cleanup basic types. + * src/*: Adapt to the changes. + * tests/*: Adapt to the changes. + * examples/gdk-pixbuf.gidl: Adapt to the changes. + + * src/gidlnode.c (g_idl_node_get_size): Report the correct + size for enum blobs. + (g_idl_node_get_full_size): Report the correct size for + function blobs. + + * src/gidlmodule.c (g_idl_module_build_metadata): Add some + error checking for blob sizes. + +2005-05-19 Matthias Clasen <mclasen@redhat.com> + + * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle + interface types for which is_pointer is FALSE, e.g. enums. + + * src/gidlnode.c (g_idl_node_get_full_size) + * src/gidlparser.c (parse_type_internal): + * src/generate.c (write_type_info): Support unspecialized + lists, hashtables and errors. Also emit a '*' after these. + + * TODO: Updates + +2005-05-17 Matthias Clasen <mclasen@redhat.com> + + * TODO: Updates + + * metadata-format.txt: Cleanups by Maciej Katafiasz. + +2005-05-15 Matthias Clasen <mclasen@redhat.com> + + * src/*.c: Change the directory to be addressed by + 1-based indexes, and use an index of zero to mean + 'no object'. + +2005-05-15 Matthias Clasen <mclasen@redhat.com> + + * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test. + + * tests/union.test: Add a union test. + + * src/generate.c: Handle unions. + + * src/girepository.h: + * src/ginfo.c: Add GIUnionInfo and functions to access it. + + * src/gidlnode.c: Handle GIdlNodeUnion nodes. + + * src/gidlparser.c (start_union): Parse <union> elements. + + * src/gidlnode.h: Add a GIdlNodeUnion. + + * gidl.dtd: Add a <union> element. + + * src/gmetadata.c (g_metadata_check_sanity): Check + union_blob_size. + + * src/gmetadata.h: Add union_blob_size to Header, + add a UnionBlob. + + * metadata-format.txt: Add a UnionBlob. + +2005-05-13 Matthias Clasen <mclasen@redhat.com> + + * tests/*: Update testcases. + + * src/generate.c (write_callable_info): Don't forget to + write transfer and null-ok attributes for return types + and parameters. + + * src/girepository.h: + * src/ginfo.c (g_callable_info_may_return_null): + New function to find out if a function may return NULL. + + * src/compiler.c (format_output): Make the generated + C code compile. + + * README: Point to a recent libffi snapshot. + + * tests/invoke/*: Some invoke tests. + + * src/Makefile: Add ginvoke.c and the necessary + libffi information. + + * src/girepository.h (g_function_info_invoke): Add + a GError argument. + + * src/ginvoke.c (g_function_info_invoke): Initial + implementation of invoke functionality based on libffi. + + * src/gidlnode.c (g_idl_node_build_metadata): Pass the + strings and types hash tables in the right order when + recursing. + (find_entry_node): Free the name parts. + +2005-05-12 Johan Dahlin <johan@gnome.org> + + * src/generate.c: Generate consistent end tags. + + * tests/*: Update + +2005-05-12 Matthias Clasen <mclasen@redhat.com> + + * TODO: Updates + + * src/gidlparser.c (start_function): Actually add + methods to objects. (Steven Walter) + + * src/girepository.h: + * src/ginfo.c: Rename Transfer and Direction to + GITransfer and GIDirection. (Torsten Schoenfeld) + + * tests/*: Make tests work with the changes in name + handling. + + * src/gidlnode.c (find_entry_node): Parse qualified + names and generate xref nodes for them if needed. Don't + require all modules to be loaded any more. + + * src/gidlmodule.c (g_idl_module_build_metadata): Choke + on '.' in names. + + * src/ginfo.c (g_object_info_get_parent): Return NULL + if blob->parent is 0. Still need to make sure index + 0 is not used. + + * src/generate.c: Generate qualified names when + referring to non-local types. Emit transfer attribute + for return types. + + * src/compiler.c (format_output): Put the function + attributes where gcc accepts them. + +2005-05-11 Matthias Clasen <mclasen@redhat.com> + + * src/compiler.c (main): Add a --verbose cmdline option + and only log messages if it is specified. + + * src/gidlnode.h: + * src/gidlnode.c (init_stats, dump_stats): Collect some + statistics on string and type sharing. + + * src/gidlmodule.c (g_idl_module_build_metadata): Use + g_message() instead of fprintf(). + + * src/gidlnode.c (g_idl_node_free): Make this more robust. + (g_idl_node_get_size): Implement for structs. + (g_idl_node_get_full_size): Handle parent being NULL. + (serialize_type): Handle lookup failures more gracefully. + +2005-05-10 Matthias Clasen <mclasen@redhat.com> + + * src/gidlnode.c (g_idl_node_get_full_size): Correct the + size calculation for 2-parameter types and for objects. + + * src/compiler.c: Add a cmdline option for debug output + and install a log handler to implement it. + * src/gidlnode.c: Add some debug spew. + + * TODO: Updates + + * src/gidlmodule.c (g_idl_module_build_metadata): Don't + forget to count the module name when calculating the + required size for the metadata. + + * src/gidlnode.c: + * src/gidlparser.c: Fix compiler warnings. + +2005-05-09 Matthias Clasen <mclasen@redhat.com> + + * src/compiler.c (main): Free the option context. + + * gidl.dtd: Clean up handling of names. All elements + have a "name", only the elements corresponding to + actual callable functions (function, method, constructor), + have an additional "symbol" attribute holding the + dlsym()-able function name. + + * src/generate.c: Adapt to generate xml matching the + new dtd. + + * src/gidlparser.c: + * src/gidlnode.c: Adapt to parse the new dtd. + + * tests/*.test: Adjust to the new dtd. + + * metadata-format.txt: + * src/gmetadata.h: Remove the short_name field + from the ValueBlob. + * src/gmetadata.c: Shrink size of ValueBlob to 12. + * src/girepository.h: + * src/ginfo.c (g_value_info_get_short_name): Removed + +2005-05-09 Matthias Clasen <mclasen@redhat.com> + + * gidl.dtd: Allow constructors for boxed types, + patch by Jonathan Blandford. + + +2005-05-09 Matthias Clasen <mclasen@redhat.com> + + * --- Initial import --- |