Remove hand-rolled generation of .tgir
[platform/upstream/gobject-introspection.git] / ChangeLog
1 2008-11-25  Colin Walters  <walters@verbum.org>
2
3         * tests/scanner/Makefile.am: Remove hand-rolled generation of .tgir; easier
4         to just use a Makefile rule and dependencies.  This corresponds with a change
5         made to gir-repository to fix srcdir != builddir issues.
6
7 2008-11-25  Johan Dahlin  <jdahlin@async.com.br>
8
9         * configure.ac:
10         Post release version bump
11
12 === 0.6.1 ===
13 2008-11-25  Johan Dahlin  <jdahlin@async.com.br>
14
15         * NEWS:
16         Release 0.6.1
17
18 2008-11-25  Colin Walters  <walters@verbum.org>
19
20         Bug 559705 – Missing association between static methods and classes
21
22         * docs/typelib-format.txt:
23         * girepository/ginfo.c (g_function_info_get_flags):
24         * girepository/girmodule.c (g_ir_module_build_typelib):
25         * girepository/girnode.c (g_ir_node_get_size),
26         (g_ir_node_build_typelib):
27         * girepository/girparser.c (start_function):
28         * girepository/gtypelib.c (g_typelib_check_sanity),
29         (validate_header), (validate_function_blob):
30         * girepository/gtypelib.h:
31         * giscanner/ast.py:
32         * giscanner/girwriter.py:
33         * giscanner/glibtransformer.py:
34         * tests/scanner/foo-1.0-expected.gir:
35         * tests/scanner/foo-1.0-expected.tgir:
36         * tests/scanner/foo.h:
37
38 2008-11-25  Johan Dahlin  <jdahlin@async.com.br>
39
40         * giscanner/ast.py: Define socklen_t as an alias for int32.
41
42 2008-11-24  Johan Dahlin  <jdahlin@async.com.br>
43
44         * girepository/gdump.c (dump_type): Remove a warning,
45         be less verbose on error on fundamental types.
46
47 2008-11-23  Johan Dahlin  <jdahlin@async.com.br>
48
49         * giscanner/dumper.py: Add license headers,
50         refactor into a class, avoid some duplication and do some
51         extra pedantic checks.
52
53 2008-11-23  Johan Dahlin  <jdahlin@async.com.br>
54
55         Make it compilable with -Werror on my system by adding
56         a couple of prototypes and including headers.
57
58 2008-11-23  Johan Dahlin  <jdahlin@async.com.br>
59
60         Bug 562022 – gobject-introspection needs python headers
61
62         * configure.ac: fail without python headers present.
63         Patch by: Tom Parker
64
65 2008-11-21  Johan Dahlin  <jdahlin@async.com.br>
66
67         Bug 561617 – Return value array annotations
68
69         * giscanner/transformer.py:
70         * tests/scanner/annotation.c (annotation_return_array):
71         * tests/scanner/annotation.h:
72         Add support for (array) for return value annotations as well.
73
74 2008-11-20  Johan Bilien  <jobi@via.ecp.fr>
75
76         * tests/everything/everything.[ch]: add a test function which calls a
77         closure.
78
79 2008-11-19  Johan Dahlin  <jdahlin@async.com.br>
80
81         * giscanner/cachestore.py:
82         Catch ValueError exceptions.
83
84 2008-11-18  Tommi Komulainen  <tommi.komulainen@iki.fi>
85
86         * tests/scanner/Makefile.am (barapp_SOURCES): fix builddir != srcdir
87
88 2008-11-18  Andreas Rottmann  <a.rottmann@gmx.at>
89
90         * girepository/girnode.c (g_ir_node_build_typelib): Use sizeof()
91         instead of hard-coding struct sizes.
92
93 2008-11-18  Owen Taylor <otaylor@redhat.com>
94
95         Bug 561296 - Add "storage type" to the typelib data for enums
96
97         In order to set and get enum and flag fields in structures, we need
98         to know the integral type that the enumeration is stored as. We are already
99         computing that at compile time in order to compute struct offsets, so the
100         easiest thing to do is to save that in the typelib.
101
102         * docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c
103         girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob
104         and compute and save it at compile time.
105
106         * girepository/girepository.h girepository/ginfo.c:
107         Add g_enum_info_get_storage_type().
108
109         * girepository/gfield.c: Implement reading and writing enum and flags fields
110         based on the storage type.
111
112 2008-11-18  Owen Taylor <otaylor@redhat.com>
113
114         Add enums to the Everything test module
115
116         * tests/everything/everything.[ch]: Add TestEnum and TestFlags to the Everything
117         test module and register them as GTypes.
118
119         https://bugzilla.gnome.org/show_bug.cgi?id=561296
120
121 2008-11-18  Johan Dahlin  <jdahlin@async.com.br>
122
123         * giscanner/cachestore.py:
124         Catch BadPickleGet exceptions as well.  
125
126 2008-11-17  Owen Taylor  <otaylor@redhat.com>
127
128         * tests/everything/everything.c: Fix doc comment annotations
129         for test_struct_b_clone() to refer to the right function.
130
131 2008-11-17  Dan Winship  <danw@gnome.org>
132
133         * giscanner/glibtransformer.py (GLibTransformer.__init__): fix
134         spelling of GHashTable. #561135
135
136         * tests/scanner/annotation.c (annotation_object_get_hash):
137         * tests/scanner/annotation-1.0-expected.gir:
138         * tests/scanner/annotation-1.0-expected.tgir: add a test of
139         GHashTable annotations
140
141 2008-11-17  Andreas Rottmann  <a.rottmann@gmx.at>
142
143         * giscanner/ast.py: Change string array match type to be in terms
144         of canonicalized type.
145         * giscanner/transformer.py: Add canonicalize_ctype which gives us
146         a version of a c:type without aliases, so we can deep canonicalize
147         char** to utf8*.  Update parse_ctype to use it.
148         * tests/*: Add gtk_init like int*/char*** arg functions for testing.
149
150 2008-11-16  Colin Walters  <walters@verbum.org>
151
152         * girepository/girepository.c: Ensure we always call init_globals,
153         even if passed a non-default repository.
154
155 2008-11-16  Colin Walters  <walters@verbum.org>
156
157         Bug 559706 - Interface prerequisites
158
159         * common.mk: Dep on libgirepository.la for scanner libs so that
160         we rebuild things even if just gdump.c changes.
161         * girepository/gdump.c: Dump prerequisites.
162         * giscanner/ast.py: Add prerequisite list.
163         * giscanner/girparser.py: Parse them from gdump.
164         * giscanner/girwriter.py: Write them.
165         * giscanner/glibtransformer.py: Resolve them.
166         * tests/*: Test.
167
168 2008-11-16  Owen Taylor  <otaylor@redhat.com>
169
170         Bug 561087 - Respect is_pointer in serialize_type()
171
172         Add a '*' to the serialization for the cases where we set is_pointer
173         in the type blob we write out depending on node->is_pointer. Don't
174         add the '*' in the cases where is_pointer is set or not set in a
175         fixed fashion.
176
177         http://bugzilla.gnome.org/show_bug.cgi?id=561087
178
179 2008-11-16  Owen Taylor  <otaylor@redhat.com>
180
181         Bug 560825 – Add size and alignment to typelib
182
183         Include the size and alignment of structures and unions in the typelib,
184         and add getter methods to retrieve them from GIStructInfo/GIUnionInfo.
185
186         * docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c
187         girepository/girmodule.c girepository/gtypelib.c: Add size and alignment
188         to StructBlob and UnionBlob.
189
190         * girepository/ginfo.c girepository/girepository.h:
191         Add g_[struct|union]_get[size|alignment]().
192
193         * test/offsets/gen-gitestoffsets: Test overall structure size and alignment.
194
195 2008-11-16  Owen Taylor  <otaylor@redhat.com>
196
197         Bug 552371 – implement struct field get/set
198
199         * girepository/gfield.c girepository/girepository.h: Add
200         convenience functions g_field_info_set_field() and
201         g_field_info_get_field() to set and get fields based on the
202         offsets in GIFieldInfo.
203
204 2008-11-16  Andreas Rottmann  <a.rottmann@gmx.at>
205
206         Bug 560241 - Out-arguments should not be marked as being pointers
207         in all cases
208
209         * girepository/girparser.c: Improved logic for out arguments.
210
211 2008-11-16  Andreas Rottmann  <a.rottmann@gmx.at>
212
213         Bug 559601 - Pointers in structs/unions unduly treated as arrays
214
215         * giscanner/transformer.py: Differentiate type creation logic
216         between parameters and struct components.
217
218 2008-11-15  Colin Walters  <walters@verbum.org>
219
220         * giscanner/dumper.py: Check return code from pkg-config
221         invocations.
222
223 2008-11-14  Johan Dahlin  <jdahlin@async.com.br>
224
225         * tests/everything/everything.c (test_array_int_in),
226         (test_array_gtype_in):
227         * tests/everything/everything.h:
228         Rename the int/gtype array tests. Make the return value
229         useful, an aggregation of the array input values.
230
231 2008-11-14  Johan Dahlin  <jdahlin@async.com.br>
232
233         * tests/everything/Makefile.am:
234         * tests/everything/everything.c:
235         * tests/everything/everything.h:
236         * tests/everything/gitesttypes.c:
237         * tests/everything/gitesttypes.h:
238         Rename gitesttypes.[ch] to everything.[ch]
239
240 2008-11-13  Andreas Rottmann  <a.rottmann@gmx.at>
241
242         Bug 560708 – Don't treat arrays that have a length specified as
243         zero-terminated by default
244
245         * giscanner/transformer.py: Default to non zero terminated for
246         arrays with length.
247         * tests/*: Update, add test for zero vs not.
248
249 2008-11-13  Andreas Rottmann  <a.rottmann@gmx.at>
250
251         Bug 557788 - Return types for constructors in generated typelib bogus
252
253         * girepository/girnode.c: Namespace-qualify XREFs; not doing so is
254         obviously broken in the face of duplicate names in different
255         namespaces.
256         * tests/scanner/*expected.gir: Fix up.
257
258 2008-11-13  Owen Taylor  <otaylor@redhat.com>
259
260         * girepository/girffi.c: Fix  "Unexpected time for time_t"
261         message.
262
263 2008-11-13  Colin Walters  <walters@verbum.org>
264
265         Bug 558436 - avoid having scanner load app code
266
267         * giscanner/cgobject.py: Delete; we no longer load shared
268         libraries directly.
269         * giscanner/dumper.py: Support for linking a library to
270         a stub binary for introspection.
271         * giscanner/glibtransformer.py: Rewrite to use gdump XML
272         from invocation of child binary.
273         * giscanner/transformer.py: Fix up to use fully qualified
274         name in parse tree.  Make parse_ctype public so we can use
275         it inside glibtransformer.
276         * tests/scanner/barapp.c: New test, using --program arg
277         for g-ir-scanner.
278         * tests/*: Update to use common.mk for invoking scanner.
279         * tools/g-ir-scanner: Add options --program, --program-arg,
280         and --no-libtool.
281         * docs/g-ir-scanner.1: Update.
282
283 2008-11-13  Colin Walters  <walters@verbum.org>
284
285         * configure.ac: Depend on Gio, we use it in gdump.c.
286         * girepository/gdump.c: Code to dump GType data to XML.
287         * girepository/girepository.c: Add option group for dumping.
288         * girepository/girepository.h: Define API for the above.
289
290 2008-11-13  Colin Walters  <walters@verbum.org>
291
292         * common.mk: Add a file to include with Makefile fragments
293         useful for scanner invocation.
294
295 2008-11-13  Tommi Komulainen  <tommi.komulainen@iki.fi>
296
297         * tests/everything/gitesttypes.c (test_filename_return): Return
298         strings in filename encoding.
299
300 2008-11-13  Owen Taylor  <otaylor@redhat.com>
301
302         Bug 560253 – Add structure and boxed types to Everything test module
303
304         * tests/everything/gitesttypes.[ch]: Add examples of:
305
306           Plain old data structs
307           Plain old data structs with nested fields
308           Plain old data boxed
309           Plain old data boxed with nested fields
310           More complicated boxed types with internal state
311
312 2008-11-12  Johan Dahlin  <jdahlin@async.com.br>
313
314         * tests/everything/gitesttypes.c (test_gtype_in):
315         * tests/everything/gitesttypes.h:
316         Add a test of GType arrays, a la gtk_list_store_set_columns.
317
318 2008-11-12  Owen Taylor  <otaylor@redhat.com>
319
320         Bug 560419 – Cache includes when parsing
321
322         Keep track of all modules parsed within a GIrParser, and when a
323         module is referenced a second time, use the existing parsed copy
324         instead of reparsing.
325
326 2008-11-12  Owen Taylor  <otaylor@redhat.com>
327
328         Fix management of ParseContext.includes_modules (#560419)
329
330         * girepository/girparser.c: Fix some trivial bugs in managing the
331         list of include modules. (Add to module's list twice, not
332         initialized to NULL, not freed.)
333
334 2008-11-12  Owen Taylor  <otaylor@redhat.com>
335
336         Keep aliases and disguised_structures local to each module (#560419)
337
338         * girepository/girmodule.[ch]: When parsing, keep keep a separate
339         hash tables of aliases and 'disguised' flags for each module, and
340         store that on the module.
341
342         After parsing an include merge the aliases/disguised flags to the
343         including module.
344
345         * girepository/girparser.c: Remove 'prefix_aliases' flag and
346         always prefix aliases/disguised structure types when parsing; this
347         simplifies the code considerably.
348
349 2008-11-12  Owen Taylor  <otaylor@redhat.com>
350
351         Fix mismatches between .gir name and 'name' attribute (#560419)
352
353         * tests/boxed.gir tests/constant.gir tests/enum.gir tests/invoke/invoke.c
354         tests/invoke/testfns-1.0.gir tests/object.gir tests/struct.gir: Fix places
355         where the 'name' element of <namespace/> didn't match the filename of the
356         gir, an assumption that the compiler has always expected and now enforces.
357
358 2008-11-12  Owen Taylor  <otaylor@redhat.com>
359
360         Only allow one <namespace/> element per <repository/> (#560419)
361
362         * girepository/girparser.c: The logic in girparser.c didn't work
363         very well if there were multiple <namespace/> nodes within a
364         single <repository/> (context->namespace was always the overall
365         filename and not the the name specified in the <namespace/>
366         element for one thing; this would cause aliases to be mis-prefixed
367         in include modules.) Also check that the "name" in the
368         <namespace/> node matches the filename.
369
370 2008-11-12  Owen Taylor  <otaylor@redhat.com>
371
372         Add a GirParser object to hold the state of a compilation
373
374         * girepository/girparser.[ch] tools/compiler.c: Add a toplevel
375         GirParser object to hold state that is global across a
376         compilation. Currently just holds the include path, but will
377         eventually also keep a cached list of parsed modules.
378
379 2008-11-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
380
381         * girepository/girepository.c (find_namespace_latest): Fix
382         minor memory leak.
383
384 2008-11-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
385
386         * configure.ac: use 'introspection' component for bugs
387
388 2008-11-12  Johan Dahlin  <jdahlin@async.com.br>
389
390         * tests/everything/gitesttypes.c (test_filename_return):
391         * tests/everything/gitesttypes.h:
392         Add a filename return test.
393
394 2008-11-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
395
396         * tests/offsets/Makefile.am (gitestoffsets.c): fix
397         gen-gitestoffsets invocation with builddir != srcdir
398
399 2008-11-12  Johan Dahlin  <jdahlin@async.com.br>
400
401         * girepository/girepository.c:
402         Change the element type from utf8 to filename
403         * girepository/girnode.c (g_ir_node_build_typelib):
404         Special case filename equally to utf8 here.
405
406 2008-11-12  Johan Dahlin  <jdahlin@async.com.br>
407
408         * gir/Makefile.am:
409         Remove unused variables, add a dependency of girepository.ch, so when
410         they change we rebuild the gir automatically.
411
412 2008-11-12  Johan Dahlin  <jdahlin@async.com.br>
413
414         * girepository/girepository.c (g_irepository_get_search_path):
415         * girepository/girepository.h:
416         Add a g_irepository_get_search_path, so we can access the search
417         paths from runtime.
418
419 2008-11-12  Johan Bilien  <jobi@via.ecp.fr>
420
421         Bug 560474 – g-ir-compiler crashes when compiling the glib gir
422
423         * girepository/girparser.c: avoid freeing an uninitialized pointer
424
425 2008-11-12  Johan Dahlin  <jdahlin@async.com.br>
426
427         * gir/Makefile.am:
428         * giscanner/glibtransformer.py:
429         * tools/g-ir-scanner:
430         Add a GIRepository-2.0.gir. Change the libtool lookup slightly
431         so we can just pass in --library=foo/bar/baz.la and the scanner
432         does the right thing.
433         Don't warn for _get_type() functions if they don't take any
434         parameters
435
436 2008-11-11  Owen Taylor  <otaylor@redhat.com>
437
438         Bug 560404 – Prefix types when resolving aliases in included modules
439
440         * girepository/girparser.c: When resolving aliases in an included
441         module, prefix types before looking them up.
442
443 2008-11-11  Owen Taylor  <otaylor@redhat.com>
444
445         Compute field offsets and overall size for object structures
446
447         Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer
448         field of type object in structure"
449
450         Do basic computation of field offsets for objects and interfaces;
451         this doesn't attempt to address all of the "mess" for virtual
452         functions described in Bug 560281.
453
454 2008-11-11  Tommi Komulainen  <tommi.komulainen@iki.fi>
455
456         Bug 560308 – g-ir-compiler goes in infinite loop on Gdk-2.0.gir
457
458         Based on patch by Johan Bilien.
459
460         * giscanner/transformer.py (_create_member, _create_parameter):
461         Resolve types here as well.
462         (_resolve_type_name_1): Try resolving using 'ctype' first since
463         it's least ambiguous. Fixes struct member type resolution with
464         similarly named types, e.g. Gdk.PangoRendererClass and
465         Pango.RendererClass
466         * tests/scanner/foo*: Add test.
467
468 2008-11-11  Owen Taylor  <otaylor@redhat.com>
469
470         * girepository/girparser.c: Search provided include dirs before
471         the default directories.
472
473 2008-11-11  Owen Taylor  <otaylor@redhat.com>
474
475         * girepository/giroffsets.c: Include fully-qualified names in
476         all error messages.
477
478 2008-11-11  Owen Taylor  <otaylor@redhat.com>
479
480         * girepository/giroffsets.c: Fail gracefully with an informative
481         error message when recursion is encountered when computing a 
482         structure size.
483
484 2008-11-11  Owen Taylor  <otaylor@redhat.com>
485
486         * girepository/girparser.c: Remove an unused variable.
487
488 2008-11-10  Owen Taylor <otaylor@redhat.com>
489
490         Add tests for field offset computations
491
492         * tests/offsets/offsets.h: Header file with structure definitions to test
493
494         * tests/offsets/gen-gitestoffsets: Generate a C program that computes
495         field offsets for the structures in offsets.h two ways: using
496         the information from a generated typelib, and as computed by the
497         compiler.
498
499         We diff these two versions to test that everything is OK.
500
501 2008-11-10  Owen Taylor <otaylor@redhat.com>
502
503         Remove field offsets from g-ir-generate output and test inputs
504
505         Field offsets are a) architecture dependent so they shouldn't be part
506         of the architecture-independent gir format which is installed in
507         datadir. b) Are architecture-dependent so they shouldn't be in test
508         expected output.
509
510         * girepository/girparser.c: Don't parse offset for fields
511         * tools/generate.c: Don't parse offset for fields
512         * tests/*.gir test/scanner/*.tgir: Remove offsets
513
514         (Virtual function and discriminator offsets are not removed, as they
515         aren't fully hooked up to the field-offset computation machinery yet.)
516
517 2008-11-10  Owen Taylor <otaylor@redhat.com>
518
519         Bug 560252 - Compute field offsets before writing typelib
520
521         * girepository/girnode.h: Store the total size and alignment for
522         GIrNodeStruct/Boxed/Union.
523
524         * girepository/giroffset.c: New file implementing computation of
525         structure field offsets.
526
527         * girepository/girnode.c: Compute structure field offsets before
528         writing types into the typelib.
529
530         * docs/typelib-format.txt: Document that a field offset of 0xFFFF
531         means "unknown". Also fix description of the discriminator_offset
532         field for unions.
533
534 2008-11-10  Owen Taylor <otaylor@redhat.com>
535
536         Bug 560250 - Fully parse included modules
537
538         For some things, like computing structure offsets to put into the typelib
539         we need more than just the aliases from included modules. Do a completel
540         parse of included modules and store in module->included_modules.
541
542         Also add g_ir_find_node() to find node information from within the
543         active set of modules and their includes.
544
545 2008-11-10  Owen Taylor <otaylor@redhat.com>
546
547         Split g_ir_ffi_get_ffi_type() out from ginvoke.c
548
549         Extract a function to convert GITypeTag to ffi_type from the internals
550         of ginvoke.c. This will be useful in figure out structure alignment.
551
552         Also fix handling of gsize and time_t to be portable. (Add a check
553         to configure.ac to figure out the width of time_t.)
554
555 2008-11-10  Owen Taylor <otaylor@redhat.com>
556
557         Bug 560248 – "disguised structures"
558
559         Certain types like GIConv and GdkAtom are pointers internally but don't
560         look like pointers when referenced. They have the form.
561
562           typedef struct _X *X;
563
564         Parse these as structures/records but mark them in the gir with a 'disguised'
565         attribute so that we know that they need special handling.
566
567         In the typelib treat them like any other structure.
568
569 2008-11-09  Jürg Billeter  <j@bitron.ch>
570
571         * giscanner/ast.py:
572         * giscanner/girwriter.py:
573
574         Write throws attribute for virtual functions, fixes bug 559703
575
576 2008-11-07  Johan Dahlin  <jdahlin@async.com.br>
577
578         * giscanner/libtoolimporter.py (LibtoolImporter.find_module): Clear
579         up some confusion about the second argument to find_module, it's
580         actually the packages __path__ attribute which we can safely ignore
581         for our purposes.
582         (LibtoolImporter.load_module): Set module.__loader__ as per PEP 302.
583
584 2008-11-07  Owen Taylor  <otaylor@redhat.com>
585
586         Bug 559737 – Deal with continuations in macros
587
588         * giscanner/giscannerlexer.l: Treat continuation lines the same
589         as regular newlines. This makes the scanner not complain about
590         #define foo(x) \ <stuff> inside a C file. There's no attempt
591         however to handle parsing macro definitions split across lines.
592
593 2008-11-07  Johan Dahlin  <jdahlin@async.com.br>
594
595         * giscanner/cachestore.py:
596         Handle broken cache entries, write only filesystems and
597         running out of diskspace.
598
599 2008-11-07  Owen Taylor  <otaylor@redhat.com>
600
601         * giscanner/giscannermodule.c (pygi_source_scanner_lex_filename):
602         Set current_filename before lexing the file so error messages
603         are reported in the right file.
604
605 2008-11-06  Colin Walters  <walters@verbum.org>
606
607         * tests/everything/*: Add some tests for strv.
608
609 2008-11-05  Colin Walters  <walters@verbum.org>
610
611         * girepository/ginvoke.c (g_function_info_invoke): Don't use
612         nested scope local variable for error which may go away after
613         conditional is complete.
614
615 2008-11-05  Colin Walters  <walters@verbum.org>
616
617         * giscanner/scannerlexer.l: Avoid static 256 char buf which we
618         manipulate hackily; just use GString.  This avoids an
619         uninitialized memory read pointed out by Havoc.
620
621 2008-11-04  Johan Dahlin  <jdahlin@async.com.br>
622
623         * giscanner/__init__.py:
624         * giscanner/ast.py:
625         * giscanner/cachestore.py:
626         * giscanner/cgobject.py:
627         * giscanner/girparser.py:
628         * giscanner/girwriter.py:
629         * giscanner/giscannermodule.c:
630         * giscanner/glibast.py:
631         * giscanner/glibtransformer.py:
632         * giscanner/libtoolimporter.py:
633         * giscanner/minixpath.py:
634         * giscanner/odict.py:
635         * giscanner/sourcescanner.c:
636         * giscanner/sourcescanner.h:
637         * giscanner/sourcescanner.py:
638         * giscanner/transformer.py:
639         * giscanner/utils.py:
640         * giscanner/xmlwriter.py:
641         * COPYING:
642         Relicense the giscanner library under LGPLv2+.
643         This has been approved by all contributors.
644
645 2008-11-01  Owen Taylor  <otaylor@redhat.com>
646
647         Bug 558848 giparser.py: shared library should be optional
648
649         When parsing a .gir, allow the shared-library attribute
650         of <namespace/> to be missing: this corresponds to the handling
651         in libgirepository and elsewhere.
652
653 2008-11-01  Tommi Komulainen  <tommi.komulainen@iki.fi>
654
655         Bug 557898 – Fails to build on OSX 10.4
656
657         * configure.ac: Check for $shrext_cmds that should be implicitly
658         available if you're using libtool >= 2.0. If undefined, call
659         libtool --config explicitly to get its value.
660         * girepository/gtypelib.c: Remove special case for (non-)Darwin
661         systems as unneeded.
662
663 2008-10-31  Colin Walters  <walters@verbum.org>
664
665         * COPYING, COPYING.lib, COPYING.tools: Clarify licensing status.
666
667 2008-10-31  Johan Dahlin  <jdahlin@async.com.br>
668
669         * configure.ac: Post release version bump
670
671 === 0.6.0 ===
672 2008-10-31  Johan Dahlin  <jdahlin@async.com.br>
673
674         * NEWS:
675         * configure.ac:
676         * docs/release-checklist.txt:
677         0.6.0
678
679 2008-10-31  Johan Dahlin  <jdahlin@async.com.br>
680
681         * Makefile.am: add an upload-release target
682         * docs/release-checklist.txt:
683         Release process documentation
684
685 2008-10-31  Colin Walters  <walters@verbum.org>
686
687         Bug 558109 – _g_typelib_init fails to find shared libraries
688
689         * transformer/glibtransformer.py: Use ctypes' find_library
690         on passed libraries and write that for the shared-library
691         entry.  We want to avoid depending on -devel packages.
692
693 2008-10-31  Johan Dahlin  <jdahlin@async.com.br>
694
695         * docs/g-ir-scanner.1:
696         Document the renaming options.
697
698 2008-10-31  Tommi Komulainen  <tommi.komulainen@iki.fi>
699
700         * giscanner/Makefile.am:
701         * tests/invoke/Makefile.am:
702         * tests/repository/Makefile.am: List in-tree libraries first in
703         LDADD / LIBADD. If installed library is listed first, the
704         resulting binary will prefer installed version to one in .libs,
705         possibly making 'make check' behave strangely.
706
707 2008-10-30  Tommi Komulainen  <tommi.komulainen@iki.fi>
708
709         * giscanner/ast.py: map 'id' (ObjC) to 'any' type to stop
710         gir-repository from choking with gdk/quartz
711
712 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
713
714         * giscanner/giscannermodule.c (calc_attrs_length),
715         (pygi_collect_attributes):
716         * giscanner/xmlwriter.py:
717         Write a C version of the xml namespace formatter.
718         Saves 15% of the time it takes to create a gtk gir.
719
720 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
721
722         * giscanner/xmlwriter.py: Abstract attribute formatting
723         to a function external to the XMLWriter class.
724
725         * giscanner/scannerlexer.l:
726         Parse and discard __typeof and __attribute.
727
728 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
729
730         * giscanner/girparser.py:
731         Remove arguments from the constructor, move them to
732         separate accessors. Add a new parse_tree method
733         which takes an element tree instance.
734         * tools/g-ir-scanner:
735         Update callsite for this
736
737         * giscanner/Makefile.am:
738         * giscanner/cachestore.py:
739         * giscanner/transformer.py:
740         Cache the include parsing. Saves ~25% time when
741         creating vte (which includes everything up to gtk+).
742
743 2008-10-30  Colin Walters  <walters@verbum.org>
744
745         * giscanner/transformer.py: Don't reparse includes
746         we've already processed.
747
748 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
749
750         * giscanner/girparser.py:
751         * giscanner/transformer.py:
752         Avoid parsing parameters, types etc when parsing
753         includes. Should speed up include parsing a bit.
754
755 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
756
757         * giscanner/girparser.py:
758         Avoid big if/else and use a dispatch table like
759         approach.
760
761 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
762
763         * giscanner/transformer.py:
764         Clean up include parsing and registration.
765
766 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
767
768         * giscanner/transformer.py:
769         Clean up imports
770
771 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
772
773         Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed
774
775         * gir/Makefile.am:
776         construct PYTHONPATH just once
777
778         * tests/everything/Makefile.am:
779         * tests/scanner/Makefile.am:
780         add $(top_srcdir) to PYTHONPATH to
781         handle builddir != srcdir
782
783         * giscanner/libtoolimporter.py:
784         * giscanner/sourcescanner.py:
785         Make the libtoolimporter work when distchecking too.
786
787         Mostly based on patch by Tommi Komulainen
788
789 2008-10-29  Owen Taylor  <otaylor@redhat.com>
790
791         * giscanner/glibtransformer.py: If a filename of an existing
792         file is passed to --library, hunt for it directly, rather than
793         searching for a corresponding library.
794
795 2008-10-29  Johan Dahlin  <jdahlin@async.com.br>
796
797         * giscanner/libtoolimporter.py:
798         * giscanner/sourcescanner.py:
799         Clean up the libtool importer a bit. Add a context so we
800         can use it through a with statement.
801         Don't just look in the current directory, look in the whole
802         sys.path.
803
804 2008-10-29  Tommi Komulainen  <tommi.komulainen@iki.fi>
805
806         Bug 558065 – gitesttypes should be installed
807
808         * configure.ac:
809         * tests/Makefile.am:
810         * tests/types/Makefile.am   -> tests/everything/Makefile.am
811         * tests/types/gitesttypes.c -> tests/everything/gitesttypes.c
812         * tests/types/gitesttypes.h -> tests/everything/gitesttypes.h
813         move tests/types to tests/everything
814
815         * tests/everything/Makefile.am: build normal shared library
816         libgirepository-everything.so.1.0.0 and corresponding typelib
817         Everything-1.0.typelib
818
819         * tests/everything/Makefile.am: explicitly link libtool
820         versioning with typelib versioning with variables
821
822 2008-10-28  Johan Bilien  <jobi@via.ecp.fr>
823
824         * tools/g-ir-scanner: add LD_LIBRARY_PATH to LPATH before calling ld.
825
826 2008-10-27  Johan Bilien  <jobi@via.ecp.fr>
827
828         * gio/gio-2.0.c: add allow-none annotations, based on the pygobject
829         .defs file
830
831 2008-10-27  Johan Bilien  <jobi@via.ecp.fr>
832
833         Bug 558068 – when invoking a method, offset the in arguments by one,
834         not the out
835
836         * tests/invoke/invoke.c, tests/invoke/testfns.c,
837         tests/invoke/testfns-1.0.gir: Add testing of method and constructor.
838         * girepository/ginvoke.c: do not offset the index of given out
839         arguments by one for methods, "this" is provided as in argument only.
840
841 2008-10-27  Johan Bilien  <jobi@via.ecp.fr>
842
843         * gir/gio-2.0.c: add annotation for g_file_delete
844
845 2008-10-27  Tommi Komulainen  <tommi.komulainen@iki.fi>
846
847         Bug 558062 – provide and use paths in the .pc file
848
849         * gobject-introspection-1.0.pc.in: provide typelibdir variable
850         for where .typelibs should be installed (callers shouldn't need
851         to construct paths from bits and pieces)
852
853 2008-10-25  Andreas Rottmann  <a.rottmann@gmx.at>
854
855         Bug 557791 – g_irepository_require() could return a GTypelib *
856
857         * girepository/girepository.c: Return GTypelib; this is useful
858         for low level manipulation.
859
860 2008-10-25  Colin Walters  <walters@verbum.org>
861
862         Bug 557788 – Return types for constructors in generated typelib bogus
863
864         * giscanner/glibtransformer.py: Don't resolve ctors incrementally,
865         rely on end pass resolution.
866
867 2008-10-25  Andreas Rottmann  <a.rottmann@gmx.at>
868
869         Bug 557786 - support fixed size arrays
870
871         * girepository/ginfo.c: Add g_type_info_get_array_fixed_size.
872         * giscanner/scannerparser.y: Retain fixed array size.
873         * giscanner/ast.py: Add to note.
874         * giscanner/girwriter.py: Write to gir.
875         * girepository/girnode.c: Write it to typelib.
876         * tools/generate.c: Generate.
877         * tests/*: Add tests.
878
879 2008-10-25  Colin Walters  <walters@verbum.org>
880
881         Bug 557076 - move typelibs to $libdir
882
883         * configure.ac: Steal some configury bits from dbus to expand
884         libdir.
885         * gir/Makefile.am: Move to libdir.
886         * girepository/girepository.c: Stop searching XDG_DATA_DIRS;
887         instead just look at one hardcoded path in libdir.
888         * acinclude.m4: Bits from dbus.
889
890 2008-10-24  Johan Dahlin  <johan@gnome.org>
891
892         * girepository/girnode.c (g_ir_node_check_unhandled_members):
893         Be quiet, do not warn about unhandled members.
894
895 2008-10-24  Johan Dahlin  <johan@gnome.org>
896
897         * girepository/gtypelib.c:
898         Only use SHLIB_SUFFIX on darwin, otherwise use
899         G_MODULE_SUFFIX, we cannot get shext_cmds from libtool 2.2.
900
901 2008-10-24  Lucas Rocha  <lucasr@gnome.org>
902
903         Bug 557623 - Constructors shouldn't be flagged as methods.
904
905         * girepository/ginfo.c (g_function_info_get_flags): ditto.
906
907 2008-10-24  Johan Dahlin  <johan@gnome.org>
908
909         * giscanner/scannerparser.y:
910         Check against division by zero for the modula operator.
911         This fixes header parsing of OSX system headers included
912         by libsoup.
913
914 2008-10-24  Johan Dahlin  <johan@gnome.org>
915
916         * CONTRIBUTORS:
917         * Makefile.am:
918         Add a CONTRIBUTORS file and dist it.
919
920 2008-10-23  Tommi Komulainen  <tommi.komulainen@iki.fi>
921
922         Bug 556739 – transfer-ownership attribute should be mandatory in .gir
923
924         * girepository/girparser.c (parse_param_transfer):
925         * giscanner/transformer.py (_create_parameter, _create_return):
926         * giscanner/girwriter.py (_write_return, _write_parameter):
927         * tools/generate.c (write_callable_info): always write and
928         require "transfer-ownership" for return-values and parameters
929
930         * tests/boxed.gir:
931         * tests/invoke/testfns-1.0.gir:
932         * tests/object.gir:
933         * tests/scanner/DrawableAdditions.xml:
934         * tests/scanner/GtkFrob-1.0-expected.tgir:
935         * tests/scanner/annotation-1.0-expected.tgir:
936         * tests/scanner/drawable-1.0-expected.tgir:
937         * tests/scanner/drawable-injected-1.0-expected.gir:
938         * tests/scanner/drawable-injected-1.0-expected.tgir:
939         * tests/scanner/foo-1.0-expected.tgir: Updated
940
941 2008-10-23  Tommi Komulainen  <tommi.komulainen@iki.fi>
942
943         * giscanner/cgobject.py: build fundamental types same way as glib
944
945         * giscanner/glibtransformer.py (_type_from_gtype): record GType
946         when constructing the Type from it
947
948         * giscanner/glibtransformer.py (_adjust_transfer): Check whether
949         the parameter is a GObject from its GType, if available.
950
951         * giscanner/glibtransformer.py (_adjust_transfer):
952         * tests/scanner/foo-1.0-expected.gir:
953         * tests/scanner/foo-1.0-expected.tgir: deduce
954         transfer-ownership from GTypes
955
956 2008-10-23  Tommi Komulainen  <tommi.komulainen@iki.fi>
957
958         * giscanner/transformer.py (_create_parameter):
959         * tests/scanner/foo-1.0-expected.gir: make varargs
960         transfer-ownership="none"
961
962 2008-10-23  Colin Walters  <walters@verbum.org>
963
964         Bug 556739 - transfer ownership
965
966         * giscanner/ast.py: Refactor Parameter/Return to share
967         common attributes.  Add transfer_inferred attribute
968         which says whether or not we made a guess.
969         * giscanner/transformer.py: Add much more extensive
970         heuristics around parameter and return transfer.
971         * giscanner/glibtransformer.py: Adjust to inspect
972         transfer_inferred.
973         * tests/*: Adjust.
974
975 2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>
976
977         Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib
978
979         * tests/scanner/Makefile.am:
980         * tests/scanner/annotation-1.0-expected.tgir:
981         * tests/scanner/drawable-1.0-expected.tgir:
982         * tests/scanner/drawable-injected-1.0-expected.tgir:
983         * tests/scanner/foo-1.0-expected.tgir:
984         * tests/scanner/GtkFrob-1.0-expected.tgir:
985         * tests/scanner/utility-1.0-expected.tgir: Add test to ensure
986         annotations survive the roundtrip via typelib
987
988         The expectations are as currently produced by g-ir-generate,
989         comparison with the .gir files shows there are differences.
990
991 2008-10-23  Johan Bilien  <jobi@via.ecp.fr>
992
993         Bug 557468 – Support for GI_TYPELIB_PATH
994
995         * girepository/girepository.c: if the GI_TYPELIB_PATH is set, add the
996         provided paths to the global search path.
997
998 2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>
999
1000         Bug 557379 – g-ir-generate not writing the 'abstract' attribute
1001
1002         * tests/scanner/drawable-1.0-expected.tgir:
1003         * tests/scanner/drawable-injected-1.0-expected.tgir:
1004         * tests/scanner/foo-1.0-expected.tgir:
1005         * tools/generate.c (write_object_info): write 'abstract'
1006         attribute for classes
1007
1008 2008-10-22  Lucas Rocha  <lucasr@gnome.org>
1009
1010         * girepository/girmodule.c, girepository/gtypelib.c,
1011         girepository/girparser.[ch]: fix some build warnings.
1012
1013 2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>
1014
1015         Bug 557405 – Use 'allow-none' consistently
1016
1017         * docs/typelib-format.txt:
1018         * girepository/ginfo.c (g_arg_info_may_be_null):
1019         * girepository/girnode.c (g_ir_node_build_typelib):
1020         * girepository/girnode.h (struct _GIrNodeParam):
1021         * girepository/girparser.c (start_parameter):
1022         * girepository/girwriter.c (function_generate):
1023         * girepository/gtypelib.h (ArgBlob):
1024         * tests/errors.gir:
1025         * tests/function.gir:
1026         * tools/generate.c (write_callable_info): Use 'allow-none'
1027         consistently throughout
1028
1029 2008-10-22  Tommi Komulainen  <tommi.komulainen@iki.fi>
1030
1031         Bug 557092 – Callback annotations not used
1032
1033         * giscanner/transformer.py (_create_callback): use annotations
1034         for callbacks
1035         * tests/scanner/annotation.h
1036         * tests/scanner/annotation-1.0-expected.gir: add tests
1037
1038 2008-10-21  Colin Walters  <walters@verbum.org>
1039
1040         * giscanner/scannerlexer.l: Don't require trailing whitespace after
1041         uncommented parameters.
1042         * tests/*: Test it.
1043
1044 2008-10-21  Colin Walters  <walters@verbum.org>
1045
1046         * girepository/girepository.c: Ensure that when doing an unversioned
1047         require, we prefer items earlier in the search path to later ones.
1048
1049 2008-10-21  Owen Taylor  <otaylor@redhat.com>
1050
1051         * giscanner/transformer.py: For string parameters allow transfer annotation
1052         to override the standard automatic guessing based on 'const'.
1053
1054 2008-10-21  Johan Bilien  <jobi@via.ecp.fr>
1055
1056         Bug 557241 – "throws" flag for functions
1057
1058         * tests/scanner/drawable-1.0-expected.gir,
1059         tests/scanner/drawable-injected-1.0-expected.gir,
1060         tests/scanner/drawable.[ch]: add simple test for throwing
1061         function (has GError ** as last argument)
1062
1063         * giscanner/ast.py: add a 'throws' flag to Function
1064         * giscanner/glibtransformer.py: if a function's last paramerter is
1065         a GError, set the 'throws' flag and remove that parameter
1066         * giscanner/girwriter.py: write out the 'throws' attribute
1067         * giscanner/girparser.py: support parsing the 'throws' attribute
1068
1069         * tests/repository/gitestthrows.c: add a simple test to check the
1070         throws flag in a typelib and invoke the function
1071
1072         * girepository/ginfo.c, girepository/girnode.[ch],
1073         girepository/girnode.h, girepository/girparser.c,
1074         girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag
1075
1076         * girepository/ginvoke.c: if a function throws, add a GError as last
1077         arguments, and propagate the error to the invoker.
1078
1079 2008-10-21  Tommi Komulainen  <tommi.komulainen@iki.fi>
1080
1081         * giscanner/transformer.py (_create_parameters): Warn if we see
1082         annotations for unknown parameters. If .h and .c files name
1083         parameters differently, the annotations may be lost.
1084
1085 2008-10-21  Johan Dahlin  <johan@gnome.org>
1086
1087         Bug 556358 - don't use libtool internals
1088
1089         * giscanner/Makefile.am:
1090         * giscanner/libtoolimporter.py:
1091         * giscanner/sourcescanner.py:
1092         * giscanner/utils.py:
1093         Add a python meta importer and remove a libtool symlink hack.
1094
1095 2008-10-20  Andreas Rottmann  <a.rottmann@gmx.at>
1096
1097         * tests/scanner/Makefile.am (%.typelib): Set PYTHONPATH
1098         and --add-include-path appropriately when invoking the scanner.
1099         * tests/types/Makefile.am (%typelib): Likewise.
1100
1101 2008-10-20  Colin Walters  <walters@verbum.org>
1102
1103         Bug 556777 - validate properties
1104
1105         * giscanner/transformer.py: Add option to throw on unknown types.
1106         * giscanner/glibtransformer.py: Use it on properties.
1107         * tests/*: Add a test.
1108
1109 2008-10-20  Colin Walters  <walters@verbum.org>
1110
1111         * giscanner/glibast.py: Also register g variants of
1112         default_array_types.  This is not beautiful, but
1113         good alternatives aren't easy to come by.
1114         This fixes gchar ** parsing.
1115
1116 2008-10-20  Colin Walters  <walters@verbum.org>
1117
1118         * docs/typelib-format.txt, girepository/gtypelib.h:
1119         Take a bit from ObjectInfo to represent abstract flag.
1120         * giscanner/cgobject.py: Expose g_type_get_flags.
1121         * girepository/girepository.h: Add accessor.
1122         * girepository/ginfo.c: Implement it.
1123         * giscanner/ast.py: Add is_abstract flag to generic
1124         class object.
1125         * giscanner/glibast.py: Use it.
1126         * giscanner/girwriter.py: Write it.
1127         * girepository/girparser.c: Parse it.
1128         * tests/*: Test it.
1129
1130 2008-10-20  Tommi Komulainen  <tommi.komulainen@iki.fi>
1131
1132         * giscanner/girparser.py (_parse_function): don't lose
1133         'transfer-ownership' attributes when injecting, check for the
1134         correct attribute
1135
1136 2008-10-19  Johan Dahlin  <johan@gnome.org>
1137
1138         * giscanner/scannerlexer.l: Parse and ignore __asm.
1139
1140 2008-10-19  Colin Walters  <walters@verbum.org>
1141
1142         * giscanner/girparser.py: Parse array length= to ensure
1143         it doesn't get lost from --inject.
1144
1145 2008-10-17  Colin Walters  <walters@verbum.org>
1146
1147         Bug 556795 - char ** regression
1148
1149         * giscanner/transformer.py: Fix parsing of ctypes, add some
1150         comments about what's going on.
1151         * tests/*: Add a test for char **.
1152
1153 2008-10-17  Colin Walters  <walters@verbum.org>
1154
1155         Bug 556783 - change namespace handling to be more consistent
1156
1157         * giscanner/transformer.py: Eliminate usage of
1158         strip_namespace_object.  We now treat --namespace as the default
1159         --strip-prefix; however, if --strip-prefix is specified it
1160         overrides --namespace.  This applies to everything except function
1161         names, where we do also strip the namespace.
1162         * giscanner/glibtransformer.py: Remove usage of
1163         strip_namespace_object.
1164         * tests/*: Update.
1165         * tests/*: Add skeletal GtkFrob-1.0 test which has different
1166         --namespace and --strip-prefix.
1167
1168 2008-10-17  Tommi Komulainen  <tommi.komulainen@iki.fi>
1169
1170         Bug 556732 – generate gir files consistently
1171
1172         * girepository/girparser.c (start_parameter):
1173         * tests/boxed.gir:
1174         * tests/invoke/testfns-1.0.gir:
1175         * tools/generate.c (write_callable_info): write
1176         'transfer-ownership' attribute consistently with both
1177         return-value and parameter elements
1178
1179 2008-10-17  Tommi Komulainen  <tommi.komulainen@iki.fi>
1180
1181         Bug 556732 – generate gir files consistently
1182
1183         * tools/generate.c (write_callable_info): write 'direction'
1184         attribute only if other than 'in' to be consistent with
1185         girwriter.py
1186         * tests/boxed.gir:
1187         * tests/object.gir: remove direction="in" which is the default
1188
1189 2008-10-17  Tommi Komulainen  <tommi.komulainen@iki.fi>
1190
1191         Bug 556732 – generate gir files consistently
1192
1193         * giscanner/ast.py (Field): add readable and writable properties
1194         * giscanner/girparser.py (_parse_field): copy 'readable' and
1195         'writable' attributes
1196         * giscanner/transformer.py (_create_member): create fields as
1197         read-write
1198         * giscanner/glibtransformer.py (_introspect_object,
1199         _pair_class_struct): make object instance and class fields
1200         read-only
1201         * giscanner/girwriter.py (_write_field):
1202         * tools/generate.c (write_field_info): write field 'readable'
1203         and 'writable' attributes only if non-default (read-only)
1204         * girepository/girparser.c (start_field): in the absence of
1205         attributes assume fields are read-only
1206         * tests/boxed.gir:
1207         * tests/struct.gir: remove redundant readable="1" from fields
1208         * tests/scanner/foo-1.0-expected.gir:
1209         * tests/scanner/utility-1.0-expected.gir: add writable="1" to
1210         all record and union fields
1211
1212 2008-10-17  Tommi Komulainen  <tommi.komulainen@iki.fi>
1213
1214         Bug 556732 – generate gir files consistently
1215
1216         * giscanner/girwriter.py (_write_property): write properties
1217         'construct' attribute if set
1218         * tools/generate.c (write_property_info): write properties
1219         'readable' and 'writable' attributes only if non-default
1220         * tests/object.gir: add writable="0"
1221         * tests/scanner/foo-1.0-expected.gir: add construct="1"
1222
1223 2008-10-17  Johan Bilien  <jobi@via.ecp.fr>
1224
1225         * gir/glib-2.0.c: added annotations
1226
1227 2008-10-16  Johan Bilien  <jobi@via.ecp.fr>
1228
1229         * giscanner/ast.py: Also assume direction=out for size_t*, ssize_t*
1230         arguments
1231
1232 2008-10-16  Johan Bilien  <jobi@via.ecp.fr>
1233
1234         Bug 556610 – giscanner/girparser.py drops parameter options
1235
1236         * tests/scanner/drawable-injected-1.0-expected.gir,
1237         tests/scanner/DrawableAdditions.xml: added simple test for injection.
1238         * giscanner/ast.py: allow Parameter to take options in the constructor
1239         * giscanner/girparser.py: parse parameter options (transfer,
1240         direction, allow-none)
1241
1242 2008-10-16  Colin Walters  <walters@verbum.org>
1243
1244         Bug 556185 - segfault on g_callable_info_get_return_type
1245
1246         Initial patch from John Ehresman.
1247
1248         * tests/repository/*: Add a test using
1249         g_callable_info_get_return_type.  Instead of casting a
1250         GITypeInfo directly to a GIRegisteredTypeInfo, we need
1251         to call g_type_info_get_interface.
1252
1253 2008-10-16  Colin Walters  <walters@verbum.org>
1254
1255         Bug 556579 - union and struct name misresolved
1256
1257         * giscanner/transformer.py: The calls to _resolve_type_name
1258         for struct/union names was a legacy holdover from when type
1259         resolution had multiple phases.  Now it's actively harmful
1260         since we might pull in an identical name from another
1261         namespace.
1262         * tests/*: Update.
1263
1264 2008-10-16  Colin Walters  <walters@verbum.org>
1265
1266         Bug 556432 - transfer annotations and defaults
1267
1268         * giscanner/transformer.py: Canonicalize type
1269         after removing *, not before.  This ensures that
1270         guchar* is transformed to 'uint8'.
1271         Add some comments here.
1272         * giscanner/glibtransformer.py: Add _adjust_transfer
1273         phase for tweaking GObject transfers.
1274         * tests/*: test it.
1275
1276 2008-10-16  Tommi Komulainen  <tommi.komulainen@iki.fi>
1277
1278         * configure.ac: enable bunch of gcc warning CFLAGS
1279
1280 2008-10-16  Tommi Komulainen  <tommi.komulainen@iki.fi>
1281
1282         Bug 556543 – reduce compiler warnings
1283
1284         * girepository/ginfo.c:
1285         * girepository/girepository.c (register_internal,
1286         count_interfaces, find_interface, find_namespace_version,
1287         parse_version, g_irepository_require):
1288         * girepository/girmodule.c (g_ir_module_build_typelib):
1289         * girepository/girnode.c (init_stats, dump_stats,
1290         _g_irnode_init_stats, _g_irnode_dump_stats,
1291         g_ir_node_can_have_member):
1292         * girepository/girparser.c (firstpass_end_element_handler,
1293         locate_gir, parse_basic, parse_type_internal, resolve_aliases,
1294         start_alias, start_type, end_type_top, parse_include, cleanup,
1295         post_filter):
1296         * girepository/gtypelib.c (validate_function_blob, validate_enum_blob):
1297         * giscanner/giscannermodule.c (directive_get_options,
1298         type_get_child_list):
1299         * giscanner/scannerlexer.l (parse_gtkdoc):
1300         * giscanner/scannerparser.y (ctype_free):
1301         * giscanner/sourcescanner.c:
1302         * giscanner/sourcescanner.h (gi_source_scanner_parse_macros):
1303         * tests/types/gitesttypes.c:
1304         * tools/compiler.c (main):
1305         * tools/generate.c (write_repository): Remove unused variables
1306         and code, add missing includes, declarations and case
1307         statements.
1308
1309 2008-10-16  Tommi Komulainen  <tommi.komulainen@iki.fi>
1310
1311         Bug 556541 – access union members through UnionBlob rather than
1312         StructBlob
1313
1314         * girepository/ginfo.c (g_union_info_find_method): access union
1315         members through UnionBlob rather than StructBlob
1316
1317 2008-10-15  Colin Walters  <walters@verbum.org>
1318
1319         Bug 556331 - clean up includes handling
1320
1321         * tools/g-ir-scanner: Rework command line arguments; now we take
1322         --add-include-path and --include separately.
1323         * giscanner/girwriter.py: Separate name= and version= in include
1324         directives.
1325         * giscanner/ast.py: Add Include type.
1326         * giscanner/transformer.py: Cleanups to register_include now that
1327         we don't need to handle mixed filenames and relative arguments.
1328         * girepository/girparser.c: Parse name and version separately;
1329         this fixes a bug as a side effect where we weren't resolving
1330         through aliases for basic types.
1331         * girepository/girepository.c: Fix format string args.
1332         * gir/Makefile.am: Update.
1333         * tests/*: Update.
1334
1335 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1336
1337         Bug 556434 – unhandled interface/object/... member types
1338
1339         * girepository/girnode.c (g_ir_node_check_unhandled_members,
1340         g_ir_node_build_typelib): Check all
1341         interface/object/boxed/struct/union members are processed and
1342         abort if they are not. (Mostly callbacks in structs, but also
1343         fields in interfaces.)
1344
1345 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1346
1347         * a/girepository/girnode.c (g_ir_node_build_members,
1348         g_ir_node_build_typelib): refactor common code for processing
1349         members to a function
1350
1351 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1352
1353         * gir/Makefile.am (check-local): check that typelib -> gir -> typelib
1354         transformation is lossless (it's not)
1355
1356 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1357
1358         * tests/Makefile.am: fix tests to compare xml to xml instead of
1359         typelib to xml, and stop on error
1360
1361 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1362
1363         * tools/generate.c (write_type_name, write_type_info,
1364         write_type_info, write_object_info, write_object_info,
1365         write_interface_info, write_error_domain_info): reduce code
1366         duplication
1367
1368 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1369
1370         Bug 556174 – parse types for lists etc.
1371
1372         * girepository/girparser.c (end_type_recurse):
1373         * tests/boxed.gir:
1374         * tools/generate.c (write_type_info, write_field_info,
1375         write_callable_info, write_callable_info, write_constant_info,
1376         write_property_info): use nested <type>s for lists and hashes
1377
1378 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1379
1380         * tests/enum.gir:
1381         * tests/object.gir: remove trailing whitespace from inside
1382         elements to match g-ir-generate output
1383
1384 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1385
1386         * tools/generate.c (xml_printf): quote printf arguments so that
1387         we don't generate invalid XML by writing unescaped double quotes
1388         and such in attributes
1389
1390 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1391
1392         * tools/generate.c (write_field_info, write_callable_info,
1393         write_function_info, write_callback_info, write_struct_info,
1394         write_constant_value, write_signal_info, write_vfunc_info,
1395         write_object_info, write_interface_info, write_union_info,
1396         write_repository): remove unused indent parameters, xmlwriter
1397         keeps track of necessary indentation
1398
1399 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1400
1401         * tools/generate.c (xml_element_new, xml_element_free,
1402         xml_start_element, xml_end_element, xml_end_element_unchecked,
1403         xml_open, xml_close): Keep track of generated XML tree and
1404         handle indentation and closing tags properly.
1405         (write_field_info, write_callable_info, write_function_info,
1406         write_callback_info, write_struct_info, write_value_info,
1407         write_constant_info, write_enum_info, write_signal_info,
1408         write_vfunc_info, write_property_info, write_object_info,
1409         write_interface_info, write_error_domain_info, write_union_info,
1410         write_repository): Use xml_start_element and xml_end_element to
1411         open/close tags.
1412
1413 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1414
1415         * tools/generate.c (xml_printf, xml_open, xml_close, xml_free):
1416         (write_type_name, write_type_info, write_field_info,
1417         write_callable_info, write_function_info, write_callback_info,
1418         write_struct_info, write_value_info, write_constant_value,
1419         write_constant_info, write_enum_info, write_signal_info,
1420         write_vfunc_info, write_property_info, write_object_info,
1421         write_interface_info, write_error_domain_info, write_union_info,
1422         write_repository): wrap all FILE access to go through simple xmlwriter
1423
1424 2008-10-15  Tommi Komulainen  <tommi.komulainen@iki.fi>
1425
1426         Bug 556400 – Fails to build on OS X 10.4
1427
1428         * configure.ac: check for functions backtrace and backtrace_symbols
1429         * girepository/girparser.c (backtrace_stderr): Comment out
1430         implementation if the functions are not available.
1431         * gcov.mak (clean-gcov, clean-gcno): always call 'find' with a
1432         directory for better portability
1433
1434 2008-10-15  Johan Bilien  <jobi@via.ecp.fr>
1435
1436         Bug 556433 – assume direction = out for int * parameters
1437
1438         * giscanner/ast.py: define a list of types for which, if passed as
1439         reference, we assume a default direction of 'out'
1440         * giscanner/transformer.py: if a type has type pointer to one of the
1441         previously defined types, and no direction is set, assume out.
1442         * tests/scanner/drawable.[ch]: added tests for guessed direction=out
1443
1444 2008-10-15  Johan Bilien  <jobi@via.ecp.fr>
1445
1446         * tests/scanner/annotation.c: fixed a few copy-paste errors
1447
1448 2008-10-14  Johan Bilien  <jobi@via.ecp.fr>
1449
1450         Bug 556323 – transfer-ownership is wrong for functions returning const
1451         char *
1452
1453         * giscanner/transformer.py: check for a const string as return value,
1454         not just const char*. Suggested by Colin Walters
1455         * tests/scanner/annotation-1.0-expected.gir: updated expected output
1456
1457 2008-10-14  Johan Bilien  <jobi@via.ecp.fr>
1458
1459         * girepository/ginfo.c, girepository/girepository.h: add
1460         g_union_info_find_method
1461
1462 2008-10-14  Colin Walters  <walters@verbum.org>
1463
1464         * tests/repository/Makefile.am: Reenable repo test.
1465         * tests/repository/gitestrepo.c: Prepend search
1466         path for $(top_builddir)/gir dir so that we don't
1467         require installation for "make check" to pass.
1468
1469 2008-10-13  Jürg Billeter  <j@bitron.ch>
1470
1471         * giscanner/glibtransformer.py:
1472         * tests/scanner/annotation-1.0-expected.gir:
1473         * tests/scanner/drawable-1.0-expected.gir:
1474         * tests/scanner/foo-1.0-expected.gir:
1475         * tests/scanner/utility-1.0-expected.gir:
1476
1477         Support fields in GObject structs
1478
1479 2008-10-13  Jürg Billeter  <j@bitron.ch>
1480
1481         * giscanner/ast.py: add signed integer and off_t to type_names
1482
1483 2008-10-12  Jürg Billeter  <j@bitron.ch>
1484
1485         * giscanner/girparser.py: Parse bits attribute of fields
1486
1487 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1488
1489         * tests/repository/Makefile.am: run 'gitestrepo' in 'make check'
1490         * tests/repository/gitestrepo.c (main): instantiate
1491         'GCancellable' to ensure the GType is registered before using
1492         g_type_from_name()
1493
1494 2008-10-12  Johan Bilien  <jobi@via.ecp.fr>
1495
1496         * giscanner/girparser.py: actually add the parsed constant nodes
1497
1498 2008-10-12  Colin Walters  <walters@verbum.org>
1499
1500         * girepository/girepository.c: Don't cast DirEntry to Blob,
1501         actually look it up by offset.
1502
1503 2008-10-12  Johan Bilien  <jobi@via.ecp.fr>
1504
1505         * giscanner/girparser.py: parse constant nodes in gir files
1506
1507 2008-10-12  Johan Bilien  <jobi@via.ecp.fr>
1508
1509         * giscanner/transformer.py: prefix for constants have an underscore,
1510         so remove them as if they were functions, not objects.
1511
1512 2008-10-12  Johan Bilien  <jobi@via.ecp.fr>
1513
1514         * tests/scanner/foo-1.0-expected.gir: add constants to expected gir
1515         file
1516
1517 2008-10-12  Colin Walters  <walters@verbum.org>
1518
1519         Initial patch from Jani Monoses.
1520
1521         * girepository/gtypelib.c: Fix inverted test for success
1522         in version parsing.
1523
1524 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1525
1526         * tools/generate.c (write_callable_info): use "transfer-ownership"
1527         attribute for return values
1528
1529 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1530
1531         * tools/generate.c (write_callable_info): move "transfer" and
1532         "null-ok" attributes from <function> to <return-value> element
1533
1534 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1535
1536         * girepository/girparser.c (start_return_value): handle
1537         "transfer-ownership" attribute
1538
1539 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1540
1541         * girepository/girparser.c (parse_param_transfer):
1542         * tools/generate.c (write_callable_info): use "container" for
1543         container/shallow ownership transfer (not "shallow")
1544
1545 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1546
1547         * girepository/girparser.c (parse_param_transfer,
1548         start_parameter): Refactor handling of transfer=none/shallow/full
1549         to separate function
1550
1551 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1552
1553         Bug 556048 – Crash in g_irepository_find_by_gtype
1554
1555         * girepository/gtypelib.h (BLOB_IS_REGISTERED_TYPE): added
1556         * girepository/girepository.c (find_interface): Fix
1557         find_by_gtype case to get the type name from right offset
1558
1559 2008-10-12  Jürg Billeter  <j@bitron.ch>
1560
1561         * giscanner/girparser.py: Fix parsing transfer-ownership attribute
1562         of <return-value>
1563
1564 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1565
1566         * girepository/gtypelib.h (RegisteredTypeBlob): make
1567         'unregistered' one bit wide as everywhere else
1568
1569 2008-10-12  Jürg Billeter  <j@bitron.ch>
1570
1571         * giscanner/glibtransformer.py:
1572         * tests/scanner/annotation-1.0-expected.gir:
1573         * tests/scanner/drawable-1.0-expected.gir:
1574         * tests/scanner/drawable.h:
1575         * tests/scanner/foo-1.0-expected.gir:
1576         * tests/scanner/utility-1.0-expected.gir:
1577
1578         Readd class records as workaround to not break Gtk typelib
1579
1580 2008-10-12  Tommi Komulainen  <tommi.komulainen@iki.fi>
1581
1582         * tests/types/Makefile.am: fix typo in gitesttypes namespace
1583
1584 2008-10-12  Jürg Billeter  <j@bitron.ch>
1585
1586         * giscanner/glibtransformer.py: Don't generate <record> elements
1587         for class structs.
1588         * tests/scanner/*: Update test cases
1589
1590 2008-10-11  Colin Walters  <walters@verbum.org>
1591
1592         Bug 552858: versioning
1593
1594         This is a big patch.  You should probably remove your installation
1595         tree to be cleaner.
1596
1597         * docs/typelib-format.txt: Add nsversion entry which holds
1598         version of namespace.
1599         * girepository/girepository.h: Add 'version' parameter to
1600         g_irepository_require.  This may be NULL.  Normally
1601         bindings should pass an explicit version though.
1602         * girepository/girepository.c: Lots of infrastructure to
1603         support versioning.  Add some more documentation.  Disallow
1604         some usage of NULL namespaces.
1605         * girepository/girmodule.c: Add version parameter.
1606         * girepository/gtypelib.c: Update header size.
1607         * giscanner/ast.py: Add version to Namespace.
1608         * giscanner/girparser.py: Parse version attribute from
1609         XML, pass to Namespace.
1610         * giscanner/girwriter.py: Write out version parameter.
1611         * giscanner/transformer.py: Clean up include registration.
1612         * tests/*: Add version attribute.
1613         * tests/invoke/invoke.c: Don't try looking up test before
1614         it's loaded in repository.
1615         * tools/generate.c: Output version parameter.
1616         * gir/Makefile.am: Add 2.0 version to .gir files.
1617
1618 2008-10-11  Colin Walters  <walters@verbum.org>
1619
1620         * giscanner/scannerlexer.l (parse_gtkdoc): Don't lose
1621         if we have mismatched parens.
1622
1623 2008-10-11  Lucas Rocha  <lucasr@gnome.org>
1624
1625         * giscanner/girparser.py (_parse_enumeration_bitfield): fix typo
1626         on 'members' variable.
1627
1628 2008-10-11  Colin Walters  <walters@verbum.org>
1629
1630         Bug 555947 - update annotations syntax
1631
1632         * giscanner/ast.py: Default to None for transfer.  Remove
1633         default transfers for container types; we require this to
1634         be specified now.
1635         * giscanner/girwriter.py: Transfer is now 'none', 'container',
1636         'full' to match repository.
1637         * giscanner/scannerlexer.l: Annotations now are parenthesized.
1638         * giscanner/transformer.py: Update for new annotations syntax.
1639         * tests/*: Update.
1640
1641 2008-10-11  Johan Bilien  <jobi@litl.com>
1642
1643         * giscanner/scannerparser.y: ignore non-UTF-8 string constants
1644
1645 2008-10-11  Johan Bilien  <jobi@litl.com>
1646
1647         Bug 552347: Parse #defines constants
1648
1649         * girepository/gtypelib.c: update the list of value_size
1650         with recently defined type tags
1651         * giscanner/scannerparser.y: brought back parsing of #defined, as
1652         present in older version
1653         * giscanner/giscannermodule.c: bind gi_source_scanner_append_filename
1654         * giscanner/girwriter.py: write out constant tags in the gir
1655         * giscanner/sourcescanner.py: add accessor for const_string
1656         * giscanner/transformer.py, giscanner/glibtransformer.py: handle
1657         constant
1658
1659 2008-10-11  Tommi Komulainen  <tommi.komulainen@iki.fi>
1660
1661         Bug 555946: Install a test module exercising all types, transfer
1662         rules, etc.
1663
1664         * configure.ac
1665         * tests/Makefile.am
1666         * tests/types/*: Add and install a test module that has functions
1667         accepting and returning most of the basic types to enable bindings
1668         implementors to more easily test their type conversion routines.
1669
1670 2008-10-11  Jürg Billeter  <j@bitron.ch>
1671
1672         Bug 552374: Const strings should be identified in the gir.
1673
1674         * giscanner/transformer.py: support string memory management
1675         * tests/scanner/foo.h: use char * and const char *
1676         * tests/scanner/foo-expected.gir: test that
1677
1678 2008-10-11  Johan Dahlin  <johan@gnome.org>
1679
1680         * giscanner/girparser.py:
1681         Also parse enums which are not glib types.
1682
1683 2008-10-11  Lucas Rocha  <lucasr@gnome.org>
1684
1685         Bug 552370: add one more test for unsigned as a type, not as
1686         a type qualifier.
1687
1688         * giscanner/ast.py: add 'uint' type name for 'unsigned'.
1689         * test/scanner/foo.h: add function which uses unsigned as a type.
1690         * test/scanner/foo-expected.gir: test that.
1691
1692 2008-10-11  Andreas Rottmann  <a.rottmann@gmx.at>
1693
1694         Bug 555712: Struct and union issues
1695
1696         * giscanner/scannerparser.y (struct_declarator): Use information
1697         provided about the bit width of a field.
1698         * giscanner/transformer.py (Transformer._create_member): Pass the
1699         symbol's const_int member to the created field (it represents the
1700         bit width).
1701         * giscanner/girwriter.py (GIRWriter._write_field): Output 'bits'
1702         field attribute, if present.
1703         * giscanner/ast.py (Field): Add 'bits' member, specifying the
1704         width in bits of the field (only relevant for bitfields).
1705         * tests/*: Updated.
1706
1707         * giscanner/transformer.py (Transformer._create_typedef_struct)
1708         (Transformer._create_typedef_union): Add calls to _create_struct()
1709         and _create_union(), respectively. This causes the scanner to
1710         generate output for fields of struct and union typedefs.
1711         * tests/*: Updated.
1712
1713 2008-10-11  Jürg Billeter  <j@bitron.ch>
1714
1715         Bug 552370: unsigned not scanned properly
1716
1717         * giscanner/scannerparser.y: combine basic types such as unsigned
1718         int and long long when scanning
1719         * tests/scanner/foo-expected.gir:
1720         * tests/scanner/foo.c: (foo_test_unsigned):
1721         * tests/scanner/foo.h: test that
1722
1723 2008-10-11  Lucas Rocha  <lucasr@gnome.org>
1724
1725         Bug 554854: The --typelib-xml and --inject options should reuse
1726         giscanner parser/writer.
1727
1728         * giscanner/ast.py: add constructor list to Struct and Union.
1729         Add new param in Return's contructor to define transfer.
1730         * giscanner/girparser.py: several additions to the parser in order
1731         to have parsing all nodes of the gir xml files.
1732         * tools/g-ir-scanner (typelib_xml_strip, inject): use gir parser
1733         and writer in --inject and --typelib-xml options.
1734         * giscanner/xmlwriter.py: ignore empty attributes instead of
1735         raising an error as this basically exposes a bug in GIRParser.
1736         This should be reverted as soon as the parser is fixed.
1737
1738 2008-10-11  Lucas Rocha  <lucasr@gnome.org>
1739
1740         Bug 552376: scanner generates wrong names for enum members when
1741         there's no defined gtype.
1742
1743         * giscanner/utils.py (strip_common_prefix): Always strip common
1744         prefix exactly up to the last "_", and not beyond.
1745         * tests/scanner/foo.h (FooEnumNoType): add FOO_ENUM_NEUF. The point
1746         here is that the first character after the last '_' should should be
1747         the same as the character in the same position on the type name.
1748         * tests/scanner/foo-expected.gir: test that
1749
1750 2008-10-10  Lucas Rocha  <lucasr@gnome.org>
1751
1752         Bug 555293: append library_paths to LPATH env variable to work
1753         around a bug in find_library when using ldconfig.
1754
1755         * tools/g-ir-scanner (main): ditto.
1756
1757 2008-10-09  Lucas Rocha  <lucasr@gnome.org>
1758
1759         * girepository/girepository.c (register_internal): fix regression on
1760         invoke test case by making sure we load the global module in the
1761         typelib when dealing with inline typelibs.
1762         * girepository/gtypelib.c: a couple of coding style fixes.
1763
1764 2008-10-06  Lucas Rocha  <lucasr@gnome.org>
1765
1766         Bug 555294: Add support for multiple shared libraries per typelib.
1767
1768         * girepository/ginvoke.c (g_function_info_invoke),
1769         girepository/ginfo.c(g_registered_type_info_get_g_type): use
1770         g_typelib_symbol instead of g_module_symbol.
1771         * girepository/girepository.h: remove g_typelib_set_module and add
1772         g_typelib_symbol.
1773         * girepository/gtypelib.[ch] (find_some_symbol, _g_typelib_init,
1774         g_typelib_new_from_memory, g_typelib_new_from_const_memory,
1775         g_typelib_free, g_typelib_symbol): chnage GTypeLib to hold a list of
1776         modules instead of just one. The symbol lookup is now abstracted
1777         behind g_typelib_symbol which tries to find the passed symbol name in
1778         one of its modules.
1779         * giscanner/girwriter.py, tools/g-ir-scanner: change scanner to read
1780         and write shared_library attribute as a comma-separated list of libs.
1781
1782 2008-10-06  Colin Walters  <walters@verbum.org>
1783
1784         * giscanner/transformer.py: Parse length= annotation as
1785         a parameter name, not a raw int.
1786         * tests/*: Update.
1787
1788 2008-10-03  Colin Walters  <walters@verbum.org>
1789
1790         Bug 551744: Non-GObject types aren't aggregating ctors and methods
1791
1792         * girepository/gtypelib.c: Allow ctors/methods on struct,union,
1793         and boxed.
1794         * giscanner/glibtransformer.py: Ditto, and GLibBoxed is also a
1795         registered type.
1796         * tests/*: Extend.
1797
1798 2008-10-03  Colin Walters  <walters@verbum.org>
1799
1800         Bug 554576: scan problem with ev_selection_render_selection()
1801
1802         * giscanner/transformer.py: Only do type resolution once we've
1803         scanned all types.  What could happen before is that we'd strip
1804         the namespace from local type "EvSelection" => Selection, and
1805         then later pull a "Selection" from some other namespace because
1806         we hadn't yet seen the local EvSelection.  This could come
1807         down to hash table ordering and other things so not easy
1808         to write a test for.
1809
1810 2008-10-03  Lucas Rocha  <lucasr@gnome.org>
1811
1812         * giscanner/girwriter.py (_parser_member): fix the last parameter of
1813         GLibEnumMember constructor as it should be the enum member nick.
1814
1815 2008-10-02  Colin Walters  <walters@verbum.org>
1816
1817         Bug 552961: remove this parameter for methods
1818
1819         * giscanner/glibtransformer.py: Delete this parameter; it is
1820         redundant.
1821         * girepository/ginvoke.c: Insert this parameter for methods.
1822         * girepository/gtypelib.c: Remove no longer needed verification of
1823         method this parameter.
1824         * tests/*: Update.
1825
1826 2008-09-30  Dan Winship  <danw@gnome.org>
1827
1828         Bug 554490: g-ir-scanner gets confused by '\\'
1829
1830         * giscanner/scannerlexer.l (chartext, stringtext): fix use of
1831         backslashes so it will correctly parse '\\' and "\\"
1832
1833         * tests/scanner/annotation.c: add a use of '\\' to make sure that
1834         this stays fixed
1835
1836         * giscanner/glibtransformer.py (GLibTransformer.count_type): typo
1837
1838 2008-10-02  Colin Walters  <walters@verbum.org>
1839
1840         bug 552393: Note variadic functions
1841
1842         * giscanner/scannerparser.y: Parse ellipsis.  Refactor grammar
1843         to use parameter_list directly.
1844         * giscanner/sourcescanner.h: Add ellipsis csymbol type.
1845         * giscanner/ast.py: Add Varargs type.
1846         * giscanner/transformer.py: Check for ellipsis symbol, transform
1847         to varargs type.
1848         * girepository/girnode.h: Add varargs flag to in-memory nodes.
1849         Parse varargs functions, but filter them out before we start
1850         compiling the typelib.
1851
1852 2008-10-02  Colin Walters  <walters@verbum.org>
1853
1854         Bug 554632: type tag for GType
1855
1856         * girepository/girepository.h, girepository/girepository.c:
1857         Add type tag for GType - it's a special type we don't want
1858         to resolve to just "long".
1859         * docs/typelib-format.txt: Update.
1860         * girepository/girparser.c: Parse it.
1861         * giscanner/glibtransformer.py: Ensure we don't put GType in
1862         the GObject.gir.
1863         * tools/generate.c: Remove hardcoded type list.
1864         * test/* update.
1865
1866 2008-09-30  Dan Winship  <danw@gnome.org>
1867
1868         Bug 554521: scanner generates wrong names for enum members with
1869         full type name prefix
1870
1871         * giscanner/utils.py (strip_common_prefix): Fix this to strip the
1872         right amount when the entire "first" string is a prefix of
1873         "second"
1874
1875         * tests/scanner/foo.h (FooEnumFullname):
1876         * tests/scanner/foo-expected.gir: test that
1877
1878 2008-09-29  Colin Walters  <walters@verbum.org>
1879
1880         Bug 552380: Array parameters should be marked in the gir
1881
1882         * giscanner/ast.py: Default char** to utf8[], and guchar* to
1883         uint8[].  Add Array, List, and Map subclasses of Type;
1884         these types can be generic.  Return transfer defaults
1885         to true if return value is string or container type.
1886         Delete Sequence type.
1887         * giscanner/scannerlexer.l: Syntax change for annotations;
1888         use <> since it's more readable.
1889         * giscanner/girwriter.py: Write out these changes.
1890         * giscanner/girparser.py: Parse them.
1891         * giscanner/transformer.py: Have a defined set of
1892         both list and map types.  When creating a type,
1893         check if the ctype we've parsed is one of them,
1894         if so create a container type subclass as appropriate.
1895         * girepository/girparser.c: Parse in generic types.
1896         * tests/*: Update.
1897
1898 2008-09-27  Colin Walters  <walters@verbum.org>
1899
1900         * tools/g-ir-scanner: Add --inject option.
1901
1902 2008-09-25  Colin Walters  <walters@verbum.org>
1903
1904         Remove non-repository types from GIR
1905
1906         * giscanner/ast.py: The canonical name is 'utf8', not
1907         'string'.
1908         * giscanner/glibast.py: A few more glib type mappings.
1909         * girepository/girparser.c: We only parse repository types.
1910         * tests/*.gir: Update.
1911
1912 2008-09-23  Colin Walters  <walters@verbum.org>
1913
1914         Bug 552566: Add time_t type
1915
1916         We need a type for time_t since it's special in C, and just
1917         mapping it to long precluded bindings from handling it
1918         in a nice way.
1919
1920 2008-09-19  Colin Walters  <walters@verbum.org>
1921
1922     Bug 552390: Handle capitialization like "DBus" more robustly
1923
1924     The to_underscores function was designed for use against prefixed
1925     names; we need a separate function which will convert names like
1926     DBusFoo into dbus_foo, not d_bus_foo.
1927
1928 2008-09-19  Colin Walters  <walters@verbum.org>
1929
1930     Add check to make sure we're not hitting out unresolved types
1931
1932     Validate the "this" argument for methods
1933
1934     Remove heuristic matching of methods to classes based on prefix
1935
1936     It was a broken hack that dated from when we handled underscoring
1937     and capitalization conventions less well.
1938
1939 2008-09-18  Colin Walters  <walters@verbum.org>
1940
1941     Bug 552384: Use SHLIB_SUFFIX intead of G_MODULE_SUFFIX for Darwin
1942
1943     On Darwin, the suffix for installed shared libraries (.dylib) is
1944     different from loadable modules (.so).  We use a bit of magic shell
1945     script from Behdad Esfahbod to figure out the right suffix.
1946
1947 2008-09-15  Johan Dahlin  <johan@gnome.org>
1948
1949         * giscanner/sourcescanner.py (SourceType.type_qualifier): Add
1950         a wrapper for type_qualifier as well.
1951
1952 2008-09-15  Colin Walters  <walters@verbum.org>
1953
1954         http://bugzilla.gnome.org/show_bug.cgi?id=552065
1955
1956         * giscanner/ast.py: Add deprecation attributes.
1957         * giscanner/girwriter.py: Write out deprecation data.
1958         * girepository/girparser.c: Relax parsing; deprecated
1959         attribute now includes freeform string.
1960         * giscanner/scannerlexer.l: Parse Deprecated.
1961         * giscanner/transformer.py: Look for deprecated attribute
1962         on functions.
1963         * tests/scanner/*: Add a Deprecated test.
1964
1965 2008-09-14  Tor Lillqvist  <tml@novell.com>
1966
1967         * tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT).
1968
1969 2008-09-14  Colin Walters  <walters@verbum.org>
1970
1971         * giscanner/glibtransformer.py: Ignore functions with
1972         leading _.
1973
1974 2008-09-12  Colin Walters  <walters@verbum.org>
1975
1976         * giscanner/glibtransformer.py: Accept Gtk.Type as GType.
1977
1978 2008-09-12  Colin Walters  <walters@verbum.org>
1979
1980         * giscanner/ast.py: Bind pid_t to INT for vte.
1981
1982 2008-09-12  Colin Walters  <walters@verbum.org>
1983
1984         * giscanner/girparser.py: Parse c:type for boxed records/unions.
1985         * giscanner/glibast.py: Avoid overwriting ctype.
1986         * giscsanner/transformer.py: Try resolving types using the GType names.
1987
1988 2008-09-12  Colin Walters  <walters@verbum.org>
1989
1990         * giscanner/minixpath.py: Code to run an "XPath"
1991         assertion against an XML tree, taken from
1992         gir-repository/gir/tests.py.
1993         * giscanner/Makefile.am: Ship it.
1994         * tools/g-ir-scanner: Add --xpath-assertions option.
1995         * gir/GLib-assertions.txt: Add a few assertions.
1996         * gir/Makefile.am: Run them.
1997
1998 2008-09-11  Colin Walters  <walters@verbum.org>
1999
2000         http://bugzilla.gnome.org/show_bug.cgi?id=551737
2001
2002         * giscanner/transformer.py: Fix strip_namespace_func to only strip
2003         prefix if it ends with _.  Tweak callback stripping to determine
2004         based on presence of _ whether we need to use strip_namespace_func
2005         or strip_namespace_object.
2006
2007 2008-09-09  Owen Taylor  <otaylor@redhat.com>
2008
2009         * docs/typelib-format.txt: Wether => Whether
2010
2011 2008-09-08  Colin Walters  <walters@verbum.org>
2012
2013         * girepository/girparser.c: Default to "readable" for properties.
2014         * giscanner/ast.py: Add readable, writable etc.
2015         * giscanner/girwriter.py: Writ them.
2016         * giscanner/glibtransformer.py: Inspect them.
2017         * tests/*: Update.
2018
2019 2008-09-07  Colin Walters  <walters@verbum.org>
2020
2021         * giscanner/cgobject.py: Add comment.
2022
2023 2008-09-07  Colin Walters  <walters@verbum.org>
2024
2025         * giscanner/cgobject.py: Also call g_thread_init.
2026
2027 2008-09-07  Colin Walters  <walters@verbum.org>
2028
2029         * giscanner/transformer.py: Fix regression by not
2030         stripping prefix before stripping namespace for unions
2031         either.
2032
2033 2008-09-06  Colin Walters  <walters@verbum.org>
2034
2035         * giscanner/transformer.py: If a namespace contains
2036         multiple caps, try stripping both gnomekeyring_ and
2037         gnome_keyring_.
2038
2039 2008-09-07  Johan Dahlin  <johan@gnome.org>
2040
2041         Bug 551162 – giscanner does not recognize asm and __asm__
2042         * giscanner/scannerlexer.l:
2043         Patch by Jani Monoses.
2044
2045 2008-09-06  Colin Walters  <walters@verbum.org>
2046
2047         * girepository/girnode.c: Allow gtype_name
2048         and gtype_init in struct and union.
2049         * girepository/girparser.c: Parse glib:
2050         boxed bits for both structure and union.
2051         * girepository/gtypelib.c: Don't barf
2052         if structure is boxed.
2053         * giscanner/girparser.py: Parse new XML
2054         format.
2055         * giscanner/girwriter.py: Write out new
2056         XML format.
2057         * giscanner/glibast.py: Define new classes
2058         which are both Boxed and Struct/Union, as
2059         well as an "Other" for everything else.
2060         * giscanner/glibtransformer.py: Handle
2061         boxed types specially; we try to merge
2062         them with a struct/union if one exists,
2063         otherwise fall back to generic boxed.
2064         * tests/*: Update.
2065         * tools/generate.c: Write out new format.
2066
2067 2008-09-06  Johan Dahlin  <johan@gnome.org>
2068
2069         * giscanner/grealpath.h: Include stdlib.h
2070
2071         * docs/g-ir-generate.1: Remove leading %
2072
2073 2008-09-01  Colin Walters  <walters@verbum.org>
2074
2075         * girepository/girparser.c: Look at c:type to determine
2076         whether or not an item is a pointer.
2077
2078 2008-09-01  Johan Dahlin  <johan@gnome.org>
2079
2080         * tests/scanner/Makefile.am:
2081         Set PYTHONPATH so the scanner can run
2082         even if you didn't install anything.
2083
2084 2008-09-01  Johan Dahlin  <johan@gnome.org>
2085
2086         * configure.ac:
2087         Post-release version bump
2088
2089 === 0.5.0 ===
2090 2008-09-01  Johan Dahlin  <johan@gnome.org>
2091
2092         * NEWS: Update
2093
2094 2008-08-31  Colin Walters  <walters@verbum.org>
2095
2096         * giscanner/glibtransformer.py: Quiet info
2097         prints for now.
2098
2099 2008-08-31  Johan Dahlin  <johan@gnome.org>
2100
2101         * configure.ac:
2102         Bump version to 0.5.0
2103
2104 2008-08-31  Colin Walters  <walters@verbum.org>
2105
2106         * giscanner/glibtransformer.py: Follow aliases to ensure
2107         we don't get a constructor returning a basic type.
2108         * giscanner/transformer.py: Add function to follow aliases.
2109         * tests/ Update.
2110
2111 2008-08-31  Johan Dahlin  <johan@gnome.org>
2112
2113         * giscanner/scannerlexer.l:
2114         * giscanner/scannerparser.y:
2115         * giscanner/sourcescanner.h:
2116         * giscanner/sourcescanner.py:
2117         Parse GCC extensions in the parser instead of just undeffing them
2118         in the pre-processor.
2119
2120 2008-08-31  Johan Dahlin  <johan@gnome.org>
2121
2122         * giscanner/glibtransformer.py:
2123         Clean up a huge if. Do not add methods or constructors
2124         to enums/flags.
2125         * giscanner/utils.py:
2126         second might be longer than first, check that.
2127
2128 2008-08-31  Johan Dahlin  <johan@gnome.org>
2129
2130         * gir/Makefile.am:
2131         Add a GModule.gir
2132
2133 2008-08-31  Colin Walters  <walters@verbum.org>
2134
2135         * girepository/girparser.c: Don't lose if we
2136         have no includedirs
2137
2138 2008-08-31  Colin Walters  <walters@verbum.org>
2139
2140         * giscanner/glibtransformer.py: Look for libtool
2141         library in current directory
2142         * tests/scanner - Update.
2143
2144 2008-08-30  Colin Walters  <walters@verbum.org>
2145
2146         * docs/typelib-format.txt: Add a guint32
2147         for dependencies.
2148         * gir/Makefile.am: Dep on Makefile
2149         * girepository/ginfo.c:
2150         * girepository/girepository.c: Clean up
2151         default typelib handling; remove global
2152         default_typelib variable.  Ensure we handle
2153         NULL repository in more places.
2154         Support dependency resolution.
2155         Support lazy loading.
2156         * girepository/girepository.h: Remove
2157         g_irepository_unregister; we don't support
2158         unloading typelibs since really they're
2159         process-global.  Update for lazy loading
2160         API.
2161         * girepository/girmodule.c: Use g_new0.
2162         Add dependencies to GirModule.
2163         * girepository/girparser.c: Parse dependencies.
2164         * girepository/gtypelib.c: Add 4 bytes for
2165         dependencies.
2166         * tests/Makefile.am: Kill off gobject.gir,
2167         it conflicts with the real one.
2168         * tests/object.gir: Dep on GObject.
2169         * tools/generate.c: Take --includedir
2170         argument to say which directories to search
2171         for typelibs.  Print out dependencies.
2172
2173 2008-08-30  Colin Walters  <walters@verbum.org>
2174
2175         * giscanner/glibtransformer.py: Reduce warning noise.
2176
2177 2008-08-29  Colin Walters  <walters@verbum.org>
2178
2179         * girepository/ginfo.c: Add some assertions regarding
2180         refcounts, just to be sure.
2181         * giscanner/glibtransformer.py: Blacklist a few more
2182         odd Gio methods.
2183
2184 2008-08-29  Colin Walters  <walters@verbum.org>
2185
2186         * giscanner/glibtransformer.py: Blacklist a few
2187         functions that use GError oddly
2188
2189 2008-08-29  Colin Walters  <walters@verbum.org>
2190
2191         * girepository/gtypelib.c: Don't crash if no
2192         shlib is embedded
2193
2194 2008-08-29  Colin Walters  <walters@verbum.org>
2195
2196         * girepository/girparser.c: Handle chains of aliases
2197         across modules by ensuring we fully qualify aliases
2198         from includes.
2199
2200 2008-08-29  Colin Walters  <walters@verbum.org>
2201
2202         * girepository/girparser.c: Don't search aliases
2203         for basic types.
2204
2205 2008-08-29  Colin Walters  <walters@verbum.org>
2206
2207         * girepository/girparser.c: Rewrite type parsing
2208         to handle both GLib parsing case as well as correctly
2209         handling GLib.List and friends.  Don't try to treat
2210         e.g. ListStore as a List.
2211
2212 2008-08-29  Colin Walters  <walters@verbum.org>
2213
2214         * girepository/gtypelib.c: Add more context
2215         during validate.
2216
2217 2008-08-29  Colin Walters  <walters@verbum.org>
2218
2219         * giscanner/glibtransformer.py: Add some informative
2220         logging messages in corner cases.  Be sure we use
2221         the most recent node set instead of a cache
2222         when generating result set.
2223         * tests/: Remove duplicated bits in expected girs
2224         * girepository/girparser.c: Accept both List (for
2225         compiling GLib) and GLib.List (what the scanner
2226         generates).
2227         * tests/ - Update.
2228         * tools/generate.c: Generate canonical form.
2229
2230 2008-08-29  Johan Dahlin  <johan@gnome.org>
2231
2232         * giscanner/config.py.in:
2233         Use datarootdir instead of datadir to avoid
2234         an autoconf warning.
2235
2236 2008-08-29  Johan Dahlin  <johan@gnome.org>
2237
2238         * README:
2239         * TODO:
2240         * examples/gdk-pixbuf.gidl:
2241         * libffi.pc.in:
2242         Update and remove old cruft.
2243
2244 2008-08-29  Johan Dahlin  <johan@gnome.org>
2245
2246         * Makefile.am:
2247         * docs/g-ir-compiler.1:
2248         * docs/g-ir-generate.1:
2249         * docs/g-ir-scanner.1:
2250         Add man pages for the generator and compiler.
2251
2252 2008-08-29  Johan Dahlin  <johan@gnome.org>
2253
2254         * docs/g-ir-scanner.1: Document
2255
2256         * giscanner/Makefile.am:
2257         * giscanner/gidlparser.py:
2258         * giscanner/gidlwriter.py:
2259         * tools/g-ir-scanner:
2260         Remove gidl support.
2261
2262 2008-08-28  Colin Walters  <walters@verbum.org>
2263
2264         * tests/scanner/Makefile.am: Pass the right
2265         --includedir args.  Add a Makefile dep.
2266         * tools/compiler.c: Pass includedirs down.
2267         * girepository/girparser.c: Actually put
2268         includedirs in context, pass down.  Fix
2269         locate_gir.
2270
2271 2008-08-28  Colin Walters  <walters@verbum.org>
2272
2273         * gir/Makefile.am: Use --includedir
2274         * girepository/girparser.c: Recursively parse
2275         includes to pull in aliases and expand them.
2276         We need this to avoid putting unknown names in
2277         the typelibs.
2278         * tools/compiler.c: Add --includedir option.
2279         * giscanner/ast.py: Map size/ssize to types
2280         too.
2281
2282 2008-08-28  Tor Lillqvist  <tml@novell.com>
2283
2284         Make check now runs successfully on Windows.
2285
2286         * tools/compiler.c (write_out_typelib): Use binary mode for output
2287         file on Windows.
2288
2289         * girepository/girnode.c: Don't print NULL strings.
2290
2291         * tests/invoke/Makefile.am
2292         * tests/scanner/Makefile.am: Use -no-undefined on Windows to
2293         convince libtool to build shared libraries.
2294
2295         * tests/invoke/invoke.c: Don't needlessly include <dlfcn.h>. Use
2296         g_assert() instead of printing out expected errors.
2297
2298 2008-08-28  Tor Lillqvist  <tml@novell.com>
2299
2300         * girepository/gtypelib.h: Change type of bitfield fields from
2301         guint to the most suitable smaller type. This makes the struct
2302         sizes match the ones on Linux that the sanity check expects when
2303         using gcc -mms-bitfields on Windows.
2304
2305 2008-08-28  Johan Dahlin  <johan@gnome.org>
2306
2307         * Makefile.am:
2308         * configure.ac:
2309         * gir/Makefile.am:
2310         * giscanner/Makefile.am:
2311         * tests/Makefile.am:
2312         * tests/scanner/Makefile.am:
2313         Make distcheck pass.
2314
2315 2008-08-27  Johan Dahlin  <johan@gnome.org>
2316
2317         * giscanner/Makefile.am:
2318         Only send in -no-undefined on Win32 as it breaks on MacOS X.
2319
2320 2008-08-27  Tor Lillqvist  <tml@novell.com>
2321
2322         Make g-ir-scanner work on Windows. Still problems with the typelib
2323         code. Changes okayed by jdahlin.
2324
2325         * configure.ac: Check for Windows, set Automake conditional
2326         OS_WIN32. Change backslashes to forward slashes in pyexecdir to
2327         avoid shell quoting issues
2328         
2329         * girepository/Makefile.am: Use -no-undefined so that libtool
2330         agrees to build a shared library on Windows.
2331
2332         * girepository/girparser.c (backtrace_stderr): No backtrace() on
2333         Windows. Empty implementation on Windows so far.
2334
2335         * girepository/gtypelib.c (g_typelib_check_sanity): Give more
2336         informative error message for the assertion failures. Tell also
2337         what the expected size of the struct is. Check all sizes first and
2338         fail afterwards if at least one size was different from expected.
2339
2340         * tools/Makefile.am: Reorder libraries into proper logical
2341         dependency order.
2342
2343         * tools/generate.c: Don't include <dlfcn.h>, not used.
2344
2345         * giscanner/Makefile.am: On Windows, link with the Python library,
2346         and install the module DLL as _giscanner.pyd. Remove the
2347         unnecessary import library and libtool library that libtool has
2348         installed.
2349
2350         * giscanner/scannerlexer.l: Recognize the gcc __attribute__ syntax
2351         and just skip it. Recognize also two "l" suffixes for long long
2352         constants. Recognize also __inline__.
2353
2354         * giscanner/grealpath.h (g_realpath): Implement on Windows, using
2355         GetFullPathName(). As such, GetFullPathName() does more than the
2356         UNIX realpath(). It also changes relative paths into absolute
2357         paths. But for our purposes that shouldn't matter.
2358
2359         * giscanner/giscannermodule.c (pygi_source_scanner_parse_file): On
2360         Windows the file descriptor passed to us is from Python. Python
2361         Python2.5 uses the msvcr71.dll C library, while mingw-built code
2362         uses msvcrt.dll. On Windows, file descriptors are specific to
2363         which C library is used. So we must find out what underlying OS
2364         handle corresponds to the file descriptor Python passes us, and
2365         then make that into a file descriptor valid for the C library this
2366         code uses.
2367
2368         * giscanner/sourcescanner.py (_parse): Don't need to bypass
2369         __attribute__ as the lexer now handles it. The definition as empty
2370         was ineffective for mingw anyway, as mingw's _mingw.h undefines
2371         __attribute__. Close the temp file before unlinking it.
2372
2373         * giscanner/cgobject.py: Use correct library name for the gobject
2374         DLL on Windows.
2375
2376         * gir/Makefile.am: Must pass the full basename of the DLLs on
2377         Windows to g-ir-scanner. It's a bit ugly that we have to "know"
2378         that the names of the GLib DLLs are like libglib-2.0-0.dll, but in
2379         reality they won't change, until there is a GLib 3, and then also
2380         the Unix code here needs changing.
2381
2382         Must pass CPPFLAGS to g-ir-scanner when building GLib.gir so that
2383         libintl.h is found.
2384
2385 2008-08-26  Colin Walters  <walters@verbum.org>
2386
2387         * girepository/girepository.c: Search
2388         $DATADIR/girepository instead of
2389         $DATADIR/gitypelibs; this naming makes
2390         it clearer that e.g. jgir can install
2391         .jars there.
2392         * gir/Makefile.am: Install there.
2393
2394 2008-08-26  Colin Walters  <walters@verbum.org>
2395
2396         * girepository/gtypelib.c (_g_typelib_init): Also
2397         use G_MODULE_SUFFIX instead of hardcoding .so.
2398
2399 2008-08-26  Colin Walters  <walters@verbum.org>
2400
2401         * girepository/gtypelib.c (_g_typelib_init): Free
2402         string in the right place.
2403
2404 2008-08-26  Colin Walters  <walters@verbum.org>
2405
2406         * girepository/gtypelib.c (_g_typelib_init): Handle
2407         both .la and .so names; this works better in the
2408         uninstalled library case.
2409
2410 2008-08-26  Johan Dahlin  <johan@gnome.org>
2411
2412         * gir/Makefile.am:
2413         * giscanner/Makefile.am:
2414         * giscanner/cgobject.py:
2415         * giscanner/config.py.in:
2416         * giscanner/sourcescanner.py:
2417         Avoid undeffing __GNUC__, instead define
2418         __attribute__ & friends. Remove glibconfig.h hack.
2419         This makes gobject-introspection work better on
2420         MacOS X, Thanks to Richard Hult for kind help.
2421
2422 2008-08-25  Colin Walters  <walters@verbum.org>
2423
2424         * giscanner/glibtransformer.py: Always print
2425         statistics.
2426
2427 2008-08-25  Colin Walters  <walters@verbum.org>
2428
2429         * giscanner/glibtransformer.py: Skip over
2430         interfaces we don't know.
2431
2432 2008-08-25  Colin Walters  <walters@verbum.org>
2433
2434         * girepository/girparser.c: Parse new implements
2435         syntax, drop gapi one.
2436         * tests/object.gir: Update.
2437         * tools/generate.c: Generate new syntax.
2438
2439 2008-08-25  Colin Walters  <walters@verbum.org>
2440
2441         * giscanner/ast.py: Add interfaces property
2442         to class.
2443         * giscanner/girwriter.py: Write out implemented
2444         interfaces.
2445         * giscanner/glibtransformer.py: Introspect
2446         implemented interfaces.
2447         * tests/scanner/*: Make FooObject implement
2448         FooInterface.
2449
2450 2008-08-25  Colin Walters  <walters@verbum.org>
2451
2452         * giscanner/glibtransformer.py: More correctly pair
2453         methods; if we have a symbol that starts with
2454         e.g. hippo_canvas look for a matching HippoCanvas
2455         class before accepting e.g. HippoCanvasImage.
2456
2457 2008-08-24  Colin Walters  <walters@verbum.org>
2458
2459         * tools/g-ir-scanner: Filter out unknown options from
2460         pkg-config files.
2461
2462 2008-08-24  Colin Walters  <walters@verbum.org>
2463
2464         * giscanner/glibtransformer.py: Fail with better
2465         error if we can't find library.
2466
2467 2008-08-24  Colin Walters  <walters@verbum.org>
2468
2469         * tools/g-ir-scanner: Use subprocess instead of
2470         commands, works on Windows and avoids the evil
2471         shell on Unix.
2472
2473 2008-08-24  Colin Walters  <walters@verbum.org>
2474
2475         * giscanner/glibtransformer.py: Skip over
2476         g_object_get_type from GLib trunk.
2477
2478 2008-08-24  Colin Walters  <walters@verbum.org>
2479
2480         * girepository/girepository.c (g_irepository_require): 
2481         Don't open shared library here; we already do it
2482         in gtypelib.c.
2483
2484 2008-08-24  Colin Walters  <walters@verbum.org>
2485
2486         * girepository/gtypelib.c: Add context stack so
2487         when we get an error we can print out nicely
2488         where it is.
2489
2490 2008-08-24  Johan Dahlin  <johan@gnome.org>
2491
2492         * girepository/girparser.c (start_glib_boxed), (start_function),
2493         (start_field), (start_alias):
2494         Refactor a couple of parsing functions to be simpler to follow.
2495         Avoid huge ifs.
2496
2497 2008-08-24  Johan Dahlin  <johan@gnome.org>
2498
2499         * girepository/girparser.c (start_function):
2500         Remove left-over code, checking type of function.
2501
2502 2008-08-23  Colin Walters  <walters@verbum.org>
2503
2504         * giscanner/config.py: Define DATADIR.
2505         * giscanner/transformer.py: Look in DATADIR.
2506
2507 2008-08-23  Colin Walters  <walters@verbum.org>
2508
2509         * girepository/gtypelib.c: Check constructor
2510         returns.
2511         * girepository/girnode.c: Small tweaks.
2512         * girepository/ginfo.c: Calculate signature offsets
2513         more robustly.
2514         * girepository/girparser.c: Remove duplicate
2515         start_boxed.
2516         * giscanner/glibtransformer.py: Avoid marking
2517         functions which return a basic type as
2518         constructors.
2519
2520 2008-08-23  Colin Walters  <walters@verbum.org>
2521
2522         * girepository/girparser.c: Ignore <include>.
2523         * giscanner/girparser.py: Parse them.
2524         * giscanner/girwriter.py: Generate them.
2525         * giscanner/transformer.py: Process <include>
2526         recursively.  Don't require full path for
2527         includes, look in {$XDG_DATA_DIRS}/gir.
2528         * tools/g-ir-scanner: Pass through includes.
2529         * Makefile.am: Remove extra --include
2530         args for scanner.
2531         * *-expected.gir: Add expected includes.
2532
2533 2008-08-23  Johan Dahlin  <johan@gnome.org>
2534
2535         * tests/scanner/Makefile.am:
2536         * tests/scanner/annotation-expected.gir:
2537         * tests/scanner/drawable-expected.gir:
2538         Avoid duplication in the Makefile, regenerate with new
2539         namespaces (same as the filename)
2540
2541 2008-08-22  Colin Walters  <walters@verbum.org>
2542
2543         * girepository/girnode.c: Don't hardcode integers,
2544         use GITypeTag.
2545
2546 2008-08-22  Johan Dahlin  <johan@gnome.org>
2547
2548         * giscanner/sourcescanner.py:
2549         Check for ../gobject-introspection-1.0.pc.in to determine
2550         if we run installed or uninstalled.
2551
2552 2008-08-22  Johan Dahlin  <johan@gnome.org>
2553
2554         * gir/Makefile.am:
2555         * giscanner/sourcescanner.py:
2556         Send in undefs/defines via writing it directly to stdin
2557         of cpp instead of via arguments.
2558
2559 2008-08-22  Colin Walters  <walters@verbum.org>
2560
2561         * tools/generate.c, tools/compiler.c: Default
2562         to --raw.
2563         * all Makefile.am: Update.
2564
2565 2008-08-22  Colin Walters  <walters@verbum.org>
2566
2567         * girepository/girparser.c: Pass through
2568         recursive types.  Avoid overwriting errors.
2569         * giscanner/xmlwriter.py: Always write the
2570         XML header.
2571         * tests/*.gir: Adjust.
2572         * tests/scanner/Makefile.am: Build typelibs,
2573         and generate XML from those.  Once we
2574         have a good diff mechanism...
2575         * tests/scanner/*-expected.gir: Add XML
2576         header.
2577         * tools/g-ir-scanner: Accept --typelib-xml
2578         option.
2579         * tools/generate.c: Better defaults for transfer.
2580
2581 2008-08-22  Johan Dahlin  <johan@gnome.org>
2582
2583         * configure.ac:
2584         * gir/Makefile.am:
2585         * giscanner/Makefile.am:
2586         * giscanner/config.py.in:
2587         * giscanner/sourcescanner.py:
2588         Use the generated glibconfig.h for all scanner invokations.
2589         Rename it to glibconfig-scanner.h and install it.
2590         Add a config.py which so far contains the include dir.
2591
2592 2008-08-22  Johan Dahlin  <johan@gnome.org>
2593
2594         * gir/Makefile.am:
2595         Replace glibconfig.h with our own, do some replacement
2596         for CPP/C features we do not support
2597
2598 2008-08-22  Colin Walters  <walters@verbum.org>
2599
2600         * tools/generate.c (write_callable_info): Fix unref
2601         sequence.
2602
2603 2008-08-22  Colin Walters  <walters@verbum.org>
2604
2605         * gobject-introspection-1.0.pc.in: Add g-ir-generate.
2606         * tests/Makefile.am: Support $(DEBUG)
2607         * tools/generate.c: Do immediate close tags if no
2608         sub-elements.
2609
2610 2008-08-21  Colin Walters  <walters@verbum.org>
2611
2612         * tests/scanner/drawable-expected.gir,
2613         * tests/scanner/drawable.c,
2614         * tests/scanner/drawable.h:
2615         Add a method.
2616
2617 2008-08-21  Colin Walters  <walters@verbum.org>
2618
2619         * giscanner/glibtransformer.py: Compute prefix
2620         by searching through the symbol for bits
2621         rather than going directly from ctype; this fixes
2622         webkit_ namespace.
2623
2624 2008-08-21  Colin Walters  <walters@verbum.org>
2625
2626         * giscanner/glibtransformer.py: Also try squashing
2627         underscores from namespace, fixes webkit_web_view_new.
2628
2629 2008-08-21  Colin Walters  <walters@verbum.org>
2630
2631         * giscanner/glibtransformer.py: More ctor work,
2632         avoid having gtk_window_group_new end up under
2633         GtkWindow.
2634
2635 2008-08-21  Colin Walters  <walters@verbum.org>
2636
2637         * giscanner/glibtransformer.py: Much simpler approach
2638         of mapping uscored names to classes.
2639         * giscanner/utils.py: Remove unnecessary function.
2640
2641 2008-08-21  Johan Dahlin  <johan@gnome.org>
2642
2643         * girepository/girepository.c (g_irepository_require):
2644         Plug memory leak and avoid using freed memory.
2645         Resolve the whole module path, here as well.
2646
2647 2008-08-21  Colin Walters  <walters@verbum.org>
2648
2649         * giscanner/glibtransformer.py: Look up all permutations
2650         of class names when scanning methods/ctors based on
2651         the prefix instead of using the return value.  This
2652         associates gtk_window_new with the right class.
2653
2654 2008-08-21  Colin Walters  <walters@verbum.org>
2655
2656         * girepository/girmodule.c (g_ir_module_build_typelib): 
2657         Revert change to increment header_size; we do that in
2658         write_string.
2659
2660 2008-08-21  Colin Walters  <walters@verbum.org>
2661
2662         * girepository/girnode.c (write_string): Tweak to
2663         use UINT instead of INT.  Not likely to matter.
2664         * girepository/girmodule.c (g_ir_module_build_typelib):
2665         Add to header_offset as well for header strings
2666         to match what write_string does.
2667         * girepository/gtypelib.c: Replace is_name with
2668         validate_name, which more strongly validates and
2669         handles errors in a better way.  Update all callers.
2670         * giscanner/glibtransformer.py: Handle constructors
2671         better.
2672
2673 2008-08-21  Johan Dahlin  <johan@gnome.org>
2674
2675         * gir/Makefile.am (typelibs_DATA): Build and 
2676         install the Gio.typelib too
2677
2678         * girepository/gtypelib.c (_g_typelib_init):
2679         Use g_module_build_path to resolve the shlib name
2680
2681 2008-08-21  Colin Walters  <walters@verbum.org>
2682
2683         * gir/Makefile.am: CLEANFILES typelibs too.
2684
2685 2008-08-21  Johan Dahlin  <johan@gnome.org>
2686
2687         * giscanner/glibtransformer.py:
2688         Do not send .la files through find_library.
2689
2690 2008-08-21  Colin Walters  <walters@verbum.org>
2691
2692         * girepository/girparser.c (g_irepository_require):
2693         Fix one small leak in error case.
2694
2695 2008-08-21  Johan Dahlin  <johan@gnome.org>
2696
2697         * gir/Makefile.am:
2698         Parse glibconfig.h as well and install the compiled
2699         typelib
2700
2701 2008-08-21  Johan Dahlin  <johan@gnome.org>
2702
2703         * gir/Makefile.am:
2704         * giscanner/glibtransformer.py:
2705         * tools/g-ir-scanner:
2706         Do not hard-core library names in the Makefile, reuse
2707         ctypes find_library instead.
2708
2709 2008-08-21  Johan Dahlin  <johan@gnome.org>
2710
2711         * girepository/girparser.c (resolve_aliases):
2712         Remove compilation warnings
2713
2714 2008-08-21  Johan Dahlin  <johan@gnome.org>
2715
2716         * girepository/girepository.c (g_irepository_require):
2717         Rewrap and fix double free bug by leaking a bit.
2718
2719 2008-08-20  Colin Walters  <walters@verbum.org>
2720
2721         * girepository/girepository.c: Add new function
2722         g_irepository_get_typelib_path which tells
2723         us from where we loaded a namespace.
2724
2725 2008-08-20  Colin Walters  <walters@verbum.org>
2726
2727         * tests/scanner/*-expected.gir: Adjust for
2728         added shared-library.
2729         * giscanner/giwriter.py: Make pylint happy.
2730
2731 2008-08-20  Colin Walters  <walters@verbum.org>
2732
2733         * girepository/girmodule.c (g_ir_module_build_typelib):
2734         Calculate size correctly, avoid use-after-free.
2735
2736 2008-08-20  Colin Walters  <walters@verbum.org>
2737
2738         * girepository/girepository.c: Remove
2739         g_irepository_register_file in favor of
2740         g_irepository_require.  There are two
2741         possible deployment scenarios for typelibs:
2742         First, separate in $DATADIR/gitypelibs/.  Second,
2743         they may be embedded in shlibs.  However since
2744         the first is now the normal case, the API is
2745         optimized around it.
2746
2747         Refactor internals to look up typelibs for
2748         namespaces just-in-time, but we expect
2749         consumers to call g_irepository_require.
2750
2751         Also, add some docs.  No one has died from that
2752         before.
2753         * gir/Makefile.am: Need --library for glib.
2754         * giscanner/girwriter.py: Write out shared-library.
2755         * tools/g-ir-writer: Take the first --library
2756         argument as the target of shared-library.  In
2757         the future we should make this nicer with pkg-config
2758         probably.
2759
2760 2008-08-20  Colin Walters  <walters@verbum.org>
2761
2762         * girepository/girparser.py: And parse them.
2763
2764 2008-08-20  Johan Dahlin  <johan@gnome.org>
2765
2766         * giscanner/glibast.py: Add gshort/gushort types
2767
2768 2008-08-20  Colin Walters  <walters@verbum.org>
2769
2770         * gir/Makefile.am: Rename .gir files using GI namespace.
2771         * girepository/girepository.c: Use XDG_DATA_DIRS for
2772         looking up typelibs.  Also typelibs are now suffixed
2773         with .typelib.
2774         * tests/invoke/Makefile.am: Only use metadata.
2775         * girepository/Makefile.am: Remove unnecessary include.
2776         * tests/scanner/Makefile.am: Update using GI namespaces
2777         for scanner includes.
2778
2779 2008-08-20  Colin Walters  <walters@verbum.org>
2780
2781         * girepository/transformer.py: Suppress aliases whose
2782         name is a builtin.
2783         * girepository/ast.py: Define some more aliases.
2784
2785 2008-08-20  Colin Walters  <walters@verbum.org>
2786
2787         * girepository/girparser.c: Avoid alias infloops.
2788
2789 2008-08-20  Colin Walters  <walters@verbum.org>
2790
2791         * tests/scanner/foo-expected.gir: Fix expected list type.
2792
2793 2008-08-20  Johan Dahlin  <johan@gnome.org>
2794
2795         * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name): 
2796         Add a workaround for #548689.
2797         We can now compile gtk!
2798
2799 2008-08-20  Colin Walters  <walters@verbum.org>
2800
2801         * giscanner/glibtransformer.py: Try to look up
2802         aliases using the c:type too.
2803
2804 2008-08-20  Colin Walters  <walters@verbum.org>
2805
2806         * girepository/girparser.c: Parse union fields.
2807
2808 2008-08-20  Johan Dahlin  <johan@gnome.org>
2809
2810         * giscanner/ast.py: Make time_t an alias for long
2811
2812         * gir/gio-2.0-good.gir:
2813         * gir/glib-2.0-good.gir:
2814         * gir/gobject-2.0-good.gir:
2815         Regnerate
2816         * giscanner/glibtransformer.py:
2817         Do not delete Class structures, we need them in gdk/gtk.
2818         * tests/scanner/drawable-expected.gir:
2819         * tests/scanner/foo-expected.gir:
2820         * tests/scanner/utility-expected.gir:
2821         Update tests.
2822
2823 2008-08-20  Johan Dahlin  <johan@gnome.org>
2824
2825         * tests/scanner/Makefile.am:
2826         * tests/scanner/annotation-expected.gir:
2827         * tests/scanner/annotation.c (annotation_object_class_init),
2828         (annotation_object_init), (annotation_object_method),
2829         (annotation_object_in), (annotation_object_out),
2830         (annotation_object_inout), (annotation_object_inout2),
2831         (annotation_object_inout3), (annotation_object_calleeowns),
2832         (annotation_object_calleesowns), (annotation_object_get_strings),
2833         (annotation_object_with_voidp), (annotation_object_get_objects),
2834         (annotation_object_create_object), (annotation_object_allow_none):
2835         * tests/scanner/annotation.h:
2836         * tests/scanner/foo-expected.gir:
2837         * tests/scanner/foo.c:
2838         * tests/scanner/foo.h:
2839         Split out annotation tests out of foo
2840
2841 2008-08-20  Johan Dahlin  <johan@gnome.org>
2842
2843         * tests/scanner/Foo-expected.gir:
2844         * tests/scanner/Makefile.am:
2845         * tests/scanner/foo-expected.gir:
2846         * tests/scanner/foo-object.h:
2847         * tests/scanner/foo.c:
2848         Foo->foo, foo-object.h -> foo.h
2849
2850 2008-08-20  Johan Dahlin  <johan@gnome.org>
2851
2852         * tests/scanner/Foo-expected.gir:
2853         * tests/scanner/Makefile.am:
2854         * tests/scanner/drawable-expected.gir:
2855         * tests/scanner/drawable.c (test_drawable_class_init),
2856         (test_drawable_init):
2857         * tests/scanner/drawable.h:
2858         * tests/scanner/foo-object.h:
2859         * tests/scanner/foo.c (foo_boxed_method):
2860         Move the drawable parts out of Foo to its own test.
2861
2862 2008-08-20  Johan Dahlin  <johan@gnome.org>
2863
2864         * tests/scanner/Foo-expected.gir:
2865         * tests/scanner/foo-object.h:
2866         * tests/scanner/foo.c (foo_drawable_class_init),
2867         (foo_drawable_init):
2868         Add a based on GdkDrawable which generates
2869         a broken gir.
2870
2871 2008-08-19  Colin Walters  <walters@verbum.org>
2872
2873         * giscanner/transformer.py: Don't try
2874         to strip prefix before namespace.
2875
2876 2008-08-19  Johan Dahlin  <johan@gnome.org>
2877
2878         * giscanner/transformer.py:
2879         * tests/scanner/Foo-expected.gir:
2880         * tests/scanner/foo-object.h:
2881         Add support for typedef void foo type of
2882         aliases.
2883
2884 2008-08-19  Johan Dahlin  <johan@gnome.org>
2885
2886         * giscanner/ast.py:
2887         * giscanner/girwriter.py:
2888         * giscanner/glibtransformer.py:
2889         * giscanner/transformer.py:
2890         * tests/scanner/Foo-expected.gir:
2891         Add basic support for union, base the code much
2892         on Struct. Add a testcase.
2893
2894 2008-08-19  Johan Dahlin  <johan@gnome.org>
2895
2896         * tests/scanner/Foo-expected.gir:
2897         * tests/scanner/foo-object.h:
2898         Add a union testcase which the compiler currently
2899         barfs at.
2900
2901 2008-08-19  Johan Dahlin  <johan@gnome.org>
2902
2903         * gobject-introspection-1.0.pc.in:
2904         Add a g_ir_compiler variable
2905
2906 2008-08-19  Colin Walters  <walters@verbum.org>
2907
2908         * giscanner/ast.py: Rework types to be more closely
2909         based on GITypeTag.
2910         * giscanner/girparser.py: Parse more bits.
2911         * giscanner/girwriter.py: Write sequences in a new
2912         way that specifies container type.
2913         * giscanner/glibast.py: Adjust for ast.py changes,
2914         add 'ctype' property to GLibObject and GLibInterface
2915         so we can look things up by it later.
2916         * gicanner/transformer.py: Names is new class holding
2917         the various namespaces we manage.  Do not confuse
2918         with Namespace which is toplevel XML node effectively.
2919         Rework all type resolution to go through
2920         _resolve_type_name_1.
2921         * giscanner/glibtransformer.py: Raise UnknownTypeError
2922         instead of ValueError for cleanliness.  Add Unresolved
2923         class to mark types whose parent we haven't seen yet.
2924         Use new Names object from transformer.py.
2925         Correctly look up parent=.
2926         Fix type validation to handle sequences.
2927         * tests/scanner/Foo-expected.gir: Update for sequence
2928         work, int instead of int32.
2929         * tools/g-ir-scanner: Add --noclosure option
2930         * gir/Makefile.am: Use --noclosure by default for
2931         GLib/GObject.
2932
2933 2008-08-18  Johan Dahlin  <johan@gnome.org>
2934
2935         * gir/gio-2.0-good.gir:
2936         * gir/glib-2.0-good.gir:
2937         * gir/gobject-2.0-good.gir:
2938         Regenerate.
2939
2940 2008-08-18  Johan Dahlin  <johan@gnome.org>
2941
2942         * giscanner/ast.py:
2943         * giscanner/girparser.py:
2944         * giscanner/girwriter.py:
2945         * giscanner/glibast.py:
2946         * giscanner/glibtransformer.py:
2947         * giscanner/transformer.py:
2948         * tests/scanner/Foo-expected.gir:
2949         * tests/scanner/foo-object.h:
2950         * tests/scanner/utility-expected.gir:
2951         * tests/scanner/utility.h:
2952         Redo type resolving and validation.
2953         Add a couple of new tests.
2954         Patch mostly written by Colin.
2955
2956 2008-08-18  Johan Dahlin  <johan@gnome.org>
2957
2958         * gir/Makefile.am:
2959         * giscanner/girparser.py:
2960         Set ctype of enums
2961         * giscanner/transformer.py:
2962         Improve enum parsing for enums without a GType.
2963         Make flags/enum references to other girs work
2964         * giscanner/utils.py:
2965         Simplify this a bit
2966         * tests/scanner/Makefile.am:
2967         * tests/scanner/foo-object.h:
2968         * tests/scanner/utility-expected.gir:
2969         * tests/scanner/utility.h:
2970         Add a new test for external enum references
2971
2972 2008-08-18  Johan Dahlin  <johan@gnome.org>
2973
2974         * docs/global-module-registry.txt: Update
2975
2976         * tests/array.gir: Update with new type proposal
2977
2978         * girepository/girepository.c (g_type_tag_to_string):
2979         * girepository/girepository.h:
2980         * girepository/girnode.c (g_ir_node_get_full_size_internal),
2981         (find_entry_node):
2982         * girepository/girnode.h:
2983         Make enum serializing functions public. Clean up some whitespace.
2984
2985 2008-08-17  Johan Dahlin  <johan@gnome.org>
2986
2987         * docs/global-module-registry.txt:
2988         Add a document for an on disk module registry format
2989
2990 2008-08-17  Johan Dahlin  <johan@gnome.org>
2991
2992         * gir/Makefile.am:
2993         * gir/gio-2.0-good.gir:
2994         Add a gio gir.
2995
2996 2008-08-17  Johan Dahlin  <johan@gnome.org>
2997
2998         * gir/Makefile.am:
2999         * gir/glib-2.0-good.gir:
3000         * gir/gobject-2.0-good.gir:
3001         * giscanner/cgobject.py:
3002         * giscanner/glibtransformer.py:
3003         Regenerate GObject & GType.
3004         Avoid warnings when generating gobject-2.0.gir.
3005         Introspect a little more, and skip *_get_type functions.
3006
3007 2008-08-17  Colin Walters  <walters@verbum.org>
3008
3009         * gir/glib-2.0.gir, gir/gobject-2.0.gir:
3010         Rename to -good, always generate during build.
3011         * gir/Makefile.am: Ensure .gir files dep on
3012         all scanner sources.
3013         * Makefile.am: Switch build order to ensure
3014         the scanner is ready before we do gir/.
3015         * tools/g-ir-scanner: Look for .git too.
3016
3017 2008-08-17  Johan Dahlin  <johan@gnome.org>
3018
3019         * girepository/gtypelib.c (validate_enum_blob):
3020         * giscanner/glibtransformer.py:
3021         * giscanner/transformer.py:
3022         Remove resolve_possible_typedefs, it was unused.
3023         Allow multiple enum values of the sample value in an enum,
3024         since it's actually pretty common.
3025         Register enums so they can be resolved too.
3026
3027 2008-08-16  Johan Dahlin  <johan@gnome.org>
3028
3029         * giscanner/girparser.py:
3030         Parse enumeration/bitfield.
3031
3032 2008-08-16  Johan Dahlin  <johan@gnome.org>
3033
3034         * giscanner/girparser.py:
3035         Parse boxed types.
3036
3037 2008-08-16  Johan Dahlin  <johan@gnome.org>
3038
3039         * giscanner/glibtransformer.py:
3040         Resolve type names for alias targets
3041         * giscanner/transformer.py:
3042         Skip FILE* parameters fow now
3043
3044 2008-08-16  Johan Dahlin  <johan@gnome.org>
3045
3046         * gir/glib-2.0.gir:
3047         * gir/gobject-2.0.gir:
3048         Regenerate
3049
3050         * tests/scanner/Makefile.am:
3051         parser -> scanner
3052
3053 2008-08-15  Colin Walters  <walters@verbum.org>
3054
3055         * giscanner/glibtransformer.py: Explicitly construct
3056         new list, since we're deleting as we iterate.
3057         Don't delete all structures which end in Class; just
3058         ones which have a paired GObject.
3059         Fix printing of type warning.
3060         * giscanner/transformer.py: Make strip_namespace_object
3061         be the identity function if it doesn't match the 
3062         namespace.
3063
3064 2008-08-15  Colin Walters  <walters@verbum.org>
3065
3066         * giscanner/cgobject.py: Define yet more argument
3067         prototypes; fix prototype for g_type_fundamental.
3068
3069 2008-08-14  Johan Dahlin  <johan@gnome.org>
3070
3071         * tests/Makefile.am:
3072         * tests/constant.gir:
3073         * tests/gobject.gir:
3074         * tests/struct.gir:
3075         * tools/generate.c (write_struct_info):
3076         Fix generator for constant/gobject/struct
3077
3078 2008-08-14  Johan Dahlin  <johan@gnome.org>
3079
3080         * tests/Makefile.am:
3081         * tests/enum.gir:
3082         * tools/generate.c (write_enum_info):
3083         Fix generation of enum/bitfields
3084
3085 2008-08-14  Johan Dahlin  <johan@gnome.org>
3086
3087         * girepository/girparser.c (start_field), (start_constant),
3088         (start_type), (end_element_handler):
3089         Clear up constant parsing
3090
3091         * tests/object.gir:
3092         Update
3093
3094         * tools/generate.c (write_callable_info), (write_function_info),
3095         (write_callback_info), (write_constant_info), (write_signal_info),
3096         (write_vfunc_info), (write_property_info), (write_object_info),
3097         (write_interface_info):
3098         Constants/Signals are handled now.
3099
3100 2008-08-14  Johan Dahlin  <johan@gnome.org>
3101
3102         * girepository/girparser.c (start_type):
3103         Don't require c:type.
3104         * tests/Makefile.am:
3105         Test boxed.gir
3106         * tests/boxed.gir:
3107         Update, remove parts we don't support yet
3108         * tests/roundtrips.sh:
3109         Remove
3110         * tools/generate.c (write_type_info), (write_field_info),
3111         (write_callable_info), (write_struct_info):
3112         Make it emit proper gir.
3113
3114 2008-08-14  Johan Dahlin  <johan@gnome.org>
3115
3116         * giscanner/transformer.py:
3117         New internal function for adding a new node.
3118
3119 2008-08-14  Johan Dahlin  <johan@gnome.org>
3120
3121         * gir/Makefile.am:
3122         Define an internal _H_ variable so we skip parsing both
3123         i18n headers, only one is needed.
3124         * gir/glib-2.0.gir:
3125         Add the glib-2.0.gir too.
3126         * giscanner/glibast.py:
3127         Add gconstpointer as an alias for ANY
3128         * giscanner/transformer.py:
3129         Do not lower case enumeration names per se.
3130         Skip functions which has parameters called 'va_list'
3131
3132 2008-08-14  Colin Walters  <walters@verbum.org>
3133
3134         * giscanner/transformer.py: Comment data structures.
3135         Also squash pointers in resolve_type_name to correspond
3136         with what we do for params.
3137         * giscanner/glibtransformer.py: Print warnings in more
3138         situations.  Rework checks for method/constructor to
3139         look up in our GType database instead of just checking
3140         for *.   Avoid generating <record> for GObject which
3141         duplicate the <class>.
3142         * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
3143         in here.
3144
3145 2008-08-14  Johan Dahlin  <johan@gnome.org>
3146
3147         * giscanner/girwriter.py:
3148         * giscanner/glibast.py:
3149         * giscanner/glibtransformer.py:
3150         * giscanner/transformer.py:
3151         * misc/pyflakes.py:
3152         * tests/Makefile.am:
3153         Add pyflakes.py and run it in make check.
3154         Update the source code to fix the errors reported by
3155         pyflakes.
3156
3157 2008-08-14  Johan Dahlin  <johan@gnome.org>
3158
3159         * giscanner/ast.py:
3160         * giscanner/girparser.py:
3161         * giscanner/glibast.py:
3162         * giscanner/glibtransformer.py:
3163         Refactor the parser a bit.
3164         Add parent type to interfaces and update callsites.
3165
3166 2008-08-14  Johan Dahlin  <johan@gnome.org>
3167
3168         * giscanner/glibtransformer.py:
3169         * giscanner/utils.py:
3170         Refactor a bit, avoid isinstance and add a method
3171         for each type we parse.
3172
3173 2008-08-14  Johan Dahlin  <johan@gnome.org>
3174
3175         * giscanner/ast.py:
3176         * giscanner/girparser.py:
3177         * giscanner/glibtransformer.py:
3178         * tests/Makefile.am:
3179         Run pep8.py in make check, fix old errors.
3180
3181 2008-08-13  Colin Walters  <walters@verbum.org>
3182
3183         * giscanner/girparser.py: Parse records.
3184
3185 2008-08-13  Colin Walters  <walters@verbum.org>
3186
3187         * gir/Makefile.am: Install again.
3188         * gir/gobject-2.0.gir: Add some more bits.
3189
3190 2008-08-13  Colin Walters  <walters@verbum.org>
3191
3192         * gir/gobject-2.0.gir: Use correct namespace, add GType.
3193         * giscanner/girparser.py: Handle aliases.
3194         * giscanner/transformer.py: Record aliases.  Make resolver
3195         functions public; we now call into these explicitly from
3196         glibtransformer.  Handle resolving aliases.
3197         * giscanner/glibtransformer.py: Separate our internal namespace
3198         from included ones.  Call up into transformer's resolver functions.
3199
3200 2008-08-13  Johan Dahlin  <johan@gnome.org>
3201
3202         * girepository/girnode.c (g_ir_node_get_full_size_internal):
3203         * girepository/girparser.c (start_class):
3204         * giscanner/glibtransformer.py:
3205         Allow get_type to be None, set a get_type for GInitiallyUnowned too.
3206
3207 2008-08-13  Johan Dahlin  <johan@gnome.org>
3208
3209         * giscanner/cgobject.py:
3210         Register GInitiallyUnowned
3211         * giscanner/girwriter.py:
3212         * giscanner/glibtransformer.py:
3213         Special case GObject/GInitially owned as they are a bit special to use.
3214
3215 2008-08-13  Colin Walters  <walters@verbum.org>
3216
3217         * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
3218         Object is in GObject namespace.
3219
3220 2008-08-13  Colin Walters  <walters@verbum.org>
3221
3222         * giscanner/girparser.py: Fix processing of functions
3223         from last commit.
3224
3225 2008-08-13  Colin Walters  <walters@verbum.org>
3226
3227         * giscanner/girparser.py: Parse more than just <class.
3228         * giscanner/glibtransformer.py: Put aliases in a separate
3229         data structure since their name is not canonicall.
3230         * giscanner/transformer.py: Handle resolving type names
3231         from includes.
3232
3233 2008-08-13  Johan Dahlin  <johan@gnome.org>
3234
3235         * tools/g-ir-scanner:
3236         Allow multiple libraries
3237         * giscanner/glibtransformer.py:
3238         Rename load_library to add_library, traverse over all libraries
3239         when trying to resolve a function
3240
3241 2008-08-12  Colin Walters  <walters@verbum.org>
3242
3243         * giscanner/transformer.py: Record typedefs as <alias> elements.
3244           Also attempt to look up types in external namespaces.
3245         * giscanner/girwriter.py: Write them.
3246         * giscanner/glibtransformer.py: Rework resolver using real instanceof
3247         checks.  Resolve interface methods and properties.
3248         * tests/scanner/foo-object.h: Add a method with typedef.
3249         * tests/scanner/Foo-expected.gir: Update.
3250         * girepository/girnode.c: Debug tweaks.
3251         * girepository/girparser.c: Make a first pass through the XML where we
3252         record all the aliases.  This lets us resolve them as we go through the
3253         second pass.
3254         * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
3255         from gir-repository.
3256
3257 2008-08-12  Colin Walters  <walters@verbum.org>
3258
3259         * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
3260         Correctly do subclasseing in 2nd pass resolution.  Handle callbacks in structure
3261         fields.
3262         * giscanner/transformer.py: Record typedefs and expose public API for resolving
3263         them.
3264         * tests/scanner/Foo-expected.gir: Fix expected callback types.
3265
3266 2008-08-12  Colin Walters  <walters@verbum.org>
3267
3268         * giscanner/glibtransformer.py: Also transform object properties.
3269
3270 2008-08-12  Colin Walters  <walters@verbum.org>
3271
3272         * giscanner/glibtransformer.py: Also transform callbacks
3273         and structure field types.
3274         * tests/scanner/Fooe-expected.gir: Update to expect correct
3275         names for callbacks and structs.
3276
3277 2008-08-12  Colin Walters  <walters@verbum.org>
3278
3279         * girepository/girparser.c: Handle 'any'.
3280         * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
3281         Add test for void *.
3282
3283 2008-08-12  Colin Walters  <walters@verbum.org>
3284
3285         * giscanner/glibtransformer.py: We need to do type
3286         resolution in a second pass after we've seen all the
3287         enums, records, etc.
3288
3289 2008-08-12  Colin Walters  <walters@verbum.org>
3290
3291         * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
3292         Add enum return value.
3293         * giscanner/glibtransformer.py: Transform function return types
3294         too.
3295
3296 2008-08-12  Colin Walters  <walters@verbum.org>
3297
3298         * tests/scanner/Makefile.am: Dep .gir files on scanner
3299         sources too.  Also remove @ so we see scanner invocations.
3300
3301 2008-08-12  Colin Walters  <walters@verbum.org>
3302
3303         * girepository/girparser.c, girepository/gtypelib.c,
3304         girepository/gtypelib.h, girepository/girnode.c:
3305         Remove usage of (GAPI-oriented) TypeTag in favor of
3306         GITypeTag from girepository.h.
3307
3308 2008-08-10  Colin Walters  <walters@verbum.org>
3309
3310         * tests/roundtrips.sh: Use the correct tests.
3311
3312 2008-08-10  Colin Walters  <walters@verbum.org>
3313
3314         * giscanner/cgobject.py: Declare/wrap a few more functions.
3315         Fix parameter types for g_object_new and g_type_fundamental.
3316
3317 2008-08-10  Colin Walters  <walters@verbum.org>
3318
3319         * giscanner/cgobject.py: Add new decorator @gwrap which forces
3320         us to declare types for both return value and parameters.  The
3321         ctypes default of 'int' is bad because it hides 32/64 bit
3322         problems.  Convert all existing functions to use it.
3323
3324 2008-08-09  Johan Dahlin  <johan@gnome.org>
3325
3326         * giscanner/__init__.py:
3327         * giscanner/ast.py:
3328         * giscanner/cgobject.py:
3329         * giscanner/gidlparser.py:
3330         * giscanner/gidlwriter.py:
3331         * giscanner/girparser.py:
3332         * giscanner/girwriter.py:
3333         * giscanner/glibast.py:
3334         * giscanner/glibtransformer.py:
3335         * giscanner/odict.py:
3336         * giscanner/sourcescanner.py:
3337         * giscanner/transformer.py:
3338         * giscanner/utils.py:
3339         * giscanner/xmlwriter.py:
3340         * tools/g-ir-scanner:
3341
3342         PEP8ify
3343
3344 2008-08-09  Johan Dahlin  <johan@gnome.org>
3345
3346         * relaxng/api.xml:
3347         * relaxng/c-types.xml:
3348         * relaxng/g-types.xml:
3349         * relaxng/relaxng.rng:
3350         * relaxng/util.xml:
3351         Remove outdated relaxng schemas.
3352
3353 2008-08-09  Johan Dahlin  <johan@gnome.org>
3354
3355         * *.[ch]:
3356         Rename metadata to typelib in variable names,
3357         comments and apis.
3358
3359 2008-08-09  Johan Dahlin  <johan@gnome.org>
3360
3361         * tools/scanner.c:
3362         * tools/scanner.h:
3363         Remove old C scanner, which got rewritten in python.
3364
3365 2008-08-09  Johan Dahlin  <johan@gnome.org>
3366
3367         * girepository/Makefile.am:
3368         * tools/Makefile.am:
3369         * tools/girmodule.c:
3370         * tools/girmodule.h:
3371         * tools/girnode.c:
3372         * tools/girnode.h:
3373         * tools/girparser.c:
3374         * tools/girparser.h:
3375         * tools/girwriter.c:
3376         * tools/girwriter.h:
3377         Move shared *.[ch] files to girepository from tools
3378
3379 2008-08-09  Johan Dahlin  <johan@gnome.org>
3380
3381         * tests/Makefile.am:
3382         * tests/array.test:
3383         * tests/boxed.test:
3384         * tests/constant.test:
3385         * tests/enum.test:
3386         * tests/errors.test:
3387         * tests/function.test:
3388         * tests/gobject.test:
3389         * tests/interface.test:
3390         * tests/object.test:
3391         * tests/struct.test:
3392         * tests/types.test:
3393         * tests/union.test:
3394         * tests/xref1.test:
3395         * tests/xref2.test:
3396         Rename *.test to *.gir
3397
3398 2008-08-09  Johan Dahlin  <johan@gnome.org>
3399
3400         * configure.ac:
3401         * tests/Makefile.am:
3402         * tests/parser/Foo-expected.gir:
3403         * tests/parser/Makefile.am:
3404         * tests/parser/foo-object.h:
3405         * tests/parser/foo.c:
3406         * tests/parser/utility-expected.gir:
3407         * tests/parser/utility.c:
3408         * tests/parser/utility.h:
3409         * tests/scanner/Makefile.am:
3410         Rename tests/parser to test/scanner
3411
3412 2008-08-08  Colin Walters  <walters@verbum.org>
3413
3414         * tests/roundtrips.sh: Use local .gir files again.
3415
3416 2008-08-08  Colin Walters  <walters@verbum.org>
3417
3418         * tests/invoke/Makefile.am: .gir file depends on libtool
3419         library.
3420
3421 2008-08-08  Colin Walters  <walters@verbum.org>
3422
3423         * tools/girnode.c: Pass through parent node so we can
3424         print the node whose child is NULL, if that occurs.
3425
3426 2008-08-08  Johan Dahlin  <johan@gnome.org>
3427
3428         * tests/Makefile.am:
3429         Disable roundtrip tests which are not yet working
3430         * tests/invoke/testfns.gir:
3431         Rewrite as gir.
3432
3433 2008-08-08  Johan Dahlin  <johan@gnome.org>
3434
3435         * giscanner/girwriter.py:
3436         type -> ntype
3437         * giscanner/glibast.py:
3438         * giscanner/glibtransformer.py:
3439         Swap order of members, to keep it consistent with
3440         base enum class
3441
3442 2008-08-08  Johan Dahlin  <johan@gnome.org>
3443
3444         * girepository/gtypelib.c (validate_header):
3445         * girepository/gtypelib.h:
3446         * giscanner/ast.py:
3447         * giscanner/girwriter.py:
3448         * giscanner/sourcescanner.c (gi_source_symbol_ref),
3449         (gi_source_symbol_unref):
3450         * tests/array.test:
3451         * tests/boxed.test:
3452         * tests/constant.test:
3453         * tests/enum.test:
3454         * tests/errors.test:
3455         * tests/function.test:
3456         * tests/gobject.test:
3457         * tests/interface.test:
3458         * tests/invoke/Makefile.am:
3459         * tests/invoke/testfns.xml:
3460         * tests/object.test:
3461         * tests/parser/Makefile.am:
3462         * tests/roundtrips.sh:
3463         * tests/struct.test:
3464         * tests/types.test:
3465         * tests/union.test:
3466         * tests/xref1.test:
3467         * tests/xref2.test:
3468         * tools/Makefile.am:
3469         * tools/compiler.c (main):
3470         * tools/generate.c (write_callable_info), (write_function_info),
3471         (write_repository):
3472         * tools/gidlmodule.c:
3473         * tools/gidlmodule.h:
3474         * tools/gidlnode.c:
3475         * tools/gidlnode.h:
3476         * tools/gidlparser.c:
3477         * tools/gidlparser.h:
3478         * tools/gidlwriter.c:
3479         * tools/gidlwriter.h:
3480         * tools/scanner.c (create_node_from_gtype),
3481         (create_node_from_ctype), (g_igenerator_process_properties),
3482         (g_igenerator_process_signals), (g_igenerator_create_object),
3483         (g_igenerator_create_interface), (g_igenerator_create_boxed),
3484         (g_igenerator_create_enum), (g_igenerator_create_flags),
3485         (g_igenerator_process_function_symbol),
3486         (g_igenerator_process_unregistered_struct_typedef),
3487         (g_igenerator_process_struct_typedef),
3488         (g_igenerator_process_union_typedef),
3489         (g_igenerator_process_enum_typedef),
3490         (g_igenerator_process_function_typedef),
3491         (g_igenerator_process_constant), (g_igenerator_process_symbols),
3492         (g_igenerator_add_module), (g_igenerator_add_include_idl):
3493         Merge in the gir-compiler branch.
3494         Thanks to Philip and Colin for their help.
3495
3496 2008-07-26  Colin Walters  <walters@verbum.org>
3497
3498         * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
3499         and g-idl-generate to go along with how we're changing this
3500         module to be installed.
3501         * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
3502
3503 2008-07-24  Colin Walters  <walters@verbum.org>
3504
3505         * girepository/girepository.c (g_irepository_register): Add
3506         environment variable G_IREPOSITORY_VERBOSE so we can print
3507         out what we're doing.
3508         * girepository/girepository.c (g_irepository_register_file): 
3509         Add GError error message to g_debug call.
3510
3511 2008-07-08  Jürg Billeter  <j@bitron.ch>
3512
3513         * giscanner/glibast.py:
3514
3515         Fix typo
3516
3517 2008-06-21  Johan Dahlin  <jdahlin@async.com.br>
3518
3519         * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
3520         more tags
3521
3522 2008-06-20  Johan Dahlin  <jdahlin@async.com.br>
3523
3524         * giscanner/ast.py:
3525         * giscanner/girwriter.py:
3526         * giscanner/transformer.py:
3527         * tests/parser/Foo-expected.gir:
3528         * tests/parser/foo-object.h:
3529         * tests/parser/foo.c (foo_object_allow_none):
3530         Add support for gtk-doc annotations for allow-none.
3531         Add test case.
3532
3533 2008-06-19  Johan Dahlin  <jdahlin@async.com.br>
3534
3535         * giscanner/ast.py:
3536         * giscanner/girwriter.py:
3537         * giscanner/glibast.py:
3538         * giscanner/glibtransformer.py:
3539         * giscanner/transformer.py:
3540         * tests/parser/Foo-expected.gir:
3541         Start using abstract type instead of the raw C types.
3542         Register a bunch of glib types we care about.
3543
3544 2008-06-19  Rob Taylor  <rob.taylor@codethink.co.uk>
3545
3546         * AUTHORS:
3547         Update authors
3548
3549 2008-06-08  Philip Van Hoof  <pvanhoof@gnome.org>
3550
3551         * girepository/girepository.c:
3552         * girepository/gtypelib.c:
3553         * girepository/ginfo.c:
3554         * girepository/ginvoke.c:
3555         * girepository/girepository.h:
3556         * girepository/gtypelib.h:
3557         * girepository/gmetadata.c:
3558         * girepository/Makefile.am:
3559         * girepository/gmetadata.h:
3560         * tools/compiler.c:
3561         * tools/gidlmodule.c:
3562         * tools/gidlnode.c
3563         * tools/generate.c:
3564         * tools/gidlmodule.h:
3565         * tools/gidlparser.c:
3566
3567         Renamed GMetadata to GTypelib
3568
3569 2008-06-07  Johan Dahlin  <jdahlin@async.com.br>
3570
3571         * giscanner/xmlwriter.py:
3572         Improve line wrapping when > 79 charaters
3573
3574 2008-06-05  Jürg Billeter  <j@bitron.ch>
3575
3576         * giscanner/ast.py:
3577         * giscanner/girwriter.py:
3578         * giscanner/transformer.py:
3579         Use <type> element for field types
3580         * tests/parser/Foo-expected.gir:
3581         Update testcase
3582
3583 2008-06-04  Johan Dahlin  <jdahlin@async.com.br>
3584
3585         * giscanner/glibtransformer.py:
3586         Fix a bug which prevented GdkEvent from being generated
3587
3588 2008-06-03  Johan Dahlin  <jdahlin@async.com.br>
3589
3590         * giscanner/Makefile.am:
3591         * giscanner/ast.py:
3592         * giscanner/girwriter.py:
3593         * giscanner/glibast.py:
3594         * giscanner/glibtransformer.py:
3595         * giscanner/transformer.py:
3596         * giscanner/utils.py:
3597         * tests/parser/Foo-expected.gir:
3598         Improve enum member parsing and introspection
3599
3600 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
3601
3602         * giscanner/scannerparser.y:
3603         * giscanner/sourcescanner.h:
3604         * giscanner/sourcescanner.py:
3605         Add a new source type enum for member.
3606         Use __repr__ for improved debugging
3607         * giscanner/girparser.py:
3608         Ignore some more
3609         * giscanner/transformer.py:
3610         Improve parsing of struct members.
3611         * tests/parser/foo-object.h:
3612         Add a new testcase
3613
3614 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
3615
3616         * giscanner/xmlwriter.py:
3617         Improve error reporting when trying to quote None.
3618         * giscanner/girparser.py:
3619         Do not print warnings when including more complete .gir files
3620         * giscanner/girwriter.py:
3621         Do not require a name for parameters, add a todo for singletons
3622         * giscanner/glibtransformer.py:
3623         Refactor the way structs are done, add a couple of hacks to allow
3624         us to get further.
3625         * giscanner/transformer.py:
3626         Add enough hacks so cairo, atk and pango.gir can be parsed properly
3627         * gobject-introspection-1.0.pc.in:
3628         Export girdir, so we can access gobject-2.0.gir from outside
3629
3630 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
3631
3632         * tools/g-ir-scanner:
3633         * tests/parser/Makefile.am:
3634         Update sys.path before running the parser so we don't have
3635         to setup PYTHONPATH ourselves.
3636
3637         * Makefile.am:
3638         * configure.ac:
3639         * girepository/Makefile.am:
3640         * giscanner/transformer.py:
3641         * gobject-introspection-1.0.pc.in:
3642         * gobject-introspection.pc.in:
3643         * tools/Makefile.am:
3644
3645         Rename pkg-config name to gobject-introspection-1.0,
3646         Do not installed anything which is not using the gir format.
3647         Disable compililation the old C scanner, but still keep the source
3648         until all the remaning functionallity has been ported.
3649
3650 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
3651
3652         * giscanner/giscannermodule.c (symbol_get_ident): Prevent
3653         a crash when symbol->indent is NULL.
3654
3655         * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
3656         a function to convert a CTYPE symbol to a string
3657
3658 2008-05-24  Johan Dahlin  <jdahlin@async.com.br>
3659
3660         * giscanner/ast.py:
3661         * giscanner/girwriter.py:
3662         * giscanner/giscannermodule.c
3663         (pygi_source_scanner_append_filename),
3664         (pygi_source_scanner_parse_file):
3665         * giscanner/glibtransformer.py:
3666         * giscanner/sourcescanner.py:
3667         Revert back to using temporary files to send in headers.
3668         Allow Functions to be passed in as callbacks, add a couple
3669         of try/excepts missing features.
3670         We can now scan pango
3671
3672 2008-05-08  Johan Dahlin  <johan@gnome.org>
3673
3674         * giscanner/glibtransformer.py:
3675         * giscanner/transformer.py:
3676         Move namespace stripping glibtransformer->transformer
3677
3678 2008-05-08  Johan Dahlin  <johan@gnome.org>
3679
3680         * giscanner/ast.py:
3681         * giscanner/girwriter.py:
3682         * giscanner/glibtransformer.py:
3683         * giscanner/transformer.py:
3684         * tools/g-ir-scanner:
3685         Introduce a namespace ast node
3686
3687 2008-05-05  Johan Dahlin  <johan@gnome.org>
3688
3689         * giscanner/__init__.py:
3690         * giscanner/sourcescanner.py:
3691         * giscanner/transformer.py:
3692         Move sourcescanner symbols to the sourcescanner module, instead
3693         of in the global __init__ namespace.
3694
3695 2008-05-03  Johan Dahlin  <johan@gnome.org>
3696
3697         * giscanner/glibtransformer.py:
3698         * tools/g-ir-scanner:
3699         Handle missing parameters better, allow - and + in .la dlname
3700         filenames.
3701
3702 2008-05-03  Johan Dahlin  <johan@gnome.org>
3703
3704         * giscanner/__init__.py:
3705         * giscanner/ast.py:
3706         * giscanner/girwriter.py:
3707         * giscanner/glibtransformer.py:
3708         * giscanner/transformer.py:
3709         Parse struct fields properly, improve debugging.
3710
3711 2008-04-29  Johan Dahlin  <johan@gnome.org>
3712
3713         * giscanner/ast.py:
3714         * giscanner/girwriter.py:
3715         * giscanner/transformer.py:
3716         * tests/parser/Foo-expected.gir:
3717         * TODO:
3718         Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
3719
3720 2008-04-29  Johan Dahlin  <jdahlin@async.com.br>
3721
3722         * Makefile.am:
3723         * docs/g-ir-scanner.1:
3724         * metadata-annotations-proposal.txt:
3725         * metadata-format.txt:
3726         Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
3727
3728 2008-04-29  Johan Dahlin  <jdahlin@async.com.br>
3729
3730         * giscanner/girwriter.py:
3731         * giscanner/glibtransformer.py:
3732         * giscanner/transformer.py:
3733         * giscanner/xmlwriter.py:
3734         * tests/parser/Foo-expected.gir:
3735         * tests/parser/foo-object.h:
3736         Write record/structs to gir file too. Add a couple of tests,
3737         fix an off by one error in xmlwriter.py.
3738
3739 2008-04-28  Johan Dahlin  <johan@gnome.org>
3740
3741         * giscanner/xmlwriter.py: Calculate the line length properly,
3742         include the provided extra indentation in the calculation, really.
3743
3744 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
3745
3746         * giscanner/ast.py:
3747         * giscanner/glibast.py:
3748         * giscanner/glibtransformer.py:
3749         * giscanner/transformer.py:
3750         * tools/g-ir-scanner:
3751         Add a --strip-prefix and sort out confusion between names and symbols
3752         for functions and struct + derivaties.
3753         Refactor bootstrap of g-ir-scanner, so we can set options on
3754         Transformer() before parsing everything.
3755
3756 2008-04-28  Johan Dahlin  <johan@gnome.org>
3757
3758         * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
3759         when scanning girepository.h
3760
3761         * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
3762         a __GI_SCANNER__ when we run.
3763
3764 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
3765
3766         * giscanner/ast.py:
3767         * giscanner/girwriter.py:
3768         * giscanner/glibast.py:
3769         * giscanner/glibtransformer.py:
3770         * tests/parser/Foo-expected.gir:
3771         * tests/parser/utility-expected.gir:
3772         Rename most c:identifier to c:type. Add new ones to
3773         class/interface/enum/boxed.
3774
3775 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
3776
3777         * giscanner/ast.py:
3778         * giscanner/girwriter.py:
3779         * giscanner/glibtransformer.py:
3780         * tests/parser/Foo-expected.gidl:
3781         * tests/parser/Makefile.am:
3782         Move c:identifier from return-value to subchild type,
3783         as per Jürgs suggestion
3784
3785 2008-04-28  Johan Dahlin  <johan@gnome.org>
3786
3787         * giscanner/girwriter.py:
3788         * tests/parser/Foo-expected.gir:
3789         Write property.type as a child node.
3790
3791 2008-04-27  Johan Dahlin  <johan@gnome.org>
3792
3793         * Makefile.am:
3794         * configure.ac:
3795         * gidl/Makefile.am:
3796         * gidl/gobject-2.0.gidl:
3797         * gir/Makefile.am:
3798         * gir/gobject-2.0.gir:
3799         * tests/parser/Makefile.am:
3800         Replace the GObject gidl with a GObject gir.
3801
3802 2008-04-27  Johan Dahlin  <johan@gnome.org>
3803
3804         * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
3805         not a program.
3806
3807         * giscanner/xmlwriter.py:
3808         * tests/parser/Foo-expected.gir:
3809         Include indentation in line length calculation
3810
3811 2008-04-27  Johan Dahlin  <johan@gnome.org>
3812
3813         * giscanner/girparser.py:
3814         Prettify NS parsing using elementtree.
3815
3816 2008-04-27  Johan Dahlin  <johan@gnome.org>
3817
3818         * configure.ac:
3819         * giscanner/Makefile.am:
3820         * giscanner/girparser.py:
3821         * giscanner/glibtransformer.py:
3822         * tests/parser/Foo-expected.gidl:
3823         * tests/parser/Foo-expected.gir:
3824         * tests/parser/Makefile.am:
3825         * tests/parser/utility-expected.gidl:
3826         * tests/parser/utility-expected.gir:
3827         * tools/g-ir-scanner:
3828         Switch over to GIR as the default format. Add a simple GIDL
3829         parser.
3830         Update tests and fix simplify makefiles by depending
3831         on GNU make extensions.
3832
3833 2008-04-27  Johan Dahlin  <johan@gnome.org>
3834
3835         * giscanner/xmlwriter.py:
3836         Wrap attributes for lines which are wider than 79 characters
3837
3838         * giscanner/scannerlexer.l:
3839         Allow parenthesis in annotations
3840
3841         * giscanner/ast.py:
3842         * giscanner/gidlwriter.py:
3843         * giscanner/girwriter.py:
3844         * giscanner/glibtransformer.py:
3845         * giscanner/transformer.py:
3846         Add initial sequence support, including annotation.
3847         Refactor type handling a bit.
3848
3849 2008-04-27  Johan Dahlin  <johan@gnome.org>
3850
3851         * tests/parser/Foo-expected.gidl:
3852         * tests/parser/foo-object.h:
3853         * tests/parser/foo.c (foo_object_class_init),
3854         (foo_object_get_strings), (foo_object_get_objects):
3855         Add two new functions to check sequence return values.
3856         Also fixes a compilation warning.
3857
3858 2008-04-27  Johan Dahlin  <johan@gnome.org>
3859
3860         * giscanner/giscannermodule.c (]): Cast the getter, avoids
3861         a compilation warning.
3862
3863         * tools/Makefile.am (g_ir_scanner_SOURCES):
3864         g-ir-scanner has no sources.
3865
3866 2008-04-25  Johan Dahlin  <johan@gnome.org>
3867
3868         * giscanner/Makefile.am:
3869         * giscanner/ast.py:
3870         * giscanner/gidlparser.py:
3871         * giscanner/gidlwriter.py:
3872         * giscanner/girwriter.py:
3873         * giscanner/glibast.py:
3874         * giscanner/glibtransformer.py:
3875         * giscanner/transformer.py:
3876         Split out nodes to ast.py and glibast.py
3877
3878 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
3879
3880         * giscanner/Makefile.am:
3881         * giscanner/gidlparser.py:
3882         * giscanner/gidlwriter.py:
3883         * giscanner/girwriter.py:
3884         * giscanner/glibtransformer.py:
3885         * giscanner/gobjecttreebuilder.py:
3886         * giscanner/transformer.py:
3887         * giscanner/treebuilder.py:
3888         * tools/g-ir-scanner:
3889         Rename treebuilder to transformer and
3890         gobjectreebuilder to glibtransformer.
3891
3892 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
3893
3894         * giscanner/Makefile.am:
3895         * giscanner/__init__.py:
3896         * giscanner/cgobject.py:
3897         * giscanner/gidlparser.py:
3898         * giscanner/gidlwriter.py:
3899         * giscanner/girwriter.py:
3900         * giscanner/gobjecttreebuilder.py:
3901         * giscanner/odict.py:
3902         * giscanner/sourcescanner.py:
3903         * giscanner/treebuilder.py:
3904         * giscanner/xmlwriter.py:
3905         * tools/Makefile.am:
3906         * tools/g-ir-scanner:
3907         Add LGPLv2 license header and install all python files
3908
3909 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
3910
3911         * TODO:
3912         * giscanner/gidlwriter.py:
3913         * giscanner/giscannermodule.c (pygi_source_directive_new),
3914         (directive_get_options), (pygi_source_symbol_new),
3915         (symbol_get_base_type), (pygi_source_type_new),
3916         (type_get_base_type), (type_get_child_list),
3917         (pygi_source_scanner_get_symbols),
3918         (pygi_source_scanner_get_directives):
3919         * giscanner/gobjecttreebuilder.py:
3920         * giscanner/sourcescanner.py:
3921         * giscanner/treebuilder.py:
3922         * tests/parser/foo-object.h:
3923         Add support for virtual methods.
3924         Pair struct FooClass with struct Foo.
3925         Clean up the SourceScanner bindings a bit.
3926         Add a testcase for virtual methods.
3927
3928 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
3929
3930         * giscanner/cgobject.py:
3931         * giscanner/gidlwriter.py:
3932         * giscanner/gobjecttreebuilder.py:
3933         Add support for signals
3934
3935         * tests/parser/foo.c (foo_object_class_init):
3936         * Foo-expected.gidl:
3937         Add a signal and update the expected output.
3938
3939 2008-04-24  Johan Dahlin  <jdahlin@async.com.br>
3940
3941         * giscanner/gidlwriter.py:
3942         * giscanner/girwriter.py:
3943         * giscanner/giscannermodule.c (directive_get_name),
3944         (directive_get_value), (directive_get_options),
3945         (symbol_get_directives), (symbol_set_directives),
3946         (pygi_source_scanner_parse_file),
3947         (pygi_source_scanner_lex_filename),
3948         (pygi_source_scanner_get_directives), (init_giscanner):
3949         * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
3950         * giscanner/sourcescanner.h:
3951         * giscanner/sourcescanner.py:
3952         * giscanner/treebuilder.py:
3953         * tools/g-ir-scanner:
3954         Add support for source/header annotations.
3955
3956 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
3957
3958         * giscanner/gidlwriter.py:
3959         * giscanner/girwriter.py:
3960         * giscanner/gobjecttreebuilder.py:
3961         * giscanner/treebuilder.py:
3962         Add support for Callbacks
3963
3964 2008-04-22  Havoc Pennington  <hp@pobox.com>
3965
3966         * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
3967         not in metadata->module, look for it in the global module, in case
3968         some other object or the app itself provides the symbol.
3969
3970 2008-04-22  Havoc Pennington  <hp@pobox.com>
3971
3972         * girepository/gmetadata.c (_g_metadata_init): hack to avoid
3973         dlopening a library that is already in the main app, by checking
3974         whether one of the lib's symbols is already loaded.
3975
3976 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
3977
3978         * tests/parser/Foo-expected.gidl:
3979         * tests/parser/foo-object.h:
3980         Add a callback test
3981
3982 2008-04-22  Havoc Pennington  <hp@pobox.com>
3983
3984         * girepository/ginfo.c (g_interface_info_find_method):
3985         Use interface_blob_size not object_blob_size to compute offset.
3986
3987 2008-04-22  Havoc Pennington  <hp@pobox.com>
3988
3989         * girepository/gmetadata.c (_g_metadata_init): remove
3990         G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
3991         (Glade and Clutter for example) rely on being loaded globally.
3992
3993 2008-04-22  Havoc Pennington  <hp@pobox.com>
3994
3995         * girepository/ginfo.c (g_registered_type_info_get_g_type): new
3996         function to get the GType given a RegisteredTypeInfo
3997
3998 2008-04-22  Johan Dahlin  <johan@gnome.org>
3999
4000         * COPYING: Add a LGPL license, to prevent automake to
4001         put in a copy of GPL here. Pointed out by Havoc.
4002
4003         * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
4004         (g_type_info_is_pointer), (g_type_info_get_tag),
4005         (g_type_info_get_param_type), (g_type_info_get_interface),
4006         (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
4007         (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
4008         (g_error_domain_info_get_codes), (g_enum_info_get_value),
4009         (g_object_info_get_interface), (g_object_info_get_field),
4010         (g_interface_info_get_prerequisite),
4011         (g_signal_info_get_class_closure), (g_constant_info_get_value):
4012         * girepository/ginvoke.c (get_ffi_type):
4013         * girepository/girepository.h:
4014         * girepository/gmetadata.c (g_metadata_get_dir_entry),
4015         (g_metadata_check_sanity), (validate_header),
4016         (validate_array_type_blob), (validate_iface_type_blob),
4017         (validate_param_type_blob), (validate_error_type_blob),
4018         (validate_type_blob), (validate_constant_blob),
4019         (validate_struct_blob), (validate_enum_blob):
4020         * girepository/gmetadata.h:
4021         * tests/Makefile.am:
4022         * tests/invoke/Makefile.am:
4023         * tests/invoke/invoke.c (main):
4024         * tests/roundtrips.sh:
4025         * tools/Makefile.am:
4026         * tools/compiler.c (format_output), (write_out_metadata), (main):
4027         * tools/generate.c (write_type_name), (write_type_info),
4028         (write_constant_value), (write_enum_info), (load_metadata), (main):
4029         * tools/gidlcompilercontext.c:
4030         * tools/gidlcompilercontext.h:
4031         * tools/gidlcompilerentrynode.c:
4032         * tools/gidlcompilerentrynode.h:
4033         * tools/gidlcompilertypenode.c:
4034         * tools/gidlcompilertypenode.h:
4035         * tools/gidlmodule.c (g_idl_module_build_metadata):
4036         * tools/gidlmodule.h:
4037         * tools/gidlnode.c (init_stats), (dump_stats),
4038         (g_idl_node_get_size), (g_idl_node_get_full_size),
4039         (g_idl_node_cmp), (g_idl_node_can_have_member),
4040         (g_idl_node_add_member), (g_idl_node_param_direction_string),
4041         (parse_int_value), (parse_uint_value), (parse_float_value),
4042         (parse_boolean_value), (find_entry_node), (find_entry),
4043         (serialize_type), (g_idl_node_build_metadata), (write_string):
4044         * tools/gidlnode.h:
4045         * tools/gidlparser.c (parse_type_internal):
4046         * tools/quote-file.sh:
4047         Revert revisions 157,149-148,136-129 and 120.
4048         Move back to using g-idl-generate to generate the metadata and
4049         avoids dependency on a c compiler.
4050
4051 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
4052
4053         * giscanner/girwriter.py:
4054         * tools/g-ir-scanner:
4055         Add an initial GIR writer and a --format option to g-ir-scanner
4056
4057 2008-04-21  Johan Dahlin  <johan@gnome.org>
4058
4059         * giscanner/cgobject.py: Use ctypes.util.find_library to locate
4060         gobject-2.0 and raise ImportError if not found.
4061
4062         * giscanner/gidlparser.py:
4063         * giscanner/gidlwriter.py:
4064         * giscanner/gobjecttreebuilder.py:
4065         * tools/g-ir-scanner:
4066         Add a --include argument to include types from other idls.
4067         Add a minimalistic GIDL parser (just objects for now)
4068         Implement resolving of external type references and use it to
4069         resolve parent types, argument types and return types.
4070
4071 2008-04-21  Johan Dahlin  <johan@gnome.org>
4072
4073         * giscanner/gidlwriter.py:
4074         * giscanner/gobjecttreebuilder.py:
4075         * giscanner/treebuilder.py:
4076         Add support for properties.
4077         Refactor Class/Interface support a bit, to share more code and
4078         always initialize their method attribute to an empty list.
4079
4080 2008-04-21  Johan Dahlin  <johan@gnome.org>
4081
4082         * giscanner/cgobject.py:
4083         Add a workaround for a glib bug interface introspection bug
4084         (object_interface_list_properties, object_class_list_properties):
4085         Cast the return value to GParamSpec.
4086
4087         * tests/parser/Foo-expected.gidl: Update
4088         * tests/parser/foo.c: Add a string property
4089
4090         * giscanner/gobjecttreebuilder.py:
4091         After stripping namespaces, remove the original
4092         item to avoid duplication (GtkButton struct and Button object)
4093
4094 2008-04-21  Johan Dahlin  <johan@gnome.org>
4095
4096         * giscanner/gobjecttreebuilder.py:
4097         * giscanner/treebuilder.py:
4098         Strip namespaces before objects, so we'll export
4099         GtkButton as Button in the gtk namespace
4100
4101 2008-04-21  Johan Dahlin  <johan@gnome.org>
4102
4103         * giscanner/gidlwriter.py:
4104         * giscanner/gobjecttreebuilder.py:
4105         * giscanner/treebuilder.py:
4106         Add constructors for object/boxed types.
4107
4108 2008-04-21  Johan Dahlin  <johan@gnome.org>
4109
4110         * giscanner/gidlwriter.py:
4111         * giscanner/gobjecttreebuilder.py:
4112         Add support for boxed types
4113
4114 2008-04-21  Johan Dahlin  <johan@gnome.org>
4115
4116         * giscanner/giscannermodule.c: Mark structures as const,
4117         wrap SourceType.const_string.
4118
4119         * tests/parser/foo-object.h: Add a couple of constants.
4120
4121         * giscanner/gidlwriter.py:
4122         * giscanner/gobjecttreebuilder.py:
4123         * giscanner/treebuilder.py:
4124         Add basic support for interfaces
4125
4126         * tools/g-ir-scanner:
4127         Add -o/--output for writing to a file
4128
4129 2008-04-21  Havoc Pennington  <hp@redhat.com>
4130
4131         * TODO: add some C API wishlist items I could think of quickly
4132
4133 2008-04-21  Johan Dahlin  <jdahlin@async.com.br>
4134
4135         * giscanner/gidlwriter.py:
4136         * giscanner/xmlwriter.py:
4137         Add a simple api for writing tags which can be used 
4138         with the new 'with statement' in python 2.5
4139
4140 2008-04-21  Johan Dahlin  <johan@gnome.org>
4141
4142         * giscanner/gobjecttreebuilder.py:
4143         Strip namespace and object prefix from method names.
4144
4145 2008-04-21  Johan Dahlin  <johan@gnome.org>
4146
4147         * tools/g-ir-scanner (main): Add --pkg option to pass in
4148         pkg-config modules to get cflags from.
4149
4150         * giscanner/gidlwriter.py (GIDLWriter._write_method): 
4151         Avoid duplication, reuse function writer for methods.
4152
4153 2008-04-21  Johan Dahlin  <jdahlin@async.com.br>
4154
4155         * giscanner/gidlwriter.py:
4156         * giscanner/gobjecttreebuilder.py:
4157         * giscanner/treebuilder.py:
4158         * tools/g-ir-scanner:
4159         Resolve libtool .la files.
4160         Strip name spaces for methods.
4161         Add function symbols
4162
4163 2008-04-20  Johan Dahlin  <jdahlin@async.com.br>
4164
4165         * giscanner/cgobject.py:
4166         * giscanner/gidlwriter.py:
4167         * giscanner/gobjecttreebuilder.py:
4168         * giscanner/treebuilder.py:
4169         Add support for classes and methods
4170
4171 2008-04-20  Johan Dahlin  <johan@gnome.org>
4172
4173         * giscanner/gidlwriter.py:
4174         * giscanner/gobjecttreebuilder.py:
4175         * giscanner/odict.py:
4176         Avoid conflicts, keep the output ordered similar to
4177         the order of the input.
4178         Add a simple ordered dictionary implemenation
4179
4180 2008-04-19  Johan Dahlin  <johan@gnome.org>
4181
4182         * giscanner/cgobject.py:
4183         * giscanner/gidlwriter.py:
4184         * giscanner/gobjecttreebuilder.py:
4185         * tools/g-ir-scanner:
4186         Start introspecting get-type functions.
4187         Implement support for GLib/GFlags GTypes.
4188         Add a ctype based GObject binding.
4189
4190 2008-04-18  Johan Dahlin  <jdahlin@async.com.br>
4191
4192         * giscanner/gidlwriter.py:
4193         * giscanner/xmlwriter.py:
4194         * tools/g-ir-scanner:
4195         Add a simplistic gidl writer, which can't do too much.
4196
4197 2008-04-18  Johan Dahlin  <johan@gnome.org>
4198
4199         * giscanner/sourcescanner.py:
4200         * giscanner/treebuilder.py:
4201         * tools/g-ir-scanner:
4202         split tree building and source scanning interface to separate files.
4203
4204 2008-04-18  Johan Dahlin  <johan@gnome.org>
4205
4206         * tools/g-ir-scanner (Parameter.__init__): Start constructing
4207         a real node tree.
4208         - Add support for struct/parameter/return, start parsing of ctypes
4209
4210         * giscanner/giscannermodule.c: wrap GISourceType.child_list and
4211         fix the style
4212
4213 2008-03-31  Johan Dahlin  <johan@gnome.org>
4214
4215         * tools/g-ir-scanner:
4216         Start to build abstract syntax node of scanned sources.
4217         Add support for cpp options.
4218
4219 2008-03-27  Johan Dahlin  <johan@gnome.org>
4220
4221         * giscanner/giscannermodule.c:
4222         * giscanner/scannerlexer.l:
4223         * giscanner/sourcescanner.c:
4224         * tools/g-ir-scanner:
4225
4226         Add simple pre-processor using subprocess and a PIPE.
4227         Change the parse_file apis to accept a file descriptor.
4228
4229 2008-03-25  Johan Dahlin  <johan@gnome.org>
4230
4231         * giscanner/__init__.py:
4232         * tools/g-ir-scanner:
4233         Fix a typo and add an example python test program.
4234
4235 2008-03-25  Johan Dahlin  <johan@gnome.org>
4236         
4237         * giscanner/__init__.py:
4238         * giscanner/giscannermodule.c:
4239         * giscanner/sourcescanner.c:
4240         * giscanner/sourcescanner.h:
4241         Add constants and wrap a few more SymbolType fields
4242
4243 2008-03-25  Johan Dahlin  <johan@gnome.org>
4244         
4245         * configure.ac:
4246         * giscanner:
4247         * giscanner/__init__.py:
4248         * giscanner/giscannermodule.c:
4249         * giscanner/Makefile.am:
4250
4251         Add initial python bindings for the scanner and 
4252         depend on python 2.5.
4253
4254 2008-03-25  Johan Dahlin  <johan@gnome.org>
4255
4256         * Makefile.am:
4257         * configure.ac:
4258         * giscanner/Makefile.am:
4259         * giscanner/sourcescanner.c:
4260         * giscanner/sourcescanner.h:
4261         * tools/Makefile.am:
4262         * tools/grealpath.h:
4263         * tools/sourcescanner.c:
4264         * tools/sourcescanner.h:
4265
4266         Move the scanner to a separate library.
4267         
4268 2008-03-23  Johan Dahlin  <johan@gnome.org>
4269
4270         * tools/Makefile.am:
4271         * tools/scanner.c:
4272         * tools/scanner.h:
4273         * tools/scannerlexer.l:
4274         * tools/scannerparser.y:
4275         * tools/sourcescanner.c:
4276         * tools/sourcescanner.h:
4277         Split out the source scanner from the generator.
4278         Rename the symbols used in the scanner to use the gi_ prefix.
4279         This should make it possible to use the raw C parser from
4280         other programs.
4281
4282 2008-03-23  Johan Dahlin  <johan@gnome.org>
4283
4284         * tests/parser/Makefile.am (utility.gidl): 
4285         * tests/parser/utility-expected.gidl: 
4286         Pass in the gobject.gidl since we're defining a GObject.
4287
4288 2008-03-12  Johan Dahlin  <johan@gnome.org>
4289
4290         * relaxng/relaxng.rng:
4291         Add a releaxng in relaxng we can use to validate the relaxngs
4292         schemas
4293
4294 2008-03-12  Jürg Billeter  <j@bitron.ch>
4295
4296         * tools/scanner.c: (g_igenerator_new):
4297         * tools/scannerparser.y:
4298         Fix compiler warnings.
4299
4300 2008-03-12  Jürg Billeter  <j@bitron.ch>
4301
4302         * tools/scanner.c:
4303         * tools/scanner.h:
4304         * tools/scannerparser.y:
4305         Start fixing memory management in g-idl-scanner.
4306
4307 2008-03-12  Rob Taylor  <rob.taylor@codethink.co.uk>
4308
4309         * tools/gidlcompilercontext.c: (write_compiled):
4310         Fix critical warning when no shlib passed to g-idl-compiler.
4311
4312 2008-03-12  Johan Dahlin  <johan@gnome.org>
4313
4314         * tests/parser/utility-expected.gidl:
4315         * tests/parser/utility.h:
4316         Add a get_type-function, so the scanner actually
4317         parses it as an object.
4318         
4319 2008-03-12  Johan Dahlin  <johan@gnome.org>
4320
4321         * tools/gidlwriter.c (function_generate): Add missing trailing quote.
4322         Bad Philip!
4323
4324         * tests/parser/Foo-expected.gidl:
4325         * tests/parser/Makefile.am:
4326         * tests/parser/foo-object.h:
4327         * tests/parser/foo.c:
4328         * tests/parser/utility-expected.gidl:
4329         * tests/parser/utility.c:
4330         * tests/parser/utility.h:
4331
4332         Add a new gidl test. 'utility.gidl', which is used to be able
4333         to test external type references. Add a reference to UtilityObject*
4334         in the idl file.
4335
4336 2008-03-11  Johan Dahlin  <johan@gnome.org>
4337
4338         * tools/compiler.c:
4339         * tools/generate.c:
4340         Remove most global variables
4341
4342 2008-03-11  Philip Van Hoof  <me@pvanhoof.be>
4343  
4344         * tools/scannerlexer.l:
4345         * tools/scanner.c:
4346         * tests/parser/Foo-expected.gidl:
4347         * tests/parser/foo.c:
4348         * tests/parser/Makefile.am:
4349         * tests/parser/foo-object.h:
4350  
4351         Added a few extra tests. Which resulted in finding a few
4352         bugs. Which resulted in me fixing those bugs
4353
4354 2008-03-11  Rob Taylor  <rob.taylor@codethink.co.uk>
4355
4356         * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
4357         (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
4358         Add some comments for strings into generated output for
4359         easier debugging.
4360
4361 2008-03-11  Rob Taylor  <rob.taylor@codethink.co.uk>
4362
4363         * tools/gidlcompilercontext.c: (write_compiled):
4364         Write out the shlibs variable before writing out the strings
4365         length. Fixes compiler warning when using '-l' flag with
4366         g-idl-compiler
4367
4368 2008-03-11  Johan Dahlin  <johan@gnome.org>
4369
4370         * tests/parser/Foo-expected.gidl:
4371         * tests/parser/foo-object.h:
4372         * tools/scanner.c:
4373         * tools/scanner.h:
4374         * tools/scannerlexer.l:
4375         Add support for parsing return arguments. Add support for
4376         caller-owns return types.
4377         Patch by Philip Van Hoof.
4378         
4379         * tools/scannerparser.y:
4380         Remove parsing of the @deprecated syntax used in headers.
4381         We will support gtk-doc deprecation in the future instead.
4382
4383 2008-03-11  Johan Dahlin  <johan@gnome.org>
4384
4385         * tools/compiler.c (main): Coding style fixes
4386
4387 2008-03-10  Johan Dahlin  <johan@gnome.org>
4388
4389         * configure.ac:
4390         Add GCOV_LIBS to GILIBS
4391
4392 2008-03-10  Johan Dahlin  <johan@gnome.org>
4393
4394         * tests/parser/Foo-expected.gidl:
4395         * tests/parser/foo.c:
4396         Rename null-ok to direction=out
4397
4398 2008-03-10  Philip Van Hoof  <me@pvanhoof.be>
4399
4400         reviewed and extensively tested by Johan
4401
4402         * tests/parser/Foo-expected.gidl:
4403         * tests/parser/foo-object.h:
4404         * tests/parser/foo.c:
4405         * tools/gidlnode.c:
4406         * tools/gidlnode.h:
4407         * tools/gidlwriter.c:
4408         * tools/scanner.c:
4409         * tools/scanner.h:
4410         * tools/scannerlexer.l:
4411         * tools/scannerparser.y:
4412
4413         Add support for scanning for gtk-doc comments inside
4414         C source files. Add tests
4415
4416 2008-03-10  Johan Dahlin  <johan@gnome.org>
4417
4418         * tests/parser/Makefile.am:
4419         * tests/parser/foo.c:
4420         * tools/scanner.c:
4421         * tools/scanner.h:
4422         * tools/scannerparser.y:
4423         Add an api to lex filenames.
4424         Lex all source .c files passed in on the command line.
4425         Scan sources in a test and a couple of private structures
4426         which should not be included in the generated gidl
4427
4428 2008-03-10  Johan Dahlin  <johan@gnome.org>
4429
4430         * tests/invoke/Makefile.am: Make the generated metadata 
4431         depend on the g-idl-compiler
4432
4433 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4434
4435         * tools/gidlmodule.c
4436         * tools/gidlmodule.h
4437         * tools/gidlnode.c
4438         * tools/gidlnode.h
4439         Remove the old g-idl-compiler code.
4440
4441
4442 2008-02-22  Mark Doffman  <mark.doffman@codethink.co.uk>
4443
4444         * tools/quote-file.sh
4445         * tools/compiler.c
4446         * tools/generate.c
4447         Move to using the 'C' struct compiler code.
4448
4449 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4450
4451         * girepository/ginfo.c
4452         * tools/generate.c
4453         Change the way that external references with no namespace
4454         are dealt with. External references with no namespace
4455         are placed into the XML as-if they are a local reference.
4456         This is temporary, but helps with roundtrip tests.
4457
4458 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4459
4460         * girepository/ginfo.c
4461         Add the ability to get the value of a constant of
4462         type TYPE_TAG_SYMBOL. In the case of a symbol the value
4463         is provided as a string.
4464
4465         This would deal properly with:
4466         typedef char* random;
4467         const random = "A string";
4468
4469 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4470
4471         * girepository/ginfo.c
4472         * girepository/girepository.h
4473         * tools/generate.c
4474         Add a function to check if an enum is registered or not.
4475         Previously anything testing this relied on the g-type
4476         string offset having a value of 0.
4477
4478         * girepository/gmetadata.c
4479         * girepository/gmetadata.h
4480         * tools/generate.c
4481         Remove unneccesary or erroneous checks. There were two
4482         metadata validation checks which made sure that the blob
4483         sizes were the same as some magic numbers compiled into the code.
4484         This is wrong as it breaks any forwards compatibility that may
4485         be possible.
4486
4487         Checks were also present that made sure that unregistered type
4488         blobs had a value of 0 in the g-type offset field. This is
4489         unneccessary. If a type blob is unregistered then any value
4490         in its g-type field is simply invalid.
4491
4492 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4493
4494         * girepository/ginfo.c
4495         * girepository/gmetadata.c
4496         * girepository/gmetadata.h
4497
4498           Change the metadata format to have a standard header
4499           for all the type blobs. Merge the SimpleTypeBlob
4500           and InterfaceTypeBlob into a union. A union of these
4501           two blobs existed previously but was not explicit
4502           in the metadata format.
4503
4504 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4505
4506         * tools/gidlcompilercontext.c
4507         * tools/gidlcompilercontext.h
4508         * tools/gidlcompilerentrynode.c
4509         * tools/gidlcompilerentrynode.h
4510         * tools/gidlcompilertypenode.c
4511         * tools/gidlcompilertypenode.h
4512
4513         Add code to compile a tree of GIdlNodes to
4514         a 'C' struct representing the metadata.
4515         This is to aid cross-compiling. Previously
4516         the g-idl-compiler created a binary blob with
4517         data written in the byte order and alignment
4518         of the tool rather than the intended target.
4519
4520         Cleaned up and improved by Johan and Robert :-)
4521
4522 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4523
4524         * girepository/ginvoke.c
4525         * girepository/girepository.h
4526         * girepository/gmetadata.c
4527         * girepository/gmetadata.h
4528         * tools/generate.c
4529         * tools/gidlparser.c
4530         Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
4531         to avoid confusion with the interface blob.
4532
4533         * tools/generate.c
4534         * tools/gidlparser.c
4535         Remove magic numbers and replace with type-tag
4536         enumeration symbols.
4537
4538         * girepository/gmetadata.c
4539         Add validate declaration.
4540
4541 2008-03-10  Jürg Billeter  <j@bitron.ch>
4542
4543         * tools/gidlparser.c: (parse_type_internal):
4544         * tools/scannerlexer.l:
4545         * tools/scannerparser.y:
4546         Support C99 _Bool type in scanner.
4547
4548 2008-03-10  Jürg Billeter  <j@bitron.ch>
4549
4550         * tests/parser/Foo-expected.gidl:
4551         * tests/parser/foo-object.h:
4552         * tests/parser/foo.c: (foo_enum_method):
4553         * tools/scanner.c: (g_igenerator_process_function_symbol):
4554         Don't skip functions that are defined in the namespace of a type
4555         that doesn't support methods, as for example enums.
4556
4557 2008-03-10  Johan Dahlin  <johan@gnome.org>
4558
4559         * gidl.dtd: Remove, we're using relaxng for now
4560
4561         * tests/parser/Foo-expected.gidl:
4562         * tests/parser/foo-object.h:
4563         * tests/parser/foo.c:
4564         Rename the enum/flags get_type functions to include the whole type.
4565
4566 2008-03-08  Marc-Andre Lureau  <marcandre.lureau@gmail.com>
4567
4568         * tools/gidlwriter.c (enum_generate): added "type-name",
4569         "get-type" and "deprecated" missing arguments.
4570         * tests/parser/Foo-expected.gidl:
4571         * tests/parser/foo-object.h: test enum type, and no type.
4572
4573 2008-03-06  Johan Dahlin  <jdahlin@async.com.br>
4574
4575         * configure.ac:
4576         Consistent checks, add missing 'test'
4577
4578 2008-03-05  Havoc Pennington  <hp@redhat.com>
4579
4580         * configure.ac: Take advantage of a libffi.pc if one exists, as it
4581         does on Fedora 8. Make libffi a hard requirement, since it was in
4582         practice anyway (was not really conditional in the code or
4583         makefile, only in configure).
4584
4585 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
4586
4587         reviewed by: Rob Taylor  <rob.taylor@codethink.co.uk>
4588         reviewed by: Johan Dahlin  <johan@gnome.org>
4589
4590         * tests/Makefile.am:
4591         * tests/roundtrips.sh:
4592         Modify the roundtrips test so that they do not use the
4593         --raw option of the gidl compiler but instead compile a
4594         shared library to use with g_module.
4595
4596         * tests/invoke/Makefile.am:
4597         * tests/invoke/invoke.c:
4598         Modify the invoke tests to build a shared library rather
4599         than use the --raw option.
4600
4601         * tests/invoke/invoke-namespace-find.sh: Removed:
4602         Noone knows why this was here, so removed.
4603
4604 2008-02-19  Rob Taylor  <rob.taylor@codethink.co.uk>
4605
4606         * tools/scanner.c: (g_igenerator_process_function_symbol):
4607         Move g_idl_node_can_have_member test later, as it broke spotting
4608         get_type's for nodes that can't have members.
4609
4610 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
4611
4612         * tools/gidlnode.h:
4613         * tools/gidlnode.c: (g_idl_node_can_have_member):
4614         Add g_idl_node_can_have_member.
4615
4616         * tools/scanner.c: (g_igenerator_process_function_symbol):
4617         Use g_idl_node_can_have_member to test if we should add a function
4618         as a member of the type node.
4619
4620 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
4621
4622         * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
4623         * gidl/Makefile.am:
4624         * tests/parser/Makefile.am:
4625         Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
4626
4627 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
4628
4629         * tools/scanner.c: (main):
4630         Ignore -pthread when passed to g-idl-scanner.
4631
4632 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
4633
4634         * tools/grealpath.h: Added:
4635         * tools/scanner.c: (main):
4636         * tools/scannerlexer.l:
4637         * tools/Makefile.am:
4638         Always use absolute paths with symbolic links resolved when
4639         comparing filenames.
4640
4641 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
4642
4643         * gobject-introspection.pc.in:
4644         Provide variables for g-idl-parser, scanner and compiler in the
4645         pkgconfig file.
4646
4647 2008-02-13  Rob Taylor  <rob.taylor@codethink.co.uk>
4648
4649         * gcov.mak:
4650         * girepository/Makefile.am:
4651         * tools/Makefile.am:
4652         Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
4653
4654 2008-02-10  Johan Dahlin  <johan@gnome.org>
4655
4656         * tests/parser/Foo-expected.gidl:
4657         * tests/parser/foo-object.h:
4658         * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
4659         (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
4660         Add boxed test.
4661
4662 2008-02-10  Johan Dahlin  <johan@gnome.org>
4663
4664         * tests/parser/Foo-expected.gidl:
4665         * tests/parser/foo-object.h:
4666         * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
4667         Add enum and flags test.
4668
4669 2008-02-10  Johan Dahlin  <johan@gnome.org>
4670
4671         * Makefile.am:
4672         * configure.ac:
4673         * girepository/Makefile.am:
4674         Make 'make distcheck' work again.
4675
4676 2008-02-10  Johan Dahlin  <johan@gnome.org>
4677
4678         * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
4679         not as-compiler.m4.
4680
4681         * tests/parser/Makefile.am: Only create Foo.gidl when running make
4682         check, eg exclude it from BUILT_SOURCES.
4683
4684 2008-02-08  Rob Taylor  <rob.taylor@codethink.co.uk>
4685
4686         * Makefile.am:
4687         * configure.ac:
4688         * gcov.mak: Added:
4689         * girepository/Makefile.am:
4690         * m4/Makefile.am: Added:
4691         * m4/as-compiler-flag.m4: Added:
4692         * m4/gcov.m4: Added:
4693         * tools/Makefile.am:
4694         Add ability to generate a coverage report.
4695         Adds configure option --enable-gcov and make rule 'check-coverage'.
4696
4697 2008-02-08  Rob Taylor  <rob.taylor@codethink.co.uk>
4698
4699         * Makefile.am:
4700         * configure.ac:
4701         * gidl/Makefile.am: Added:
4702         * girepository/Makefile.am: Added:
4703         * src/Makefile.am: Renamed to tools/Makefile.am:
4704         * src/compiler.c: Renamed to tools/compiler.c:
4705         * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
4706         * src/generate.c: Renamed to tools/generate.c:
4707         * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
4708         * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
4709         * src/gidlnode.c: Renamed to tools/gidlnode.c:
4710         * src/gidlnode.h: Renamed to tools/gidlnode.h:
4711         * src/gidlparser.c: Renamed to tools/gidlparser.c:
4712         * src/gidlparser.h: Renamed to tools/gidlparser.h:
4713         * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
4714         * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
4715         * src/ginfo.c: Renamed to girepository/ginfo.c:
4716         * src/ginvoke.c: Renamed to girepository/ginvoke.c:
4717         * src/girepository.c: Renamed to girepository/girepository.c:
4718         * src/girepository.h: Renamed to girepository/girepository.h:
4719         * src/gmetadata.c: Renamed to girepository/gmetadata.c:
4720         * src/gmetadata.h: Renamed to girepository/gmetadata.h:
4721         * src/scanner.c: Renamed to tools/scanner.c:
4722         * src/scanner.h: Renamed to tools/scanner.h:
4723         * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
4724         * src/scannerparser.y: Renamed to tools/scannerparser.y:
4725         * tests/invoke/Makefile.am:
4726         Split src/ into girepository/ and tools/
4727
4728         * Makefile.am:
4729         * configure.ac:
4730         * girepository/Makefile.am:
4731         * tests/Makefile.am:
4732         * tests/invoke/Makefile.am:
4733         * tests/parser/Makefile.am:
4734         * tests/roundtrips.sh:
4735         * tools/Makefile.am:
4736         Make distcheck work.
4737
4738 2008-02-04  Rob Taylor  <rob.taylor@codethink.co.uk>
4739
4740         * tests/invoke/invoke.c: (main):
4741         * tests/invoke/testfns.c: (test6), (test7):
4742         * tests/invoke/testfns.xml:
4743         Add tests for invokation with a GList argument.
4744         Also tests caller-owns return values.
4745
4746 2008-02-04  Rob Taylor  <robtaylor@floopily.org>
4747
4748         * src/ginfo.c:
4749         Add some documentation for GICallableInfo
4750
4751 2008-02-01  Mark Doffman  <mark.doffman@codethink.co.uk>
4752
4753         * gidl.dtd:
4754         Correct syntax errors in the DTD file.
4755         * relaxng/api.xml:
4756         * relaxng/c-types.xml:
4757         * relaxng/g-types.xml:
4758         * relaxng/util.xml:
4759         Add a RelaxNG specification for the GObject Introspection XML data.
4760         The Specification has validated all of the test files.
4761
4762 2008-01-25  Rob Taylor  <robtaylor@floopily.org>
4763
4764         * tests/roundtrips.sh:
4765         * tests/struct.test:
4766         Add roundtrip tests for structs.
4767
4768 2008-01-11  Johan Dahlin  <johan@gnome.org>
4769
4770         * src/scanner.c (g_igenerator_process_function_symbol):
4771         Refactor out g_idle_node_add_member.
4772         (create_node_from_gtype, create_node_from_ctype):
4773         Use case instead of if...else
4774         (get_type_from_type_id):
4775         Rename to create_node_from_gtype
4776         (get_type_from_ctype):
4777         Rename to create_node_from_ctype
4778
4779         Rename ginode -> node, gitype -> type, gifunc -> func.
4780
4781         * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
4782         Two new functions, refactor out of scanner.c
4783
4784         * src/scanner.c: (g_igenerator_process_function_symbol):
4785         * src/scannerlexer.l:
4786         Do not save the content of the deprecated variable, only
4787         if it's set or not.
4788
4789 2008-01-11  Johan Dahlin  <johan@gnome.org>
4790
4791         * tests/parser/foo-object.h: Add a couple of comment parser tests.
4792
4793 2008-01-11  Jürg Billeter  <j@bitron.ch>
4794
4795         * src/scannerlexer.l:
4796         Fix GTK-Doc parsing.
4797
4798 2008-01-11  Jürg Billeter  <j@bitron.ch>
4799
4800         * src/scannerlexer.l:
4801         Fix GTK-Doc parsing.
4802
4803 2008-01-11  Jürg Billeter  <j@bitron.ch>
4804
4805         * src/scanner.c: (lookup_symbol):
4806         Return unresolved name if we find unknown symbol.
4807
4808 2008-01-11  Jürg Billeter  <j@bitron.ch>
4809
4810         * src/scanner.c: (g_igenerator_generate):
4811         Initialize GObject to fix scanning interface properties.
4812
4813         * tests/parser/Foo-expected.gidl:
4814         * tests/parser/foo-object.h:
4815         * tests/parser/foo.c: (foo_interface_get_type):
4816         Test interfaces with GObject prerequisite.
4817
4818         * tests/parser/Makefile.am:
4819         Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
4820
4821 2007-12-27  Johan Dahlin  <johan@gnome.org>
4822
4823         * src/scannerlexer.l:
4824         Parse gtk-doc comments.
4825
4826         * src/gidlwriter.c: (function_generate):
4827         Reorganize, avoid duplication and add support for
4828         writing deprecated functions.
4829
4830         * src/scannerparser.y:
4831         * src/scanner.h:
4832         Add new structure CDirective and functions to create/free them.
4833
4834         * src/scanner.c: (g_igenerator_process_function_symbol),
4835         (g_igenerator_process_unregistered_struct_typedef),
4836         (g_igenerator_process_struct_typedef),
4837         (g_igenerator_process_union_typedef),
4838         (g_igenerator_process_enum_typedef),
4839         (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
4840         (g_igenerator_start_preprocessor):
4841         Parse @deprecated directive for functions.
4842         Remove some more C99isms.
4843         Send in -C to cpp to avoid stripping comments.
4844
4845         * tests/parser/foo-object.h:
4846         * tests/parser/Foo-expected.gidl:
4847         Add deprecated directive
4848
4849 2007-12-27  Johan Dahlin  <johan@gnome.org>
4850
4851         * src/scannerlexer.l (intsuffix): Add emacs mode line and
4852         escape ' and " so it looks more like C.
4853
4854         * src/scanner.c:
4855         Unlink temporary file used.
4856
4857 2007-12-27  Johan Dahlin  <johan@gnome.org>
4858
4859         * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
4860         (g_igenerator_start_preprocessor), (main):
4861         * src/scanner.h:
4862         * src/scannerparser.y:
4863         Plug a couple of simple memory leaks.
4864
4865 2007-12-27  Johan Dahlin  <johan@gnome.org>
4866
4867         * src/scanner.c: (g_igenerator_parse_macros),
4868         (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
4869         (main):
4870         * src/scanner.h:
4871         * src/scannerparser.y:
4872         * tests/parser/Makefile.am:
4873
4874         Improve error reporting, return when the preprocessor fails.
4875         Add a verbose parameter, to aid debugging.
4876         Revert to using a temporary file to communicate between the
4877         preprocessor and the parser, because we need to wait for
4878         the exit code from the pre-processor before starting to parse.
4879
4880 2007-12-16  Johan Dahlin  <jdahlin@async.com.br>
4881
4882         * src/Makefile.am: Rename clexer.l to scannerlexer.l and
4883         cparser.y to scannerparser.y
4884
4885 2007-12-11  Johan Dahlin  <johan@gnome.org>
4886
4887         * src/clexer.l:
4888         * src/cparser.y:
4889         * src/scanner.c: (g_igenerator_new):
4890         * src/scanner.h:
4891         Get rid of the global the_generator variable.
4892
4893 2007-12-10  Johan Dahlin  <johan@gnome.org>
4894
4895         * src/scanner.c (main): Add an output option,
4896         add checks for required parameters
4897
4898         * src/Makefile.am:
4899         set BUILD_SOURCES and CLEANFILES properly
4900
4901         * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
4902         (g_writer_write_indent), (g_writer_write_unindent),
4903         (field_generate), (value_generate), (constant_generate),
4904         (property_generate), (function_generate), (vfunc_generate),
4905         (signal_generate), (interface_generate), (struct_generate),
4906         (union_generate), (boxed_generate), (enum_generate),
4907         (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
4908         * src/gidlwriter.h:
4909         * src/scanner.c: (g_igenerator_generate):
4910         * src/scanner.h:
4911         * src/scannerwriter.c:
4912
4913         Refactor scannerwriter to only be tied to a GIdlModule and move
4914         it (again!) to gidlwriter.c. Change the writer function to take
4915         a filename.
4916
4917 2007-12-10  Johan Dahlin  <johan@gnome.org>
4918
4919         * src/Makefile.am:
4920         * src/scanner.c: (g_igenerator_generate):
4921         * src/scanner.h:
4922         * src/scannerwriter.c: (g_igenerator_write_inline),
4923         (g_igenerator_write), (g_igenerator_write_indent),
4924         (g_igenerator_write_unindent), (field_generate), (value_generate),
4925         (constant_generate), (property_generate), (function_generate),
4926         (vfunc_generate), (signal_generate), (interface_generate),
4927         (struct_generate), (union_generate), (boxed_generate),
4928         (enum_generate), (node_generate), (module_generate),
4929         (g_scanner_write_file):
4930
4931         Move the scanner gidl writing to a separate source file.
4932
4933 2007-12-10  Johan Dahlin  <johan@gnome.org>
4934
4935         * src/cparser.y:
4936         * src/scanner.c:
4937         * src/scanner.h:
4938         Move over all CType construction functions.
4939
4940         * tests/parser/Makefile.am:
4941         Be verbose when printing parsing tests results.
4942
4943 2007-12-10  Johan Dahlin  <johan@gnome.org>
4944
4945         * src/scanner.c (g_igenerator_start_preprocessor): Refactor
4946         preprocessor handling to here. Start cpp insteado of cc -E,
4947         always include -U__GNUC__, since it's specific to the preprocessor
4948         we use.
4949
4950         * tests/parser/Makefile.am (check-local): Silent diff and skip
4951         -U__GNUC__ which is always defined now
4952
4953 2007-12-10  Johan Dahlin,,,  <jdahlin@plasttroll>
4954
4955         reviewed by: <delete if not using a buddy>
4956
4957         * src/scanner.c: (g_igenerator_start_preprocessor), (main):
4958         * tests/parser/Makefile.am:
4959
4960 2007-12-09  Johan Dahlin  <johan@gnome.org>
4961
4962         * src/scanner.c:
4963         Use GOption for command line options.
4964         (g_igenerator_new, main): Simplify constructor and they way
4965         parameters are passed into it.
4966
4967         * src/cparser.y:
4968         * src/Makefile.am:
4969         * src/clexer.l:
4970         * src/cparser.y:
4971         * src/gen-introspect.c:
4972         * src/gen-introspect.h:
4973         * src/scanner.c:
4974         Rename gen-introspect.[ch] to scanner.[ch]
4975
4976 2007-12-09  Johan Dahlin  <johan@gnome.org>
4977
4978         * TODO: Update
4979
4980         * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
4981         don't make the repository library and the other utilites link against
4982         gthread-2.0
4983
4984         * src/gen-introspect.c: (g_igenerator_create_object),
4985         (g_igenerator_create_interface), (g_igenerator_create_boxed),
4986         (g_igenerator_create_enum), (g_igenerator_create_flags),
4987         (g_igenerator_process_module_symbol),
4988         (g_igenerator_process_module), (g_igenerator_generate), (main):
4989         * src/gen-introspect.h:
4990         Refactor g_igenerator_process_types into smaller pieces.
4991
4992         * tests/parser/Makefile.am:
4993         Depend on the gen-introspect binary
4994
4995 2007-12-09  Johan Dahlin  <johan@gnome.org>
4996
4997         * src/gen-introspect.c (g_igenerator_process_types):
4998         Break into smaller pieces, one for each generated node type.
4999
5000 2007-12-08  Johan Dahlin  <johan@gnome.org>
5001
5002         * src/gen-introspect.c: (g_igenerator_process_types),
5003         (g_igenerator_add_module):
5004         * tests/parser/Foo-expected.gidl:
5005         * tests/parser/foo-object.h:
5006         * tests/parser/foo.c: (foo_subobject_class_init),
5007         (foo_subobject_init):
5008
5009         Add a subobject test and make sure to register defined classes
5010         in the lookup symbol hash table.
5011
5012 2007-12-08  Johan Dahlin  <johan@gnome.org>
5013
5014         * gidl/GLib.gidl:
5015         * src/Makefile.am:
5016         * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
5017         (g_igenerator_process_types), (g_igenerator_add_module),
5018         (g_igenerator_add_include_idl), (main):
5019         * src/gen-introspect.h:
5020         * tests/parser/Makefile.am:
5021         * tests/parser/Foo-expected.gidl:
5022
5023         Change the gen-introspect to generate namespaced module names,
5024         such as GLib.Object instead of GObject.
5025         Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
5026         add a --include-idl parameter to gen-introspect,
5027         and update the parser test.
5028
5029 2007-12-08  Johan Dahlin  <johan@gnome.org>
5030
5031         * src/gen-introspect.c:
5032         Move main to the end of the file and attempt to make it valid
5033         ansi c.
5034
5035         * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
5036         we're not quite ready to generate metadata yet.
5037
5038         * tests/parser/:
5039         * configure.ac:
5040
5041         Add a simple gen-introspect parser test
5042
5043 2007-12-06  Gustavo J. A. M. Carneiro  <gjc@gnome.org>
5044
5045         reviewed by: Johan Dahlin  <johan@gnome.org>
5046
5047         * configure.ac:
5048         * gobject-introspection.pc.in:
5049         * src/Makefile.am:
5050         * src/compiler.c: (format_output), (write_out_metadata), (main):
5051         * src/gen-introspect.c: (main):
5052         * src/gen-introspect.h:
5053         * src/generate.c: (write_callable_info), (write_repository),
5054         (load_metadata), (main):
5055         * src/gidlmodule.c: (g_idl_module_new),
5056         (g_idl_module_build_metadata):
5057         * src/gidlmodule.h:
5058         * src/gidlparser.c: (start_element_handler):
5059         * src/ginfo.c: (g_info_new), (g_info_from_entry),
5060         (g_base_info_get_name), (g_base_info_get_namespace),
5061         (g_base_info_is_deprecated), (g_base_info_get_annotation),
5062         (g_base_info_get_metadata), (g_function_info_get_symbol),
5063         (g_function_info_get_flags), (g_function_info_get_property),
5064         (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
5065         (g_callable_info_may_return_null),
5066         (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
5067         (g_callable_info_get_arg), (g_arg_info_get_direction),
5068         (g_arg_info_is_return_value), (g_arg_info_is_dipper),
5069         (g_arg_info_is_optional), (g_arg_info_may_be_null),
5070         (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
5071         (g_type_info_get_tag), (g_type_info_get_param_type),
5072         (g_type_info_get_interface), (g_type_info_get_array_length),
5073         (g_type_info_is_zero_terminated),
5074         (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
5075         (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
5076         (g_value_info_get_value), (g_field_info_get_flags),
5077         (g_field_info_get_size), (g_field_info_get_offset),
5078         (g_registered_type_info_get_type_name),
5079         (g_registered_type_info_get_type_init),
5080         (g_struct_info_get_n_fields), (g_struct_info_get_field),
5081         (g_struct_info_get_n_methods), (g_struct_info_get_method),
5082         (find_method), (g_struct_info_find_method),
5083         (g_enum_info_get_n_values), (g_enum_info_get_value),
5084         (g_object_info_get_parent), (g_object_info_get_type_name),
5085         (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
5086         (g_object_info_get_interface), (g_object_info_get_n_fields),
5087         (g_object_info_get_field), (g_object_info_get_n_properties),
5088         (g_object_info_get_property), (g_object_info_get_n_methods),
5089         (g_object_info_get_method), (g_object_info_find_method),
5090         (g_object_info_get_n_signals), (g_object_info_get_signal),
5091         (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
5092         (g_object_info_get_n_constants), (g_object_info_get_constant),
5093         (g_interface_info_get_n_prerequisites),
5094         (g_interface_info_get_prerequisite),
5095         (g_interface_info_get_n_properties),
5096         (g_interface_info_get_property), (g_interface_info_get_n_methods),
5097         (g_interface_info_get_method), (g_interface_info_find_method),
5098         (g_interface_info_get_n_signals), (g_interface_info_get_signal),
5099         (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
5100         (g_interface_info_get_n_constants),
5101         (g_interface_info_get_constant), (g_property_info_get_flags),
5102         (g_signal_info_get_flags), (g_signal_info_get_class_closure),
5103         (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
5104         (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
5105         (g_constant_info_get_value), (g_union_info_get_n_fields),
5106         (g_union_info_get_field), (g_union_info_get_n_methods),
5107         (g_union_info_get_method), (g_union_info_is_discriminated),
5108         (g_union_info_get_discriminator_offset),
5109         (g_union_info_get_discriminator):
5110         * src/ginvoke.c: (g_function_info_invoke):
5111         * src/girepository.c: (g_irepository_register),
5112         (g_irepository_unregister), (g_irepository_get_default),
5113         (count_interfaces), (g_irepository_get_n_infos), (find_interface),
5114         (g_irepository_get_info), (g_irepository_find_by_name),
5115         (g_irepository_get_shared_library),
5116         (g_irepository_build_search_path), (g_irepository_register_file),
5117         (g_irepository_error_quark):
5118         * src/girepository.h:
5119         * src/gmetadata.c: (g_metadata_get_dir_entry),
5120         (g_metadata_check_sanity), (validate_header),
5121         (validate_array_type_blob), (validate_iface_type_blob),
5122         (validate_param_type_blob), (validate_error_type_blob),
5123         (validate_type_blob), (validate_arg_blob),
5124         (validate_signature_blob), (validate_function_blob),
5125         (validate_callback_blob), (validate_constant_blob),
5126         (validate_value_blob), (validate_field_blob),
5127         (validate_property_blob), (validate_signal_blob),
5128         (validate_vfunc_blob), (validate_struct_blob),
5129         (validate_enum_blob), (validate_object_blob),
5130         (validate_interface_blob), (validate_errordomain_blob),
5131         (validate_union_blob), (validate_blob), (validate_directory),
5132         (validate_annotations), (g_metadata_validate), (_g_metadata_init),
5133         (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
5134         (g_metadata_new_from_mapped_file), (g_metadata_free),
5135         (g_metadata_set_module), (g_metadata_get_namespace):
5136         * src/gmetadata.h:
5137         * tests/Makefile.am:
5138         * tests/invoke/Makefile.am:
5139         * tests/invoke/invoke-namespace-find.sh:
5140         * tests/invoke/invoke.c: (main):
5141
5142         Add a namespace/shared library mapping. fixes #313268.
5143
5144 2007-12-03  Johan Dahlin  <johan@gnome.org>
5145
5146         * src/gidlparser.c (parse_type_internal): Disable char/gchar and
5147         guchar for now.
5148
5149 2007-11-30  Jürg Billeter  <j@bitron.ch>
5150
5151         * configure.ac:
5152         * src/Makefile.am:
5153         * src/clexer.l:
5154         * src/cparser.y:
5155         * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
5156         (g_igenerator_write_inline), (g_igenerator_write),
5157         (g_igenerator_write_indent), (g_igenerator_write_unindent),
5158         (field_generate), (value_generate), (constant_generate),
5159         (property_generate), (function_generate), (vfunc_generate),
5160         (signal_generate), (interface_generate), (struct_generate),
5161         (union_generate), (boxed_generate), (enum_generate),
5162         (node_generate), (module_generate), (get_type_from_type_id),
5163         (str_replace), (g_igenerator_process_properties),
5164         (g_igenerator_process_signals), (g_igenerator_process_types),
5165         (get_type_from_ctype), (g_igenerator_process_function_symbol),
5166         (g_igenerator_process_unregistered_struct_typedef),
5167         (g_igenerator_process_struct_typedef),
5168         (g_igenerator_process_union_typedef),
5169         (g_igenerator_process_enum_typedef),
5170         (g_igenerator_process_function_typedef),
5171         (g_igenerator_process_constant), (g_igenerator_process_symbols),
5172         (g_igenerator_add_symbol), (g_igenerator_is_typedef),
5173         (g_igenerator_generate), (main), (csymbol_new),
5174         (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
5175         (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
5176         (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
5177         (eat_hspace), (eat_line), (read_identifier),
5178         (g_igenerator_parse_macros):
5179         * src/gen-introspect.h:
5180
5181         Import gen-introspect to generate introspection information by
5182         parsing C headers.
5183
5184 2007-11-30  Jürg Billeter  <j@bitron.ch>
5185
5186         * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
5187
5188 2007-11-30  Jürg Billeter  <j@bitron.ch>
5189
5190         * src/gidlparser.c: (end_element_handler): Don't leave requires
5191         state too early.
5192
5193 2007-11-29  Johan Dahlin  <johan@gnome.org>
5194
5195         * src/gidlparser.c (parse_type_internal): Add char,
5196         gchar and guchar to the builtin types.
5197
5198 2007-11-26  Johan Dahlin  <johan@gnome.org>
5199
5200         * src/ginfo.c: (g_object_info_get_type_name),
5201         (g_object_info_get_type_init):
5202         * src/girepository.c: (g_irepository_is_registered):
5203         * src/girepository.h:
5204
5205         Add g_object_info_get_type_name, g_object_info_get_type_init and
5206         g_irepository_is_registered.
5207
5208 2006-08-14  Jürg Billeter  <j@bitron.ch>
5209
5210       * src/gidlparser.c: (end_element_handler): Don't leave
5211         namespace and implements states too early.
5212         Fixes #351264
5213
5214 2007-11-26  Johan Dahlin  <johan@gnome.org>
5215
5216         * src/gmetadata.c (validate_struct_blob):
5217         pass blob_type to validate_function_blob instead of
5218         hard-coding BLOB_TYPE_STRUCT.
5219
5220         Patch by Torsten Schoenfeld, fixes #314190
5221
5222 2006-10-03  Torsten Schoenfeld  <tsch@cvs.gnome.org>
5223
5224         * src/compiler.c, src/generate.c, src/gidlnode.c,
5225         src/gidlparser.c, src/ginfo.c, src/girepository.c,
5226         tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
5227         warnings about return values, signedness mismatches, unused
5228         variables, and unhandles enum values in switch statements.
5229
5230         * tests/invoke/Makefile.am: Don't install the invoke test program.
5231         Add -I ../../src to the cflags used for the test functions files.
5232
5233 2005-08-31  Torsten Schoenfeld  <tsch@cvs.gnome.org>
5234
5235         * src/girepository.h: Export g_invoke_error_quark.
5236
5237 2005-08-31  Torsten Schoenfeld  <tsch@cvs.gnome.org>
5238
5239         * src/ginvoke.c: Remove the fallback implementation of
5240         g_function_info_invoke since we now formally depend on libffi.
5241
5242 2005-07-25  Matthias Clasen  <mclasen@redhat.com>
5243
5244         * src/Makefile, tests/Makefile, tests/invoke/Makefile:
5245         Remove these files from cvs, as they are now generated.
5246
5247         * src/gmetadata.c (validate_iface_type_blob): Don't
5248         complain if blob->pointer is not set, since that
5249         happens for enum and flag types.  (#308935, Gustavo
5250         Carneiro)
5251
5252         * Commit an autoconf-conversion patch by
5253         Gustavo Carneiro (#308708)
5254
5255 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
5256
5257         * src/compiler.c (main): Use it here to validate
5258         the generated metadata.
5259
5260         * src/gmetadata.[hc]: Add code to validate a
5261         metadata blob.
5262
5263         * metadata-format.txt: Updates
5264
5265 2005-05-22  Matthias Clasen  <mclasen@redhat.com>
5266
5267         * tests/*: Add struct offsets to field and vfunc
5268         elements.
5269
5270         * src/generate.c (write_vfunc_info): Write offset
5271         information for vfuncs.
5272
5273         * src/gidlnode.c (g_idl_node_build_metadata): Write
5274         the struct offsets into the metadata.
5275
5276         * src/gidlparser.c: Parse the offset attributes of
5277         field and vfunc elements.
5278
5279         * src/gidlnode.h: Add offset members to field and
5280         vfunc nodes.
5281
5282 2005-05-21  Matthias Clasen  <mclasen@redhat.com>
5283
5284         * TODO: Updates.
5285
5286         * gidl.dtd: Updates.
5287
5288         * src/g-idl-offsets.pl: A perl script which reads a .gidl
5289         file, creates, compiles and runs a C file, and folds the
5290         resulting struct offsets back into the .gidl file.
5291
5292 2005-05-20  Matthias Clasen  <mclasen@redhat.com>
5293
5294         * src/gidlparser.c (start_field): Make fields in objects
5295         work.
5296
5297         * src/gidlmodule.c: Include string.h
5298
5299         * TODO: Updates.
5300         :
5301
5302         * metadata-format.txt: Cleanup basic types.
5303         * src/*: Adapt to the changes.
5304         * tests/*: Adapt to the changes.
5305         * examples/gdk-pixbuf.gidl: Adapt to the changes.
5306
5307         * src/gidlnode.c (g_idl_node_get_size): Report the correct
5308         size for enum blobs.
5309         (g_idl_node_get_full_size): Report the correct size for
5310         function blobs.
5311
5312         * src/gidlmodule.c (g_idl_module_build_metadata): Add some
5313         error checking for blob sizes.
5314
5315 2005-05-19  Matthias Clasen  <mclasen@redhat.com>
5316
5317         * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
5318         interface types for which is_pointer is FALSE, e.g. enums.
5319
5320         * src/gidlnode.c (g_idl_node_get_full_size)
5321         * src/gidlparser.c (parse_type_internal):
5322         * src/generate.c (write_type_info): Support unspecialized
5323         lists, hashtables and errors. Also emit a '*' after these.
5324
5325         * TODO: Updates
5326
5327 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
5328
5329         * TODO: Updates
5330
5331         * metadata-format.txt: Cleanups by Maciej Katafiasz.
5332
5333 2005-05-15  Matthias Clasen  <mclasen@redhat.com>
5334
5335         * src/*.c: Change the directory to be addressed by
5336         1-based indexes, and use an index of zero to mean
5337         'no object'.
5338
5339 2005-05-15  Matthias Clasen  <mclasen@redhat.com>
5340
5341         * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
5342
5343         * tests/union.test: Add a union test.
5344
5345         * src/generate.c: Handle unions.
5346
5347         * src/girepository.h:
5348         * src/ginfo.c: Add GIUnionInfo and functions to access it.
5349
5350         * src/gidlnode.c: Handle GIdlNodeUnion nodes.
5351
5352         * src/gidlparser.c (start_union): Parse <union> elements.
5353
5354         * src/gidlnode.h: Add a GIdlNodeUnion.
5355
5356         * gidl.dtd: Add a <union> element.
5357
5358         * src/gmetadata.c (g_metadata_check_sanity): Check
5359         union_blob_size.
5360
5361         * src/gmetadata.h: Add union_blob_size to Header,
5362         add a UnionBlob.
5363
5364         * metadata-format.txt: Add a UnionBlob.
5365
5366 2005-05-13  Matthias Clasen  <mclasen@redhat.com>
5367
5368         * tests/*: Update testcases.
5369
5370         * src/generate.c (write_callable_info): Don't forget to
5371         write transfer and null-ok attributes for return types
5372         and parameters.
5373
5374         * src/girepository.h:
5375         * src/ginfo.c (g_callable_info_may_return_null):
5376         New function to find out if a function may return NULL.
5377
5378         * src/compiler.c (format_output): Make the generated
5379         C code compile.
5380
5381         * README: Point to a recent libffi snapshot.
5382
5383         * tests/invoke/*: Some invoke tests.
5384
5385         * src/Makefile: Add ginvoke.c and the necessary
5386         libffi information.
5387
5388         * src/girepository.h (g_function_info_invoke): Add
5389         a GError argument.
5390
5391         * src/ginvoke.c (g_function_info_invoke): Initial
5392         implementation of invoke functionality based on libffi.
5393
5394         * src/gidlnode.c (g_idl_node_build_metadata): Pass the
5395         strings and types hash tables in the right order when
5396         recursing.
5397         (find_entry_node): Free the name parts.
5398
5399 2005-05-12  Johan Dahlin  <johan@gnome.org>
5400
5401         * src/generate.c: Generate consistent end tags.
5402
5403         * tests/*: Update
5404
5405 2005-05-12  Matthias Clasen  <mclasen@redhat.com>
5406
5407         * TODO: Updates
5408
5409         * src/gidlparser.c (start_function): Actually add
5410         methods to objects.  (Steven Walter)
5411
5412         * src/girepository.h:
5413         * src/ginfo.c: Rename Transfer and Direction to
5414         GITransfer and GIDirection. (Torsten Schoenfeld)
5415
5416         * tests/*: Make tests work with the changes in name
5417         handling.
5418
5419         * src/gidlnode.c (find_entry_node): Parse qualified
5420         names and generate xref nodes for them if needed. Don't
5421         require all modules to be loaded any more.
5422
5423         * src/gidlmodule.c (g_idl_module_build_metadata): Choke
5424         on '.' in names.
5425
5426         * src/ginfo.c (g_object_info_get_parent): Return NULL
5427         if blob->parent is 0. Still need to make sure index
5428         0 is not used.
5429
5430         * src/generate.c: Generate qualified names when
5431         referring to non-local types. Emit transfer attribute
5432         for return types.
5433
5434         * src/compiler.c (format_output): Put the function
5435         attributes where gcc accepts them.
5436
5437 2005-05-11  Matthias Clasen  <mclasen@redhat.com>
5438
5439         * src/compiler.c (main): Add a --verbose cmdline option
5440         and only log messages if it is specified.
5441
5442         * src/gidlnode.h:
5443         * src/gidlnode.c (init_stats, dump_stats): Collect some
5444         statistics on string and type sharing.
5445
5446         * src/gidlmodule.c (g_idl_module_build_metadata): Use
5447         g_message() instead of fprintf().
5448
5449         * src/gidlnode.c (g_idl_node_free): Make this more robust.
5450         (g_idl_node_get_size): Implement for structs.
5451         (g_idl_node_get_full_size): Handle parent being NULL.
5452         (serialize_type): Handle lookup failures more gracefully.
5453
5454 2005-05-10  Matthias Clasen  <mclasen@redhat.com>
5455
5456         * src/gidlnode.c (g_idl_node_get_full_size): Correct the
5457         size calculation for 2-parameter types and for objects.
5458
5459         * src/compiler.c: Add a cmdline option for debug output
5460         and install a log handler to implement it.
5461         * src/gidlnode.c: Add some debug spew.
5462
5463         * TODO: Updates
5464
5465         * src/gidlmodule.c (g_idl_module_build_metadata): Don't
5466         forget to count the module name when calculating the
5467         required size for the metadata.
5468
5469         * src/gidlnode.c:
5470         * src/gidlparser.c: Fix compiler warnings.
5471
5472 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
5473
5474         * src/compiler.c (main): Free the option context.
5475
5476         * gidl.dtd: Clean up handling of names. All elements
5477         have a "name", only the elements corresponding to
5478         actual callable functions (function, method, constructor),
5479         have an additional "symbol" attribute holding the
5480         dlsym()-able function name.
5481
5482         * src/generate.c: Adapt to generate xml matching the
5483         new dtd.
5484
5485         * src/gidlparser.c:
5486         * src/gidlnode.c: Adapt to parse the new dtd.
5487
5488         * tests/*.test: Adjust to the new dtd.
5489
5490         * metadata-format.txt:
5491         * src/gmetadata.h: Remove the short_name field
5492         from the ValueBlob.
5493         * src/gmetadata.c: Shrink size of ValueBlob to 12.
5494         * src/girepository.h:
5495         * src/ginfo.c (g_value_info_get_short_name): Removed
5496
5497 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
5498
5499         * gidl.dtd: Allow constructors for boxed types,
5500         patch by Jonathan Blandford.
5501
5502
5503 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
5504
5505         * --- Initial import ---