1 Tue Aug 20 11:01:52 2002 George Lebl <jirka@5z.com>
5 Tue Aug 06 12:30:15 2002 George Lebl <jirka@5z.com>
7 * doc/gob2.1.in: escape all ' characters, to fix debian
8 bug 155577. Also add the homepage to the last section
10 * doc/makehtml.pl: improve handling of some troff and add
11 automatic urlization of email and web addresses
13 Tue Aug 06 12:08:20 2002 George Lebl <jirka@5z.com>
15 * src/test.gob: further tests
17 Tue Aug 06 12:06:07 2002 George Lebl <jirka@5z.com>
19 * src/main.c: damnit s/shutdown/dispose/, why does glib change
20 these on me. I think there is an evil anti-gob plot in place.
22 * src/test.gob: add a test for unrefwith (should have been there in
23 the first place to catch this)
25 * doc/gob2.1.in: update the unref/unrefwith section
27 Mon Aug 05 11:11:01 2002 George Lebl <jirka@5z.com>
29 * src/parse.y: properly link the BOXED type (use g_value_set_boxed)
31 Wed Jul 17 11:01:40 2002 George Lebl <jirka@5z.com>
35 Wed Jul 17 10:52:29 2002 George Lebl <jirka@5z.com>
37 * src/test.gob: add more tests
39 * doc/gob2.1.in: minor updates
41 * src/lexer.l: allow comments in property definition code
43 Tue Jul 16 13:33:51 2002 George Lebl <jirka@5z.com>
45 * NEWS, configure.in: prepare for 2.0.1
47 Tue Jul 16 13:31:42 2002 George Lebl <jirka@5z.com>
49 * src/main.c, src/parse.y: Fix extra property types but still
50 recognize if someone used the broken undocumented way which
51 worked. Also fix object linking to not rely on GtkObject, and
52 fix BOXED linking as well.
54 * src/test.gob: add some tests for the above
56 * src/parse.y: fix C++ compilation for flags and enum linking
58 Mon Jul 15 13:05:18 2002 George Lebl <jirka@5z.com>
62 * */Makefile.am: add '.' to SUBDIRS to silence a stupid version
65 Mon Jul 15 12:54:30 2002 George Lebl <jirka@5z.com>
67 * configure.in: raise version to 2.0.0
69 * examples/*: update examples and readme. Remove old, bad examples
71 * doc/gob2.1.in: update for gob2
73 Wed Jul 10 11:10:37 2002 George Lebl <jirka@5z.com>
75 * doc/gob2.1.in: update the docs a bit. Still not finished.
77 Tue May 28 12:09:56 2002 George Lebl <jirka@5z.com>
81 Tue May 28 11:59:18 2002 George Lebl <jirka@5z.com>
83 * src/Makefile.am: some compilation voodoo
85 * src/main.c: Special case GtkEditable and GTypePlugin since
86 those end in Class, and all other interfaces should end in
87 Iface. Long live code consistency!
89 * src/main.c: use g_signal_emitv instead of g_signal_emit. This
90 will allow us to once again have default returns and all that
91 fun stuff. It should also slightly reduce emission overhead.
93 Mon Apr 15 09:55:29 2002 George Lebl <jirka@5z.com>
95 * README, COPYING.generated-code, Makefile.am: Add LGPL license
96 for generated code and clarify this in the README. Meant to do
97 this a long time ago, and told everyone that who asked. Now
100 Sun Apr 14 19:12:02 2002 George Lebl <jirka@5z.com>
102 * src/parse.y: apply patch from Dennis Bjorklund <db@zigo.dhs.org>
103 to fix export accessors function
105 Fri Feb 01 15:19:07 2002 George Lebl <jirka@5z.com>
109 Fri Feb 01 01:42:09 2002 George Lebl <jirka@5z.com>
111 * src/main.c: get rid of the old way of doing typesafe signal
112 connection and make a new way where there are full connect
113 macros for connect, connect_after and connect_data for each
114 signal. A bit more heavy weight (only at compile time), but
115 it actually works, and is cleaner really.
117 2002-01-22 Bastien Nocera <hadess@hadess.net>
119 * src/main.c: (make_arguments): move the get_ and set_property before
120 parameters settings to work with latest glib
122 Fri Jan 18 14:21:22 2002 George Lebl <jirka@5z.com>
124 * src/treefuncs.(def|c|h), src/parse.y, src/lexer.l, src/main.c:
125 Implement GError definitions.
127 Thu Jan 17 02:39:02 2002 George Lebl <jirka@5z.com>
129 * gob2.m4: fix version check
131 * configure.in, src/Makefile.am: some build fixes and raise version
133 Thu Jan 10 22:05:42 2002 George Lebl <jirka@5z.com>
135 * src/parser.y, src/lexer.l, src/main.c, src/Makefile.am,
136 src/test.gob, src/treefuncs.(def|c|h): Implement using of
137 interfaces. That is, you can now implement interfaces on your
138 objects. You still can't define interfaces, that's step two.
140 Sun Dec 30 18:25:25 2001 George Lebl <jirka@5z.com>
142 * src/main.c: Apply patch from Josh Parsons <jp30@st-andrews.ac.uk>,
143 to fix some code generation
145 * src/parse.y: Be anal in linking string properties.
147 Thu Dec 20 17:39:32 2001 George Lebl <jirka@5z.com>
149 * src/main.c: Apply patch from Josh Parsons <jp30@st-andrews.ac.uk>
150 to enhance the m4 support, fix init function generation and
151 correctly include glib-object.h. Massage it a bit further as
154 Mon Nov 05 11:45:46 2001 George Lebl <jirka@5z.com>
156 * src/lexer.l, src/parser.y, src/main.c, src/treefuncs.def:
157 Add flags and enum creation code, so you can do things in
158 a more gob like manner rather then the glib-mkenums setup.
160 2001-10-27 Seth Nickell <snickell@stanford.edu>
162 Make BonoboObject stuff work, almost as much fun as
163 blowing goats and twice as messy. Built code still
164 requires a patch to libbonobo to run (changing the
165 name of the TYPE macro to fit w/ GNOME standards),
166 so retaining a warning that BonoboObject doesn't
167 really work (oh, but it does :-)
171 Make sure to substitute YFLAGS so you don't get undefined
172 crap when you use @YFLAGS@ in Makefile.am.
174 * src/main.c: (add_bonobo_object_get_type)
176 Add a GObject type function for BonoboObject stuff.
178 * src/main.c: (make_bonobo_object_epv)
180 Append self_ to function call as per gob2.
182 * src/main.c: (add_inits), (print_class_block)
184 * src/treefuncs.c: (ensure_quarks), (copy_class), (copy_method),
185 (free_class), (setv_class), (setv_method):
189 Change to using BonoboObject rather than BonoboXObject.
191 * examples/foo-some-interface.c
193 Update to work with GOB2 with BonoboObjectTechnology(TM).
195 2001-10-26 Seth Nickell <snickell@stanford.edu>
199 Add top_srcdir to the include flags to pick up config.h
202 Sat Oct 20 17:40:58 2001 George Lebl <jirka@5z.com>
204 * src/Makefile.am: a few fixes
206 Sat Oct 20 16:59:19 2001 George Lebl <jirka@5z.com>
208 * src/lexer.l, src/main.c, src/Makefile.am: Apply m4 preprocessing
209 patch by Josh Parsons <jp30@st-andrews.ac.uk>
211 Sat Sep 29 17:00:39 2001 George Lebl <jirka@5z.com>
213 * doc/Makefile.am: update
215 Sat Sep 29 16:44:13 2001 George Lebl <jirka@5z.com>
217 * doc/gob2.1.in: update a tad and add a note that the manual
220 Sat Sep 29 16:33:57 2001 George Lebl <jirka@5z.com>
222 * gob2.spec.in: update for gob2
224 Fri Sep 28 17:39:57 2001 George Lebl <jirka@5z.com>
226 * **/*: Merge from gob-2 to HEAD
228 Fri Sep 28 17:08:19 2001 George Lebl <jirka@5z.com>
230 * configure.in, gob2.spec.in, gob2.m4, doc/gob2.1.in, Makefile.am,
231 doc/Makefile.am: rename rest of files for gob2
233 * src/main.c: minor cleanup
235 Thu Sep 27 21:56:17 2001 George Lebl <jirka@5z.com>
237 * src/generate_treefuncs.pl, src/treefuncs.def, src/parse.y,
238 src/main.c: Revamp the tree funcs stuff to be saner and cooler,
239 and fix some crashes and other things related to this.
241 * src/parse.y, src/lexer.l, src/main.c, src/util.[ch],
242 src/checks.[ch], treefuncs.def: Add properties (GParam), fix
243 C++ generation, add GET_NEW_VARG, whack the propname alias for
244 arguments setters/getters (they're deprecated anyway)
246 * src/test.gob: update tests
248 Sun Sep 16 13:07:37 2001 George Lebl <jirka@5z.com>
250 * src/main.c: replace GOB_ prefix for local functions with
251 self_. This makes much more sense.
253 Sun Sep 16 12:43:24 2001 George Lebl <jirka@5z.com>
255 * src/lexer.l, src/parse.y, src/main.c, src/treefuncs.(def|c|h),
256 src/util.[ch], src/test.gob: Add syntax for properties (GParam
257 or whatever you call these:). The code behind them is not yet
260 Sun Aug 12 16:15:46 2001 George Lebl <jirka@5z.com>
262 * src/main.c, src/parse.y, src/test.gob, src/util.c: Things now
263 make compilable objects, including with signals, how well it
264 works I don't know. cpp support seems broken in glib mostly.
266 Sat Jun 30 15:01:26 2001 George Lebl <jirka@5z.com>
268 * Applied the following from HEAD
270 Sat Jun 30 14:57:37 2001 George Lebl <jirka@5z.com>
272 * doc/gob.1.in: add documentation for (export)
274 Tue Jun 26 15:54:08 2001 George Lebl <jirka@5z.com>
276 * src/Makefile.am: add built sources to EXTRA_DIST
278 2001-06-24 Mark Brown <broonie@sirena.org.uk>
280 * src/main.c: Default to PRIVATE_HEADER_ONDEMAND rather than
281 PRIVATE_HEADER_ALWAYS as per documentation.
283 * doc/gob.1.in: Fix cut & paste error in object_{get,set}
286 Sat Jun 09 13:38:53 2001 George Lebl <jirka@5z.com>
288 * src/parse.y: was freeing the wrong token
290 2001-06-03 Eskil Heyn Olsen <eskil@eskil.dk>
292 * examples/my-person.gob:
295 * examples/test-export.gob:
296 File that tests the (export) keyword.
299 Added a (export) keyword to argument, so gob will
300 autodefine the my_object_[get|set]_var functions.
302 Sun May 13 02:45:43 2001 George Lebl <jirka@5z.com>
304 * src/main.c: revert the GET_NEW_VARG since it just won't work
307 Sun May 13 02:31:52 2001 George Lebl <jirka@5z.com>
309 * src/main.c: add GET_NEW_VARG macro/static func (for non-gcc)
310 and add TYPE_SELF macro
312 Sun May 13 02:02:47 2001 George Lebl <jirka@5z.com>
314 * src/util.c: patch from Frederic Crozat <fcrozat@mandrakesoft.com>
317 Sat Apr 21 20:06:10 2001 George Lebl <jirka@5z.com>
319 * examples/Makefile.am, examples/README,
320 examples/GNOME_Foo_SomeInterface.idl,
321 examples/foo-some-interface.gob: Add an example for BonoboXObject
323 Sat Apr 21 19:33:08 2001 George Lebl <jirka@5z.com>
325 * configure.in: Raise version to 1.0.9
327 * src/lexer.l: Properly check major version requirements (majors
328 must match in the requires line)
330 * src/parse.y, src/main.c, src/treefuncs.(def|c|h), src/checks.c:
331 Add direct BonoboXObject support
333 * src/parse.y: fix the chunks usage
335 * doc/gob.1.in: document BonoboXObject stuff, fix the bugs section
336 wrt gtk-doc which has been supported for quite some time
338 Sat Apr 14 00:11:50 2001 George Lebl <jirka@5z.com>
340 * configure.in: compile with glib 2.0
342 * src/test.gob, src/Makefile.am: make the test glib pure, or mostly
345 * src/lexer.l: added fixme
347 * src/main.c: work on signals a little bit
349 Fri Apr 13 21:23:19 2001 George Lebl <jirka@5z.com>
351 * src/checks.[ch], src/lexer.l, src/main.c, src/parse.y,
352 src/treefuncs.[ch], src/treefuncs.def: Work on gobject support,
353 based on the patch Sven sent me. Also do add unref as well as
354 destroy handlers to vars, and moved the destructors to finalize and
355 unreffers to shutdown. This all compiles, but that doesn't mean it
356 makes usable objects.
358 Fri Apr 13 17:45:14 2001 George Lebl <jirka@5z.com>
360 * src/parse.y, doc/gob.1.in: Fix a problem found by Eric Kidd
361 <eric.kidd@pobox.com>, where objectlink was not completely
362 refcounting safe. Could underref if you set the same object.
364 Sat Mar 31 00:24:58 2001 George Lebl <jirka@5z.com>
366 * src/main.c: fix crash with marshallers of signals with a return
367 type and no arguments.
369 Sun Mar 04 19:14:03 2001 George Lebl <jirka@5z.com>
371 * src/main.c, src/checks.c, src/util.[ch]: Remove the underscore
372 hack, remove the 1.2 code from the 1.3 compat hacks, make all
373 short names start with GOB_. Start of the direct GObject
374 support, gob compiles, but it will not create useful object
377 Tue Feb 27 06:14:59 2001 George Lebl <jirka@5z.com>
379 * configure.in, src/Makefile.am, README: this is the gob-2 branch
382 Tue Feb 27 00:53:41 2001 Jonathan Blandford <jrb@redhat.com>
384 * README: Use my new-found maintainer status!!! The power!
386 Sun Feb 25 17:17:46 2001 George Lebl <jirka@5z.com>
390 Sun Feb 25 16:57:45 2001 George Lebl <jirka@5z.com>
392 * src/main.c, src/checks.c: to make doing BonoboXObjects possible
393 allow overriding the _get_type function.
395 * doc/gob.1.in: document the above
397 Sun Feb 11 16:33:07 2001 George Lebl <jirka@5z.com>
401 Sat Feb 10 18:42:59 2001 George Lebl <jirka@5z.com>
403 * src/Makefile.am: fix the build
405 2001-02-08 Maciej Stachowiak <mjs@eazel.com>
407 * src/Makefile.am: Remove BUILT_SOURCES stuff; Automake knows how
408 to handle .l and .y files directly, and including the .c files as
409 well was making it fail to link as it would try to link in lexer.o
412 Thu Feb 08 02:43:22 2001 George Lebl <jirka@5z.com>
414 * src/main.c: add signal connection typesafety macros
416 * src/test.gob, doc/gob.1.in: new stuff foo
418 * configure.in: raise version
420 Thu Feb 08 01:42:52 2001 George Lebl <jirka@5z.com>
422 * src/Makefile.am: rule for parse.h includes parse.c, and
423 SOURCES include BUILT_SOURCES
425 Tue Dec 26 11:03:44 2000 George Lebl <jirka@5z.com>
427 * src/main.c: Remove ## from the varargs macro stuff, as it's not
428 needed and causes trouble for newer gcc's (like in rh7)
430 Sun Sep 10 18:04:07 2000 George Lebl <jirka@5z.com>
434 Fri Sep 01 03:45:30 2000 George Lebl <jirka@5z.com>
436 * src/main.c: add G_GNUC_CONST to the _get_type function
438 Wed Aug 23 15:05:40 2000 George Lebl <jirka@5z.com>
440 * src/main.c: when a method has no arguments make an argumentless
441 macro for the shortform to avoid a parse error
443 * src/test.gob: add a test for the above
445 Sun Aug 6 22:21:38 2000 Eskil Heyn Olsen <eskil@eazel.com>
447 * gob.m4 now defaults to WARN instead of ERROR on missing
450 Tue Jul 25 16:54:34 2000 George Lebl <jirka@5z.com>
454 * configure.in: raise version to 1.0.4
456 * src/main.c: fixup the -anal macro patch.
458 * src/util.[ch], src/main.c: constize (not in 1.0.4)
460 * src/main.c: the short form pointers unified for both gnu and non-gnu
463 Sun Jul 23 18:51:45 2000 George Lebl <jirka@5z.com>
465 * src/util.[ch], src/main.c, src/checks.c, src/lexer.l, src/parse.y:
466 make new cleaner error print routines including a printfstyle one.
467 Use the get_real_id on all method ids even for overrides. When a
468 signal is added there is also a sizeof check for the signature vs.
469 argument list with a g_error if it fails. Fix %at{ %} to not
470 appear twice in all files.
472 * src/main.c: Apply patch from Arturo Tena to make things compile
473 nicely with gcc's -ansi -pedantic
475 * src/out.[ch]: constize correctly and use G_GNUC_PRINTF macro for
478 Fri Jul 21 15:38:10 2000 George Lebl <jirka@5z.com>
480 * src/main.c: store the private structure pointer so that we
481 don't look inside the freed object structureafter finalize
483 Thu Jul 06 02:32:29 2000 George Lebl <jirka@5z.com>
487 Wed Jul 05 19:37:20 2000 George Lebl <jirka@5z.com>
489 * src/{main.c,parse.y}: couple of cleanups, and fixup the gtk 1.3
492 Wed Jul 05 18:57:13 2000 George Lebl <jirka@5z.com>
494 * src/{checks.c, main.c, parse.y, test.gob}: Apply and fix up patch
495 from Bas van der Linden <linden@win.tue.nl> that adds the ability
496 to use const on the "self" argument as well. Also adds a CONST
497 casting macro to use.
499 * src/main.c: Fix a memory leak when destroy wasn't overriden and
500 destructors were added, it now properly calls the parent handler.
503 * src/main.c: Spit out some macro magic foo to hopefully make it
504 possible to compile objects with GTK+ 1.3/2.0
506 * doc/gob.1.in, examples/*.gob: We should never do
507 GTK_OBJECT(GET_NEW) as that's a memory leak due to some weird
508 GTK_OBJECT() semantics
510 Fri Jun 30 14:08:53 2000 George Lebl <jirka@5z.com>
514 Fri Jun 30 13:11:05 2000 George Lebl <jirka@5z.com>
516 * doc/gob.1.in: add doc for --always-private-struct
518 * src/main.c: fix output of --help. Also print __GOB_FUNCTION__
519 for inits and for get/set_arg. And print the get_real_id to
520 avoid the underscore.
522 Mon Jun 26 00:06:45 2000 George Lebl <jirka@5z.com>
524 * src/parse.y: for stringlink, dup the string on argument
527 * doc/gob.1.in: update documentation to the above change
529 Sun Jun 25 03:34:02 2000 George Lebl <jirka@5z.com>
531 * src/treefuncs.def, src/main.c, src/utils.[ch], src/parse.y: sane
532 parsing of const. Get rid of "stars" integer and just use a
533 "pointer" string. Also the types in general are more sanely parsed,
534 thus recognizing hopefully all legal (and some illegal) C types.
536 * src/checks.[ch], src/main.c: checks the argument type to be one we can
539 * src/treefuncs.def, src/main.c, src/parse.y, src/lexer.l: Apply
540 patch from Bas van der Linden <linden@win.tue.nl> that adds the
541 possibility to use chunks to allocate objects.
543 * src/main.c: Apply patch from Bas van der Linden <linden@win.tue.nl>
544 to add a __GOB_FUNCTION__ define to each function
546 * src/Makefile.am, src/main.c, src/lexer.l, src/generate_treefuncs.pl:
547 avoid and fix warnings, and compile with all warnings
549 * src/main.[ch]: add an --always-private-struct option to always put
550 in the private pointer, even if there are no private members.
552 * src/test.gob: add some more tests for new stuff
554 Wed Jun 07 15:03:18 2000 George Lebl <jirka@5z.com>
558 Wed Jun 07 14:41:24 2000 George Lebl <jirka@5z.com>
560 * configure.in, doc/gob.1.in: updates
562 Mon Jun 05 12:10:46 2000 George Lebl <jirka@5z.com>
564 * doc/gob.1.in: run through ispell, and fix option stuff to produce
565 nicer html output with groff
567 Thu Jun 01 18:12:13 2000 George Lebl <jirka@5z.com>
569 * src/main.c: Make the private header switches work again.
571 Wed May 31 01:50:25 2000 George Lebl <jirka@5z.com>
575 Wed May 31 01:47:23 2000 George Lebl <jirka@5z.com>
577 * src/gob.1.in: documentation of makefile rules for gob.
579 Tue May 30 11:02:36 2000 George Lebl <jirka@5z.com>
581 * src/lexer.l: Accept identifiers in array dimensions, this is so
582 that you can make these some constants.
584 Sat May 20 18:22:33 2000 George Lebl <jirka@5z.com>
588 Sat May 20 18:22:23 2000 George Lebl <jirka@5z.com>
590 * src/{main.c,checks.[ch]}: check for duplicate overrides, it is
591 different from checking symbol names as they don't conflict with
592 other symbols AND they only conflict if both the name and their
595 Sat May 20 16:38:06 2000 George Lebl <jirka@5z.com>
597 * src/{main.[ch],util.[ch],checks.c}: Add underscore removal for
598 non-override methods. This means that local aliases will include
599 prepended underscores, but when the full name is generated, or
600 when the method name is added to class structure, the underscore
603 * src/checks.c: overrides no longer checked for uniqueness, a more
604 complex logic is needed.
606 * src/{main.c,treefuncs.def,parse.y}: override naming is done
607 with a unique id, so that we handle cases where two classes have
608 the same method name.
610 * doc/gob.1.in: update for the above.
612 Sat May 20 14:42:00 2000 George Lebl <jirka@5z.com>
614 * src/main.c: the private structure is now freed in finalize again and
615 thus do the same dance around finalize as we do around destroy.
616 Clean up some code. NULL all things being destroyed. The arbitary
617 destructor uses memset as those things might not be just pointers.
619 Thu May 11 23:48:44 2000 George Lebl <jirka@5z.com>
621 * src/main.[ch]: provide the Self and SelfClass typedefs in addition
622 to SELF, IS_SELF, SELF_CLASS macros. All of these can now be
623 disabled with the --no-self-alias option
625 * doc/gob.1.in: update
627 * configure.in: raise version
629 Tue May 09 23:18:16 2000 George Lebl <jirka@5z.com>
631 * src/parse.y: fix segfault on parse error and give better error
634 Tue May 09 21:54:10 2000 George Lebl <jirka@5z.com>
636 * doc/gob.1.in, src/main.c: Add destruction code into the destroy
637 handler rather then finalize. Setup an extra function if
638 neccessary to handle returns correctly as this must be called
641 Sat Apr 29 14:41:42 2000 George Lebl <jirka@5z.com>
645 Sat Apr 29 14:40:40 2000 George Lebl <jirka@5z.com>
647 * src/checks.c: code prettification
649 * src/lexer.l, src/parse.y, src/test.gob: change "class" scope to
650 "classwide" scope, not to overload the class keyword
652 * src/main.[ch]: make private header files be generated by default,
653 and cleanup that part a bit
655 * doc/gob.1.in: add documentation of classwide
659 Fri Apr 21 17:15:09 2000 George Lebl <jirka@5z.com>
661 * src/main.c: add spaces after commas
663 * src/lexer.l, src/main.c, src/parse.y: add class scope variables
664 which are put into the class structure
666 * src/test.gob: added a test for class variables
668 * src/treefuncs.def: added CLASS_SCOPE
670 * src/treefuncs.h: regenerated
672 Mon Apr 17 20:13:47 2000 George Lebl <jirka@5z.com>
674 * src/parse.y: on objectlink instead of just ref, do ref/sink.
676 Sat Apr 15 23:07:30 2000 George Lebl <jirka@5z.com>
680 Sat Apr 15 22:42:20 2000 George Lebl <jirka@5z.com>
682 * src/main.c: fixes for ANSI C and C++. Just use GTK_VALUE_POINTER
683 instead of GTK_VALUE_OBJECT so that we don't have to cast and don't
686 Sat Apr 15 22:09:49 2000 George Lebl <jirka@5z.com>
688 * src/main.c: use the generic return type in signal marshallers
689 rather then the specific one as the marshallers are truly generic
691 Sat Apr 15 21:52:52 2000 George Lebl <jirka@5z.com>
693 * src/main.c: fix some typesafety braindamages with OBJECT types
694 in arguments by casting GTK_VALUE_OBJECT to gpointer. Also
695 for seting arguments cast the ARG to atype if it exists
697 Wed Apr 05 13:42:28 2000 George Lebl <jirka@5z.com>
699 * src/parse.y: never allow NONE to be used as one of many arguments,
700 always only by itself in the argument list
702 * src/main.c: When printing out the signal marshaller prototype,
703 don't print out the NONE (void) into the argument list, thanks
704 to Soeren Sandmann <sandmann@daimi.au.dk> for reporting that
706 Mon Apr 03 13:07:33 2000 George Lebl <jirka@5z.com>
708 * examples/Makefile.am: add my-person2.gob to EXTRA_DIST
710 Sun Apr 02 18:09:40 2000 George Lebl <jirka@5z.com>
714 Sun Apr 02 17:38:12 2000 George Lebl <jirka@5z.com>
716 * src/Makefile.am: ass the .pl and .def file to EXTRA_DIST
718 Sun Apr 2 14:37:49 PDT 2000 Manish Singh <yosh@gimp.org>
720 * configure.in: check for treefuncs.h instead of tree.h, since
721 the latter has gone bye-bye
723 Sat Apr 01 23:27:47 2000 George Lebl <jirka@5z.com>
725 * doc/gob.1.in: add documentation for defreturn
727 Sat Apr 01 18:03:31 2000 George Lebl <jirka@5z.com>
729 * src/{treefuncs.(def|c|h),generate_treefuncs.pl}: What would gob
730 be without some automatically generated code. The tree.[ch] was
731 hard to keep up and didn't have free/copy so these do, otherwise
732 it is the same. Also added a defreturn field to methods
734 * src/*.[cyl]: include treefuncs.h rather then tree.h
736 * src/{parse.y,lexer.l,main.c}: use the defreturn as the default for
737 return values of signals and virtual methods. If this is not
738 defined use the onerror or failing that '0'. onerror is also not
739 a reserved keyword anymore
741 * configure.in: raise version
743 Mon Mar 27 13:08:01 2000 George Lebl <jirka@5z.com>
747 Mon Mar 27 12:04:22 2000 George Lebl <jirka@5z.com>
749 * src/util.[ch], src/main.c: figure out if we really need the special
750 types, also make a hash for the gtk types instead of linear
751 searching it all the time.
753 * src/{lexer.c,checks.c,main.c}: minor fixes and cleanups
755 2000-03-21 Eskil Heyn Olsen <deity@eskil.dk>
757 * gob.m4: do not default GOB to no when not found (did that make
759 And better error message.
761 Mon Mar 20 14:35:35 2000 George Lebl <jirka@5z.com>
763 * src/lexer.l: handle single word typenames with an empty namespace
765 Sun Mar 05 02:23:04 2000 George Lebl <jirka@5z.com>
767 * src/main.c: add #lines around setting default handlers
769 * src/parse.y: fix line number for 'destroywith' destructors
771 Sat Mar 04 15:33:18 2000 George Lebl <jirka@5z.com>
773 * src/checks.c: duplicate name test for arguments and signals is
774 case insensitive now as those could cause trouble
776 Mon Feb 28 02:45:27 2000 George Lebl <jirka@5z.com>
780 Sun Feb 27 20:59:45 2000 George Lebl <jirka@5z.com>
782 * src/parse.y,doc/gob.1.in: For stringlink, just return a pointer on
783 get rather then strduping as that is 1) consistent with objectlink
784 and 2) more flexible.
786 Sun Feb 27 20:38:19 2000 George Lebl <jirka@5z.com>
788 * src/{main.c,tree.[ch],parse.y}: add the arbitrary destruction handler
791 * doc/gob.1.in: updated and fixed up
793 * configure.in,NEWS,examples/{README,my-person2.gob}: change version
796 Sun Feb 27 18:37:57 2000 George Lebl <jirka@5z.com>
798 * NEWS,doc/gob.1.in,examples/{README,my-person.gob,my-person2.gob}:
799 update of docs and examples to include the new features and minor
802 Sun Feb 27 04:41:41 2000 George Lebl <jirka@5z.com>
804 * src/main.c: make the output nicer for classes with no methods
805 better typechecking in get/set_arg, fix a couple of C++ issues,
807 * src/{main.c,parse.y,tree.[ch]}: automatic linking of arguments to
808 data members. Also alow empty statements inside a class. Also
809 add automatic data member destruction for pointer data, and
810 automatic initialization for any data member.
812 * src/main.[ch],src/out.c: add --no-lines which inhibits printing
813 of #line things to output files
815 * doc/gob.1.in: update for the above
817 Fri Feb 25 15:21:47 2000 George Lebl <jirka@5z.com>
821 Fri Feb 25 14:46:51 2000 George Lebl <jirka@5z.com>
823 * src/main.c: add SELF casting macros
825 * doc/gob.1.in: document the above
827 Fri Feb 25 02:29:26 2000 George Lebl <jirka@5z.com>
829 * src/main.c,src/tree.[ch],src/parse.y: public signals get
830 GTK_RUN_ACTION added. Plus an interface for adding additional
833 * doc/gob.1.in: add docs for the above
835 Fri Feb 25 01:37:20 2000 George Lebl <jirka@5z.com>
837 * src/main.c: fix trailing comma on the end of the argument enum
839 Sun Feb 13 23:54:53 2000 George Lebl <jirka@5z.com>
841 * doc/gob.1.in: add doc patch from Dave Dunkin <dunkind@letu.edu>
843 * doc/gob.1.in,examples/*.gob: use init(self) to be more consistent
846 Sat Feb 12 14:42:15 2000 George Lebl <jirka@5z.com>
848 * src/main.c,src/lexer.l: apply patches from Dave Dunkin
849 <dunkind@letu.edu> to add all and alltop ccode sections
850 and to add a --no-write,-n option to not actually write
851 any files. Also did some very cosmetic changes to code
853 Mon Feb 07 23:45:04 2000 George Lebl <jirka@5z.com>
855 * src/main.c: use the magic /*< private >*/ and /*< public >*/
856 comments to distinguish public and protected data members
858 Mon Feb 07 03:02:48 2000 George Lebl <jirka@5z.com>
862 Mon Feb 07 02:50:11 2000 George Lebl <jirka@5z.com>
864 * src/lexer.l: error on multiple classes
866 * src/main.c: nicer header output
868 * src/{lexer.l,main.c}: Eat out gtk-doc like inline doc entries
869 and stuff them into the output files where appropriate
871 * doc/gob.1.in: added docs for gtk-doc like inline doc stuff
873 * examples/{README, gtk-button-count.gob}: added inline docs
875 Fri Feb 04 01:07:54 2000 George Lebl <jirka@5z.com>
877 * src/main.c: use G_GNUC_UNUSED rather then our own macro for a
878 very slightly cleaner looking output file
880 2000-01-31 Eskil Heyn Olsen <deity@eskil.dk>
882 * gob.m4: checks for gob binary, GOB_CHECK([version [,
883 action_if_found[, action_if_not_found]]]).
885 * Makefile.am: Install gob in $prefix/share/aclocal
887 Thu Jan 27 17:50:11 2000 George Lebl <jirka@5z.com>
889 * src/main.c: add #include <stdlib.h>
891 Mon Jan 24 22:52:47 2000 George Lebl <jirka@5z.com>
895 Mon Jan 24 22:23:47 2000 George Lebl <jirka@5z.com>
897 * src/main.c: add a protecting define before the object typedef
899 * doc/gob.1.in: add docs for the new stuff
901 Sun Jan 23 16:19:54 2000 George Lebl <jirka@5z.com>
903 * src/{lexer.l,parse.y,tree.[ch],main.c}: make more types of header
904 %{ %} blocks, "headertop" and "privateheader" and made short as
905 well as long names possible.
907 * src/main.c: add an --no-extern-c option to not put entern "C" into
908 the output, which is now put in by default even if --for-cpp is
909 on so that it is possible to call those from C by default
911 Thu Jan 20 01:50:45 2000 George Lebl <jirka@5z.com>
913 * src/main.c: put the _real_ functions in our normal private
914 namespace of ___* to be more consistent.
916 Mon Jan 10 00:16:43 2000 George Lebl <jirka@5z.com>
918 * src/{main.[ch],util.[ch],checks.[ch]}: offload some functionality to
921 * src/main.c: cleanup the generation routine by spliting it up into
924 * src/{main.h,lexer.l,parse.y,out.c}: put some needed externs into the
925 main.h file and include that rather then doing it in the .c files
927 Thu Jan 06 18:33:44 2000 George Lebl <jirka@5z.com>
929 * src/main.c: use ___ for the signal marshalling typedefs as well
931 Thu Jan 06 17:32:46 2000 George Lebl <jirka@5z.com>
935 Thu Jan 06 17:13:22 2000 George Lebl <jirka@5z.com>
937 * src/main.c: be consistent with the use of "namespacing", we
938 prefix ALL internal gob stuff with "___". This should make it
939 easier to avoid name conflicts with user code and glibc/gcc (Which
940 seems to use __ prefix)
942 * src/main.c: check for init and class_init names for non-constructor
943 methods and give an error if found.
945 * src/main.c: check argument types and flags for correctness, error
946 on unknown type, but just a warning on unknown flag
948 * doc/gob.1.in: add a section for name conflicts
950 Wed Jan 05 02:23:21 2000 George Lebl <jirka@5z.com>
952 * src/main.c: doh! the symbols for the aliases need to be declared as
955 Wed Jan 05 02:13:59 2000 George Lebl <jirka@5z.com>
957 * src/main.c: just realized that args... for macros is a GNU
958 extention and so the PARENT_HANDLER no longer uses it, but prints
959 the argument names with __ prefixed into the argument list.
961 Wed Jan 05 01:58:32 2000 George Lebl <jirka@5z.com>
963 * src/main.c: if using gnu c, also define macros using varargs for
964 function aliases. This should allow the compiler to optimize
965 further and if we have arguments for the defines there are
966 no adverse side effects as there are for straight defines.
968 Wed Jan 05 01:48:12 2000 George Lebl <jirka@5z.com>
970 * src/main.c: fixup the aliases. They didn't actually work right.
971 now we set it up as a const pointer to a function using typeof.
973 Tue Jan 04 17:57:55 2000 George Lebl <jirka@5z.com>
975 * src/lexer.l: add support for 'requires x.y.z' line. This is
976 so that a .gob file can require at least version x.y.z of gob
978 * src/test.gob: update
980 * doc/gob.1.in: update for requires and run trhough ispell
982 Tue Jan 04 17:10:54 2000 George Lebl <jirka@5z.com>
984 * src/main.c: fix the non-gnu aliases
986 Tue Jan 04 16:46:16 2000 George Lebl <jirka@5z.com>
988 * src/{main.c,parser.y,tree.[ch]}: add optional C type specification
989 to arguments for full type safety
991 * doc/gob.1.in: updated
993 Tue Jan 04 15:34:16 2000 George Lebl <jirka@5z.com>
995 * src/main.c: --no-gnu option to completely disable any use
996 of GNU C extentions. This is for those weird people that don't
997 wish to use those extentions even with GNU C.
999 Tue Jan 04 14:43:49 2000 George Lebl <jirka@5z.com>
1001 * src/main.c: use some GNU extentions (guarded with #ifdef __GNUC__)
1002 to make arguments fully typesafe, and to make it easier for
1003 GNU to optimize the aliases, as well as to avoid the ugly
1006 * src/main.c: don't put #line 0 for the .gob file for method prototypes
1008 * src/main.c: move the _priv structure freeing into finalize to enable
1009 people to work with the private stuff inside the destroy handler
1011 * src/main.c: use #line before every precondition check so that failed
1012 checks should point to the function prototype rather then into
1015 * src/main.c: remove the _END_ARG macro
1017 * src/main.c: add GOB_VERSION_MAJOR, GOB_VERSION_MINOR and
1018 GOB_VERSION_PATCHLEVEL defines into the generated C file
1020 * src/out.c: don't redundantly put #line for outfile if we're already
1023 * configure.in: raise version number
1025 Tue Jan 04 02:22:33 2000 George Lebl <jirka@5z.com>
1027 * src/main.c: add argument wrapper macros to make the argument system
1028 a little more type safe.
1030 Fri Dec 31 17:39:22 1999 George Lebl <jirka@5z.com>
1034 Thu Dec 30 20:20:36 1999 George Lebl <jirka@5z.com>
1036 * src/main.c: correctly handle the complex fundemental types,
1037 so that we can handle ALL the fundemental types for signals
1039 Thu Dec 30 19:29:56 1999 George Lebl <jirka@5z.com>
1041 * src/main.c: don't use function types for casts in marshallers,
1042 but default types we get from our GTK_TYPE_* -> C type translation,
1043 and use this fact to check for same function types and combine
1044 signal prototypes. This doesn't yet handle well complex types,
1045 but I have an idea how to make complex types work. Though
1046 I dunno if it's actually worth it.
1048 Thu Dec 30 17:18:27 1999 George Lebl <jirka@5z.com>
1050 * src/main.c: figure out some types from GTK types and cast properly
1051 when emitting a signal. This catches some inconsistencies in
1052 signal func argument lists and the GTK types of the arguments.
1054 Wed Dec 29 18:04:13 1999 George Lebl <jirka@5z.com>
1056 * src/parse.y: allow scope, public/private/protected, to come before
1057 the signal or virtual keyword for consistency's sake.
1059 Wed Dec 29 01:39:30 1999 George Lebl <jirka@5z.com>
1061 * src/{tree.[ch],parser.y}: cleanup scope stuff
1063 * src/{lexer.l,parser.y,tree.h,main.c}: add protected keyword and
1064 methods. protected methods are put into the -private files and
1065 are real exported functions just like public. protected data
1066 members act like pre-0.91.x private datamembers, that is they
1067 get stuck into the public header, but marked /* protected */.
1069 * src/main.c: change the method body printing function so that we
1070 can catch the no return warning properly and send us to the .gob
1071 file instead of the .c file.
1073 * src/{parse.y,main.c}: handle empty publics/privates/overrides
1074 and handle the body being set to ';' rather then '{}'
1076 * src/main.c: check for empty nonvoid regular methods, and error out
1077 on finding them as that would produce warnings which we can't catch
1078 and it is generally bad to do anyway
1080 * src/{parse.y,tree.[ch],main.c}: use char pointers for C buffers,
1081 and kill leading/trailing whitespace from them to make the C files
1082 nicer and easier to recognize empty functions.
1084 * src/main.c: add a --version switch
1086 * doc/gob.1.in: Update with the above changes
1088 * configure.in: raise version
1090 Tue Dec 28 20:49:56 1999 George Lebl <jirka@5z.com>
1092 * src/main.c: apply patch from ChiDeok Hwang <cdhwang@sr.hei.co.kr>
1093 to make the hack function static so that we don't pollute namespace
1095 Mon Dec 27 19:56:24 1999 George Lebl <jirka@5z.com>
1099 Mon Dec 27 03:00:25 1999 George Lebl <jirka@5z.com>
1101 * src/main.c: fixup PARENT_HANDLER to work well with non-void
1102 functions, the macro becomes an expression if the function is
1103 not void and returns the return of the parent or the onerror
1104 expression if the function pointer was NULL.
1106 Mon Dec 27 02:25:32 1999 George Lebl <jirka@5z.com>
1108 * src/parse.y: allow completely empty classes
1110 * src/main.c: don't add the ugly hack function if there are no
1113 Mon Dec 27 01:26:26 1999 George Lebl <jirka@5z.com>
1115 * src/parse.y: fixup the virtual rule as I forgot to shift the
1116 argument numbers when adding to the expression
1118 Mon Dec 27 01:07:14 1999 George Lebl <jirka@5z.com>
1120 * src/parse.y: add optional public keyword to virtuals and signals,
1121 (which doesn't do anything, only consistency). I should perhaps
1122 rewrite and simplify this part of the parser
1124 * src/lexer.l: fix a bug with empty braces producing a segfault
1125 on public and private methods
1127 * doc/gob.1.in: add a section about Constructor methods (init
1128 class_init) and fix init_class -> class_init
1130 * configure.in: raise version to 0.91.2
1132 Tue Dec 14 00:06:00 1999 George Lebl <jirka@5z.com>
1136 Mon Dec 13 23:25:06 1999 George Lebl <jirka@5z.com>
1138 * src/{main.c,out.c}: create a private header file and stick
1139 the private structure definition inside it. Add option
1140 --no-private-header for 0.91.0 behaviour and
1141 --always-private-header to force private header creation
1143 * doc/gob.1.in: update WRT above changes
1145 * examples/my-person.gob: include the private header
1149 Mon Dec 13 18:30:09 1999 George Lebl <jirka@5z.com>
1151 * src/main.c: don't print spurious #line's into the private
1154 * src/{main.c,tree.[ch],lexer.l,parse.y}: implement support for
1155 array types for data members and function arguments
1157 Mon Dec 13 00:48:47 1999 George Lebl <jirka@5z.com>
1161 Sun Dec 12 22:55:12 1999 George Lebl <jirka@5z.com>
1163 * doc/gob.1.in: added paragraph noting that private data members
1164 cannot be accessed above the class definition in the .gob file
1166 Sun Dec 12 22:08:31 1999 George Lebl <jirka@5z.com>
1168 * src/main.c: implement real private data members as promised in
1169 the documentation, this however breaks some compatiblity with
1170 things that already used the 'private' keyword for data members
1172 * doc/gob.1.in: document private data member stuff
1176 * src/main.c: a couple of sanity checks of the code to prevent weird
1177 errors on some broken .gob code
1179 * configure.in: update version to 0.91.0
1181 Sun Dec 05 14:20:26 1999 George Lebl <jirka@5z.com>
1183 * src/{lexer.l,main.c}: if we find the class header #include
1184 statement in a %{ %} section above class definition, don't
1185 include it ourselves.
1187 * doc/gob.1.in: remove the note about the include always first from
1188 BUGS, and make a new section for the include file.
1190 Thu Nov 25 13:09:08 1999 George Lebl <jirka@5z.com>
1194 Thu Nov 25 13:00:52 1999 George Lebl <jirka@5z.com>
1196 * src/main.c: don't error out on a symbol conflict if the types of
1197 the symbol node don't match (variable,method)
1199 Sat Nov 20 16:15:42 1999 George Lebl <jirka@5z.com>
1201 * src/main.c: add PARENT_HANDLER macro to make calling parent
1202 handlers in override functions easier
1204 Fri Nov 19 16:41:09 1999 George Lebl <jirka@5z.com>
1206 * src/main.c: add a type macro
1208 Thu Nov 18 22:56:09 1999 George Lebl <jirka@5z.com>
1210 * src/parse.y: add a warning check if the number of GTK types of
1211 a signal doesn't seem to be correct for the given number of
1214 Tue Nov 16 01:23:45 1999 George Lebl <jirka@5z.com>
1216 * src/main.c: support a "no-touch-headers" mode in which the
1217 headers are not touched unless they actually really changed,
1218 not on by default as it confuses automake
1220 Tue Nov 16 00:36:42 1999 George Lebl <jirka@5z.com>
1222 * src/{main.c,lexer.l,parser.y,out.c}: Implement a C++ mode, get
1223 rid of C++ errors/warnings when in C++ mode, and get rid of
1224 the 'this' pointer finally (it's been deprecated long enough)
1226 Mon Nov 15 23:45:37 1999 George Lebl <jirka@5z.com>
1228 * src/main.c: add prototype for the really bad hack function to
1231 Mon Nov 15 23:42:06 1999 George Lebl <jirka@5z.com>
1233 * src/main.c: generate correct function pointers in the structure
1234 for signals and virtuals. Also use a much nicer system instead
1235 of the method name defines, we now just set a bunch of static
1236 pointers, this removes a whole lot of headaches actually
1238 * doc/gob.1.in: repair to reflect the above (I removed the define
1241 Sun Nov 14 17:57:34 1999 George Lebl <jirka@5z.com>
1243 * doc/gob.1.in: repair some things that confused troff and add
1244 a C preprocessor warning to BUGS
1246 Sat Nov 13 17:22:49 1999 George Lebl <jirka@5z.com>
1248 * **/Makefile.am, configure.in: fix the conditional installation
1249 stuff, don't even go into the doc directory if we aren't installing
1251 Sat Nov 13 16:53:20 1999 George Lebl <jirka@5z.com>
1253 * doc/gob.1.in: describe BUGS better
1255 Sat Nov 13 16:20:41 1999 George Lebl <jirka@5z.com>
1257 * src/lexer.l: don't kill C++ style comments from C blocks
1259 Sat Nov 13 16:16:59 1999 George Lebl <jirka@5z.com>
1261 * src/{lexer.l,main.c,out.c}: fixed spurious newline printing, don't
1262 kill comments from C blocks so that line counts are right, accept
1263 newlines in strings, and don't take \'\"\' as a string delimiter
1265 Sat Nov 13 14:53:26 1999 George Lebl <jirka@5z.com>
1267 * src/main.c: don't add gtk_object_class to class_init if we only
1268 have non-GtkObject overrides to avoid warning
1270 Sat Nov 13 14:31:25 1999 George Lebl <jirka@5z.com>
1272 * configure.in,src/Makefile.am,doc/Makefile.am: check for
1273 ../NOINST_GOB and in case it's found don't install self
1275 Fri Nov 12 16:25:35 1999 George Lebl <jirka@5z.com>
1277 * configure.in,Makefile.am,src/main.c: don't use popt, our arguments
1278 are simple enough and popt doesn't seem to be widely used yet
1280 Sun Sep 05 22:08:40 1999 George Lebl <jirka@5z.com>
1284 Sun Sep 05 22:08:33 1999 George Lebl <jirka@5z.com>
1286 * doc/gob.1.in: updated for private virtual and signal wrappers
1288 Sun Sep 05 21:50:19 1999 George Lebl <jirka@5z.com>
1290 * configure.in: raise version and actually set POPT_LIB correctly
1292 * src/Makefile.am: use POPT_LIB
1294 Sun Sep 05 21:45:54 1999 George Lebl <jirka@5z.com>
1296 * src/tree.h,src/main.c,src/parse.y: add support for private signals
1299 * src/parse.y: fix bug with bogus vararg methods
1301 Sun Sep 04 17:44:37 1999 George Lebl <jirka@5z.com>
1305 Sat Sep 04 17:18:22 1999 George Lebl <jirka@5z.com>
1307 * src/lexer.l,src/parse.y,src/main.c,src/tree.[ch]: support
1308 variable arguments for public and private methods
1310 Sat Sep 04 16:51:11 1999 George Lebl <jirka@5z.com>
1312 * lexer.l,parse.y: accept const in parameter lists
1314 Sun Aug 29 13:46:33 1999 George Lebl <jirka@5z.com>
1318 Sat Aug 28 23:36:48 1999 George Lebl <jirka@5z.com>
1320 * src/main.[ch],parse.y: make error/warning reporting public
1321 and use it to report depreciated use of 'this'
1323 Sat Aug 28 22:41:52 1999 George Lebl <jirka@5z.com>
1325 * src/tree.[ch],parse.y,main.c: check for duplicate variables and
1326 signals and arguments as well.
1328 Sat Aug 28 22:00:19 1999 George Lebl <jirka@5z.com>
1330 * src/parse.y,src/main.c: change "this" to "self", but accept "this"
1333 * src/main.c: check for duplicate methods, and warn on non-public
1336 * configure.in: change to version 0.90.0
1338 * doc/gob.1.in: change this to self
1340 Tue Aug 24 20:37:26 1999 George Lebl <jirka@5z.com>
1344 Thu Aug 19 03:18:03 1999 George Lebl <jirka@5z.com>
1346 * src/main.c: also count overrides to avoid an unused variable on
1349 Thu Aug 19 03:08:49 1999 George Lebl <jirka@5z.com>
1351 * src/parse.y: in a check, we can check not only about numbers
1352 but for tokens as well
1354 Wed Aug 18 12:54:17 1999 George Lebl <jirka@5z.com>
1358 Tue Aug 17 22:24:47 1999 George Lebl <jirka@5z.com>
1360 * src/lexer.l,src/parse.y: don't use reserved words for check type
1363 * src/{lexer.l,parse.y,tree.[ch],main.c}: add #line's to output
1366 * src/out.[ch]: new functions for output so that we can easily add
1369 * src/main.c: fix get/set arguments
1371 * doc/gob.1.in: updated for newer version and spellchecked, also
1372 gob.1 is generated by configure now to get versions correct
1374 * gob.spec.in: added a spec file
1376 Fri Jul 30 02:19:05 1999 George Lebl <jirka@5z.com>
1378 * src/parse.y: accept simple char types
1380 * src/main.c: make prototypes look better, and don't output arg stuff
1381 when it won't be used
1383 * Makefile,src/Makefile: add test make target