1 Thu Apr 12 09:19:58 2001 George Lebl <jirka@5z.com>
5 Sat Mar 31 00:24:58 2001 George Lebl <jirka@5z.com>
7 * src/main.c: fix crash with marshallers of signals with a return
10 Tue Feb 27 00:53:41 2001 Jonathan Blandford <jrb@redhat.com>
12 * README: Use my new-found maintainer status!!! The power!
14 Sun Feb 25 17:17:46 2001 George Lebl <jirka@5z.com>
18 Sun Feb 25 16:57:45 2001 George Lebl <jirka@5z.com>
20 * src/main.c, src/checks.c: to make doing BonoboXObjects possible
21 allow overriding the _get_type function.
23 * doc/gob.1.in: document the above
25 Sun Feb 11 16:33:07 2001 George Lebl <jirka@5z.com>
29 Sat Feb 10 18:42:59 2001 George Lebl <jirka@5z.com>
31 * src/Makefile.am: fix the build
33 2001-02-08 Maciej Stachowiak <mjs@eazel.com>
35 * src/Makefile.am: Remove BUILT_SOURCES stuff; Automake knows how
36 to handle .l and .y files directly, and including the .c files as
37 well was making it fail to link as it would try to link in lexer.o
40 Thu Feb 08 02:43:22 2001 George Lebl <jirka@5z.com>
42 * src/main.c: add signal connection typesafety macros
44 * src/test.gob, doc/gob.1.in: new stuff foo
46 * configure.in: raise version
48 Thu Feb 08 01:42:52 2001 George Lebl <jirka@5z.com>
50 * src/Makefile.am: rule for parse.h includes parse.c, and
51 SOURCES include BUILT_SOURCES
53 Tue Dec 26 11:03:44 2000 George Lebl <jirka@5z.com>
55 * src/main.c: Remove ## from the varargs macro stuff, as it's not
56 needed and causes trouble for newer gcc's (like in rh7)
58 Sun Sep 10 18:04:07 2000 George Lebl <jirka@5z.com>
62 Fri Sep 01 03:45:30 2000 George Lebl <jirka@5z.com>
64 * src/main.c: add G_GNUC_CONST to the _get_type function
66 Wed Aug 23 15:05:40 2000 George Lebl <jirka@5z.com>
68 * src/main.c: when a method has no arguments make an argumentless
69 macro for the shortform to avoid a parse error
71 * src/test.gob: add a test for the above
73 Sun Aug 6 22:21:38 2000 Eskil Heyn Olsen <eskil@eazel.com>
75 * gob.m4 now defaults to WARN instead of ERROR on missing
78 Tue Jul 25 16:54:34 2000 George Lebl <jirka@5z.com>
82 * configure.in: raise version to 1.0.4
84 * src/main.c: fixup the -anal macro patch.
86 * src/util.[ch], src/main.c: constize (not in 1.0.4)
88 * src/main.c: the short form pointers unified for both gnu and non-gnu
91 Sun Jul 23 18:51:45 2000 George Lebl <jirka@5z.com>
93 * src/util.[ch], src/main.c, src/checks.c, src/lexer.l, src/parse.y:
94 make new cleaner error print routines including a printfstyle one.
95 Use the get_real_id on all method ids even for overrides. When a
96 signal is added there is also a sizeof check for the signature vs.
97 argument list with a g_error if it fails. Fix %at{ %} to not
98 appear twice in all files.
100 * src/main.c: Apply patch from Arturo Tena to make things compile
101 nicely with gcc's -ansi -pedantic
103 * src/out.[ch]: constize correctly and use G_GNUC_PRINTF macro for
106 Fri Jul 21 15:38:10 2000 George Lebl <jirka@5z.com>
108 * src/main.c: store the private structure pointer so that we
109 don't look inside the freed object structureafter finalize
111 Thu Jul 06 02:32:29 2000 George Lebl <jirka@5z.com>
115 Wed Jul 05 19:37:20 2000 George Lebl <jirka@5z.com>
117 * src/{main.c,parse.y}: couple of cleanups, and fixup the gtk 1.3
120 Wed Jul 05 18:57:13 2000 George Lebl <jirka@5z.com>
122 * src/{checks.c, main.c, parse.y, test.gob}: Apply and fix up patch
123 from Bas van der Linden <linden@win.tue.nl> that adds the ability
124 to use const on the "self" argument as well. Also adds a CONST
125 casting macro to use.
127 * src/main.c: Fix a memory leak when destroy wasn't overriden and
128 destructors were added, it now properly calls the parent handler.
131 * src/main.c: Spit out some macro magic foo to hopefully make it
132 possible to compile objects with GTK+ 1.3/2.0
134 * doc/gob.1.in, examples/*.gob: We should never do
135 GTK_OBJECT(GET_NEW) as that's a memory leak due to some weird
136 GTK_OBJECT() semantics
138 Fri Jun 30 14:08:53 2000 George Lebl <jirka@5z.com>
142 Fri Jun 30 13:11:05 2000 George Lebl <jirka@5z.com>
144 * doc/gob.1.in: add doc for --always-private-struct
146 * src/main.c: fix output of --help. Also print __GOB_FUNCTION__
147 for inits and for get/set_arg. And print the get_real_id to
148 avoid the underscore.
150 Mon Jun 26 00:06:45 2000 George Lebl <jirka@5z.com>
152 * src/parse.y: for stringlink, dup the string on argument
155 * doc/gob.1.in: update documentation to the above change
157 Sun Jun 25 03:34:02 2000 George Lebl <jirka@5z.com>
159 * src/treefuncs.def, src/main.c, src/utils.[ch], src/parse.y: sane
160 parsing of const. Get rid of "stars" integer and just use a
161 "pointer" string. Also the types in general are more sanely parsed,
162 thus recognizing hopefully all legal (and some illegal) C types.
164 * src/checks.[ch], src/main.c: checks the argument type to be one we can
167 * src/treefuncs.def, src/main.c, src/parse.y, src/lexer.l: Apply
168 patch from Bas van der Linden <linden@win.tue.nl> that adds the
169 possibility to use chunks to allocate objects.
171 * src/main.c: Apply patch from Bas van der Linden <linden@win.tue.nl>
172 to add a __GOB_FUNCTION__ define to each function
174 * src/Makefile.am, src/main.c, src/lexer.l, src/generate_treefuncs.pl:
175 avoid and fix warnings, and compile with all warnings
177 * src/main.[ch]: add an --always-private-struct option to always put
178 in the private pointer, even if there are no private members.
180 * src/test.gob: add some more tests for new stuff
182 Wed Jun 07 15:03:18 2000 George Lebl <jirka@5z.com>
186 Wed Jun 07 14:41:24 2000 George Lebl <jirka@5z.com>
188 * configure.in, doc/gob.1.in: updates
190 Mon Jun 05 12:10:46 2000 George Lebl <jirka@5z.com>
192 * doc/gob.1.in: run through ispell, and fix option stuff to produce
193 nicer html output with groff
195 Thu Jun 01 18:12:13 2000 George Lebl <jirka@5z.com>
197 * src/main.c: Make the private header switches work again.
199 Wed May 31 01:50:25 2000 George Lebl <jirka@5z.com>
203 Wed May 31 01:47:23 2000 George Lebl <jirka@5z.com>
205 * src/gob.1.in: documentation of makefile rules for gob.
207 Tue May 30 11:02:36 2000 George Lebl <jirka@5z.com>
209 * src/lexer.l: Accept identifiers in array dimensions, this is so
210 that you can make these some constants.
212 Sat May 20 18:22:33 2000 George Lebl <jirka@5z.com>
216 Sat May 20 18:22:23 2000 George Lebl <jirka@5z.com>
218 * src/{main.c,checks.[ch]}: check for duplicate overrides, it is
219 different from checking symbol names as they don't conflict with
220 other symbols AND they only conflict if both the name and their
223 Sat May 20 16:38:06 2000 George Lebl <jirka@5z.com>
225 * src/{main.[ch],util.[ch],checks.c}: Add underscore removal for
226 non-override methods. This means that local aliases will include
227 prepended underscores, but when the full name is generated, or
228 when the method name is added to class structure, the underscore
231 * src/checks.c: overrides no longer checked for uniqueness, a more
232 complex logic is needed.
234 * src/{main.c,treefuncs.def,parse.y}: override naming is done
235 with a unique id, so that we handle cases where two classes have
236 the same method name.
238 * doc/gob.1.in: update for the above.
240 Sat May 20 14:42:00 2000 George Lebl <jirka@5z.com>
242 * src/main.c: the private structure is now freed in finalize again and
243 thus do the same dance around finalize as we do around destroy.
244 Clean up some code. NULL all things being destroyed. The arbitary
245 destructor uses memset as those things might not be just pointers.
247 Thu May 11 23:48:44 2000 George Lebl <jirka@5z.com>
249 * src/main.[ch]: provide the Self and SelfClass typedefs in addition
250 to SELF, IS_SELF, SELF_CLASS macros. All of these can now be
251 disabled with the --no-self-alias option
253 * doc/gob.1.in: update
255 * configure.in: raise version
257 Tue May 09 23:18:16 2000 George Lebl <jirka@5z.com>
259 * src/parse.y: fix segfault on parse error and give better error
262 Tue May 09 21:54:10 2000 George Lebl <jirka@5z.com>
264 * doc/gob.1.in, src/main.c: Add destruction code into the destroy
265 handler rather then finalize. Setup an extra function if
266 neccessary to handle returns correctly as this must be called
269 Sat Apr 29 14:41:42 2000 George Lebl <jirka@5z.com>
273 Sat Apr 29 14:40:40 2000 George Lebl <jirka@5z.com>
275 * src/checks.c: code prettification
277 * src/lexer.l, src/parse.y, src/test.gob: change "class" scope to
278 "classwide" scope, not to overload the class keyword
280 * src/main.[ch]: make private header files be generated by default,
281 and cleanup that part a bit
283 * doc/gob.1.in: add documentation of classwide
287 Fri Apr 21 17:15:09 2000 George Lebl <jirka@5z.com>
289 * src/main.c: add spaces after commas
291 * src/lexer.l, src/main.c, src/parse.y: add class scope variables
292 which are put into the class structure
294 * src/test.gob: added a test for class variables
296 * src/treefuncs.def: added CLASS_SCOPE
298 * src/treefuncs.h: regenerated
300 Mon Apr 17 20:13:47 2000 George Lebl <jirka@5z.com>
302 * src/parse.y: on objectlink instead of just ref, do ref/sink.
304 Sat Apr 15 23:07:30 2000 George Lebl <jirka@5z.com>
308 Sat Apr 15 22:42:20 2000 George Lebl <jirka@5z.com>
310 * src/main.c: fixes for ANSI C and C++. Just use GTK_VALUE_POINTER
311 instead of GTK_VALUE_OBJECT so that we don't have to cast and don't
314 Sat Apr 15 22:09:49 2000 George Lebl <jirka@5z.com>
316 * src/main.c: use the generic return type in signal marshallers
317 rather then the specific one as the marshallers are truly generic
319 Sat Apr 15 21:52:52 2000 George Lebl <jirka@5z.com>
321 * src/main.c: fix some typesafety braindamages with OBJECT types
322 in arguments by casting GTK_VALUE_OBJECT to gpointer. Also
323 for seting arguments cast the ARG to atype if it exists
325 Wed Apr 05 13:42:28 2000 George Lebl <jirka@5z.com>
327 * src/parse.y: never allow NONE to be used as one of many arguments,
328 always only by itself in the argument list
330 * src/main.c: When printing out the signal marshaller prototype,
331 don't print out the NONE (void) into the argument list, thanks
332 to Soeren Sandmann <sandmann@daimi.au.dk> for reporting that
334 Mon Apr 03 13:07:33 2000 George Lebl <jirka@5z.com>
336 * examples/Makefile.am: add my-person2.gob to EXTRA_DIST
338 Sun Apr 02 18:09:40 2000 George Lebl <jirka@5z.com>
342 Sun Apr 02 17:38:12 2000 George Lebl <jirka@5z.com>
344 * src/Makefile.am: ass the .pl and .def file to EXTRA_DIST
346 Sun Apr 2 14:37:49 PDT 2000 Manish Singh <yosh@gimp.org>
348 * configure.in: check for treefuncs.h instead of tree.h, since
349 the latter has gone bye-bye
351 Sat Apr 01 23:27:47 2000 George Lebl <jirka@5z.com>
353 * doc/gob.1.in: add documentation for defreturn
355 Sat Apr 01 18:03:31 2000 George Lebl <jirka@5z.com>
357 * src/{treefuncs.(def|c|h),generate_treefuncs.pl}: What would gob
358 be without some automatically generated code. The tree.[ch] was
359 hard to keep up and didn't have free/copy so these do, otherwise
360 it is the same. Also added a defreturn field to methods
362 * src/*.[cyl]: include treefuncs.h rather then tree.h
364 * src/{parse.y,lexer.l,main.c}: use the defreturn as the default for
365 return values of signals and virtual methods. If this is not
366 defined use the onerror or failing that '0'. onerror is also not
367 a reserved keyword anymore
369 * configure.in: raise version
371 Mon Mar 27 13:08:01 2000 George Lebl <jirka@5z.com>
375 Mon Mar 27 12:04:22 2000 George Lebl <jirka@5z.com>
377 * src/util.[ch], src/main.c: figure out if we really need the special
378 types, also make a hash for the gtk types instead of linear
379 searching it all the time.
381 * src/{lexer.c,checks.c,main.c}: minor fixes and cleanups
383 2000-03-21 Eskil Heyn Olsen <deity@eskil.dk>
385 * gob.m4: do not default GOB to no when not found (did that make
387 And better error message.
389 Mon Mar 20 14:35:35 2000 George Lebl <jirka@5z.com>
391 * src/lexer.l: handle single word typenames with an empty namespace
393 Sun Mar 05 02:23:04 2000 George Lebl <jirka@5z.com>
395 * src/main.c: add #lines around setting default handlers
397 * src/parse.y: fix line number for 'destroywith' destructors
399 Sat Mar 04 15:33:18 2000 George Lebl <jirka@5z.com>
401 * src/checks.c: duplicate name test for arguments and signals is
402 case insensitive now as those could cause trouble
404 Mon Feb 28 02:45:27 2000 George Lebl <jirka@5z.com>
408 Sun Feb 27 20:59:45 2000 George Lebl <jirka@5z.com>
410 * src/parse.y,doc/gob.1.in: For stringlink, just return a pointer on
411 get rather then strduping as that is 1) consistent with objectlink
412 and 2) more flexible.
414 Sun Feb 27 20:38:19 2000 George Lebl <jirka@5z.com>
416 * src/{main.c,tree.[ch],parse.y}: add the arbitrary destruction handler
419 * doc/gob.1.in: updated and fixed up
421 * configure.in,NEWS,examples/{README,my-person2.gob}: change version
424 Sun Feb 27 18:37:57 2000 George Lebl <jirka@5z.com>
426 * NEWS,doc/gob.1.in,examples/{README,my-person.gob,my-person2.gob}:
427 update of docs and examples to include the new features and minor
430 Sun Feb 27 04:41:41 2000 George Lebl <jirka@5z.com>
432 * src/main.c: make the output nicer for classes with no methods
433 better typechecking in get/set_arg, fix a couple of C++ issues,
435 * src/{main.c,parse.y,tree.[ch]}: automatic linking of arguments to
436 data members. Also alow empty statements inside a class. Also
437 add automatic data member destruction for pointer data, and
438 automatic initialization for any data member.
440 * src/main.[ch],src/out.c: add --no-lines which inhibits printing
441 of #line things to output files
443 * doc/gob.1.in: update for the above
445 Fri Feb 25 15:21:47 2000 George Lebl <jirka@5z.com>
449 Fri Feb 25 14:46:51 2000 George Lebl <jirka@5z.com>
451 * src/main.c: add SELF casting macros
453 * doc/gob.1.in: document the above
455 Fri Feb 25 02:29:26 2000 George Lebl <jirka@5z.com>
457 * src/main.c,src/tree.[ch],src/parse.y: public signals get
458 GTK_RUN_ACTION added. Plus an interface for adding additional
461 * doc/gob.1.in: add docs for the above
463 Fri Feb 25 01:37:20 2000 George Lebl <jirka@5z.com>
465 * src/main.c: fix trailing comma on the end of the argument enum
467 Sun Feb 13 23:54:53 2000 George Lebl <jirka@5z.com>
469 * doc/gob.1.in: add doc patch from Dave Dunkin <dunkind@letu.edu>
471 * doc/gob.1.in,examples/*.gob: use init(self) to be more consistent
474 Sat Feb 12 14:42:15 2000 George Lebl <jirka@5z.com>
476 * src/main.c,src/lexer.l: apply patches from Dave Dunkin
477 <dunkind@letu.edu> to add all and alltop ccode sections
478 and to add a --no-write,-n option to not actually write
479 any files. Also did some very cosmetic changes to code
481 Mon Feb 07 23:45:04 2000 George Lebl <jirka@5z.com>
483 * src/main.c: use the magic /*< private >*/ and /*< public >*/
484 comments to distinguish public and protected data members
486 Mon Feb 07 03:02:48 2000 George Lebl <jirka@5z.com>
490 Mon Feb 07 02:50:11 2000 George Lebl <jirka@5z.com>
492 * src/lexer.l: error on multiple classes
494 * src/main.c: nicer header output
496 * src/{lexer.l,main.c}: Eat out gtk-doc like inline doc entries
497 and stuff them into the output files where appropriate
499 * doc/gob.1.in: added docs for gtk-doc like inline doc stuff
501 * examples/{README, gtk-button-count.gob}: added inline docs
503 Fri Feb 04 01:07:54 2000 George Lebl <jirka@5z.com>
505 * src/main.c: use G_GNUC_UNUSED rather then our own macro for a
506 very slightly cleaner looking output file
508 2000-01-31 Eskil Heyn Olsen <deity@eskil.dk>
510 * gob.m4: checks for gob binary, GOB_CHECK([version [,
511 action_if_found[, action_if_not_found]]]).
513 * Makefile.am: Install gob in $prefix/share/aclocal
515 Thu Jan 27 17:50:11 2000 George Lebl <jirka@5z.com>
517 * src/main.c: add #include <stdlib.h>
519 Mon Jan 24 22:52:47 2000 George Lebl <jirka@5z.com>
523 Mon Jan 24 22:23:47 2000 George Lebl <jirka@5z.com>
525 * src/main.c: add a protecting define before the object typedef
527 * doc/gob.1.in: add docs for the new stuff
529 Sun Jan 23 16:19:54 2000 George Lebl <jirka@5z.com>
531 * src/{lexer.l,parse.y,tree.[ch],main.c}: make more types of header
532 %{ %} blocks, "headertop" and "privateheader" and made short as
533 well as long names possible.
535 * src/main.c: add an --no-extern-c option to not put entern "C" into
536 the output, which is now put in by default even if --for-cpp is
537 on so that it is possible to call those from C by default
539 Thu Jan 20 01:50:45 2000 George Lebl <jirka@5z.com>
541 * src/main.c: put the _real_ functions in our normal private
542 namespace of ___* to be more consistent.
544 Mon Jan 10 00:16:43 2000 George Lebl <jirka@5z.com>
546 * src/{main.[ch],util.[ch],checks.[ch]}: offload some functionality to
549 * src/main.c: cleanup the generation routine by spliting it up into
552 * src/{main.h,lexer.l,parse.y,out.c}: put some needed externs into the
553 main.h file and include that rather then doing it in the .c files
555 Thu Jan 06 18:33:44 2000 George Lebl <jirka@5z.com>
557 * src/main.c: use ___ for the signal marshalling typedefs as well
559 Thu Jan 06 17:32:46 2000 George Lebl <jirka@5z.com>
563 Thu Jan 06 17:13:22 2000 George Lebl <jirka@5z.com>
565 * src/main.c: be consistent with the use of "namespacing", we
566 prefix ALL internal gob stuff with "___". This should make it
567 easier to avoid name conflicts with user code and glibc/gcc (Which
568 seems to use __ prefix)
570 * src/main.c: check for init and class_init names for non-constructor
571 methods and give an error if found.
573 * src/main.c: check argument types and flags for correctness, error
574 on unknown type, but just a warning on unknown flag
576 * doc/gob.1.in: add a section for name conflicts
578 Wed Jan 05 02:23:21 2000 George Lebl <jirka@5z.com>
580 * src/main.c: doh! the symbols for the aliases need to be declared as
583 Wed Jan 05 02:13:59 2000 George Lebl <jirka@5z.com>
585 * src/main.c: just realized that args... for macros is a GNU
586 extention and so the PARENT_HANDLER no longer uses it, but prints
587 the argument names with __ prefixed into the argument list.
589 Wed Jan 05 01:58:32 2000 George Lebl <jirka@5z.com>
591 * src/main.c: if using gnu c, also define macros using varargs for
592 function aliases. This should allow the compiler to optimize
593 further and if we have arguments for the defines there are
594 no adverse side effects as there are for straight defines.
596 Wed Jan 05 01:48:12 2000 George Lebl <jirka@5z.com>
598 * src/main.c: fixup the aliases. They didn't actually work right.
599 now we set it up as a const pointer to a function using typeof.
601 Tue Jan 04 17:57:55 2000 George Lebl <jirka@5z.com>
603 * src/lexer.l: add support for 'requires x.y.z' line. This is
604 so that a .gob file can require at least version x.y.z of gob
606 * src/test.gob: update
608 * doc/gob.1.in: update for requires and run trhough ispell
610 Tue Jan 04 17:10:54 2000 George Lebl <jirka@5z.com>
612 * src/main.c: fix the non-gnu aliases
614 Tue Jan 04 16:46:16 2000 George Lebl <jirka@5z.com>
616 * src/{main.c,parser.y,tree.[ch]}: add optional C type specification
617 to arguments for full type safety
619 * doc/gob.1.in: updated
621 Tue Jan 04 15:34:16 2000 George Lebl <jirka@5z.com>
623 * src/main.c: --no-gnu option to completely disable any use
624 of GNU C extentions. This is for those weird people that don't
625 wish to use those extentions even with GNU C.
627 Tue Jan 04 14:43:49 2000 George Lebl <jirka@5z.com>
629 * src/main.c: use some GNU extentions (guarded with #ifdef __GNUC__)
630 to make arguments fully typesafe, and to make it easier for
631 GNU to optimize the aliases, as well as to avoid the ugly
634 * src/main.c: don't put #line 0 for the .gob file for method prototypes
636 * src/main.c: move the _priv structure freeing into finalize to enable
637 people to work with the private stuff inside the destroy handler
639 * src/main.c: use #line before every precondition check so that failed
640 checks should point to the function prototype rather then into
643 * src/main.c: remove the _END_ARG macro
645 * src/main.c: add GOB_VERSION_MAJOR, GOB_VERSION_MINOR and
646 GOB_VERSION_PATCHLEVEL defines into the generated C file
648 * src/out.c: don't redundantly put #line for outfile if we're already
651 * configure.in: raise version number
653 Tue Jan 04 02:22:33 2000 George Lebl <jirka@5z.com>
655 * src/main.c: add argument wrapper macros to make the argument system
656 a little more type safe.
658 Fri Dec 31 17:39:22 1999 George Lebl <jirka@5z.com>
662 Thu Dec 30 20:20:36 1999 George Lebl <jirka@5z.com>
664 * src/main.c: correctly handle the complex fundemental types,
665 so that we can handle ALL the fundemental types for signals
667 Thu Dec 30 19:29:56 1999 George Lebl <jirka@5z.com>
669 * src/main.c: don't use function types for casts in marshallers,
670 but default types we get from our GTK_TYPE_* -> C type translation,
671 and use this fact to check for same function types and combine
672 signal prototypes. This doesn't yet handle well complex types,
673 but I have an idea how to make complex types work. Though
674 I dunno if it's actually worth it.
676 Thu Dec 30 17:18:27 1999 George Lebl <jirka@5z.com>
678 * src/main.c: figure out some types from GTK types and cast properly
679 when emitting a signal. This catches some inconsistencies in
680 signal func argument lists and the GTK types of the arguments.
682 Wed Dec 29 18:04:13 1999 George Lebl <jirka@5z.com>
684 * src/parse.y: allow scope, public/private/protected, to come before
685 the signal or virtual keyword for consistency's sake.
687 Wed Dec 29 01:39:30 1999 George Lebl <jirka@5z.com>
689 * src/{tree.[ch],parser.y}: cleanup scope stuff
691 * src/{lexer.l,parser.y,tree.h,main.c}: add protected keyword and
692 methods. protected methods are put into the -private files and
693 are real exported functions just like public. protected data
694 members act like pre-0.91.x private datamembers, that is they
695 get stuck into the public header, but marked /* protected */.
697 * src/main.c: change the method body printing function so that we
698 can catch the no return warning properly and send us to the .gob
699 file instead of the .c file.
701 * src/{parse.y,main.c}: handle empty publics/privates/overrides
702 and handle the body being set to ';' rather then '{}'
704 * src/main.c: check for empty nonvoid regular methods, and error out
705 on finding them as that would produce warnings which we can't catch
706 and it is generally bad to do anyway
708 * src/{parse.y,tree.[ch],main.c}: use char pointers for C buffers,
709 and kill leading/trailing whitespace from them to make the C files
710 nicer and easier to recognize empty functions.
712 * src/main.c: add a --version switch
714 * doc/gob.1.in: Update with the above changes
716 * configure.in: raise version
718 Tue Dec 28 20:49:56 1999 George Lebl <jirka@5z.com>
720 * src/main.c: apply patch from ChiDeok Hwang <cdhwang@sr.hei.co.kr>
721 to make the hack function static so that we don't pollute namespace
723 Mon Dec 27 19:56:24 1999 George Lebl <jirka@5z.com>
727 Mon Dec 27 03:00:25 1999 George Lebl <jirka@5z.com>
729 * src/main.c: fixup PARENT_HANDLER to work well with non-void
730 functions, the macro becomes an expression if the function is
731 not void and returns the return of the parent or the onerror
732 expression if the function pointer was NULL.
734 Mon Dec 27 02:25:32 1999 George Lebl <jirka@5z.com>
736 * src/parse.y: allow completely empty classes
738 * src/main.c: don't add the ugly hack function if there are no
741 Mon Dec 27 01:26:26 1999 George Lebl <jirka@5z.com>
743 * src/parse.y: fixup the virtual rule as I forgot to shift the
744 argument numbers when adding to the expression
746 Mon Dec 27 01:07:14 1999 George Lebl <jirka@5z.com>
748 * src/parse.y: add optional public keyword to virtuals and signals,
749 (which doesn't do anything, only consistency). I should perhaps
750 rewrite and simplify this part of the parser
752 * src/lexer.l: fix a bug with empty braces producing a segfault
753 on public and private methods
755 * doc/gob.1.in: add a section about Constructor methods (init
756 class_init) and fix init_class -> class_init
758 * configure.in: raise version to 0.91.2
760 Tue Dec 14 00:06:00 1999 George Lebl <jirka@5z.com>
764 Mon Dec 13 23:25:06 1999 George Lebl <jirka@5z.com>
766 * src/{main.c,out.c}: create a private header file and stick
767 the private structure definition inside it. Add option
768 --no-private-header for 0.91.0 behaviour and
769 --always-private-header to force private header creation
771 * doc/gob.1.in: update WRT above changes
773 * examples/my-person.gob: include the private header
777 Mon Dec 13 18:30:09 1999 George Lebl <jirka@5z.com>
779 * src/main.c: don't print spurious #line's into the private
782 * src/{main.c,tree.[ch],lexer.l,parse.y}: implement support for
783 array types for data members and function arguments
785 Mon Dec 13 00:48:47 1999 George Lebl <jirka@5z.com>
789 Sun Dec 12 22:55:12 1999 George Lebl <jirka@5z.com>
791 * doc/gob.1.in: added paragraph noting that private data members
792 cannot be accessed above the class definition in the .gob file
794 Sun Dec 12 22:08:31 1999 George Lebl <jirka@5z.com>
796 * src/main.c: implement real private data members as promised in
797 the documentation, this however breaks some compatiblity with
798 things that already used the 'private' keyword for data members
800 * doc/gob.1.in: document private data member stuff
804 * src/main.c: a couple of sanity checks of the code to prevent weird
805 errors on some broken .gob code
807 * configure.in: update version to 0.91.0
809 Sun Dec 05 14:20:26 1999 George Lebl <jirka@5z.com>
811 * src/{lexer.l,main.c}: if we find the class header #include
812 statement in a %{ %} section above class definition, don't
813 include it ourselves.
815 * doc/gob.1.in: remove the note about the include always first from
816 BUGS, and make a new section for the include file.
818 Thu Nov 25 13:09:08 1999 George Lebl <jirka@5z.com>
822 Thu Nov 25 13:00:52 1999 George Lebl <jirka@5z.com>
824 * src/main.c: don't error out on a symbol conflict if the types of
825 the symbol node don't match (variable,method)
827 Sat Nov 20 16:15:42 1999 George Lebl <jirka@5z.com>
829 * src/main.c: add PARENT_HANDLER macro to make calling parent
830 handlers in override functions easier
832 Fri Nov 19 16:41:09 1999 George Lebl <jirka@5z.com>
834 * src/main.c: add a type macro
836 Thu Nov 18 22:56:09 1999 George Lebl <jirka@5z.com>
838 * src/parse.y: add a warning check if the number of GTK types of
839 a signal doesn't seem to be correct for the given number of
842 Tue Nov 16 01:23:45 1999 George Lebl <jirka@5z.com>
844 * src/main.c: support a "no-touch-headers" mode in which the
845 headers are not touched unless they actually really changed,
846 not on by default as it confuses automake
848 Tue Nov 16 00:36:42 1999 George Lebl <jirka@5z.com>
850 * src/{main.c,lexer.l,parser.y,out.c}: Implement a C++ mode, get
851 rid of C++ errors/warnings when in C++ mode, and get rid of
852 the 'this' pointer finally (it's been deprecated long enough)
854 Mon Nov 15 23:45:37 1999 George Lebl <jirka@5z.com>
856 * src/main.c: add prototype for the really bad hack function to
859 Mon Nov 15 23:42:06 1999 George Lebl <jirka@5z.com>
861 * src/main.c: generate correct function pointers in the structure
862 for signals and virtuals. Also use a much nicer system instead
863 of the method name defines, we now just set a bunch of static
864 pointers, this removes a whole lot of headaches actually
866 * doc/gob.1.in: repair to reflect the above (I removed the define
869 Sun Nov 14 17:57:34 1999 George Lebl <jirka@5z.com>
871 * doc/gob.1.in: repair some things that confused troff and add
872 a C preprocessor warning to BUGS
874 Sat Nov 13 17:22:49 1999 George Lebl <jirka@5z.com>
876 * **/Makefile.am, configure.in: fix the conditional installation
877 stuff, don't even go into the doc directory if we aren't installing
879 Sat Nov 13 16:53:20 1999 George Lebl <jirka@5z.com>
881 * doc/gob.1.in: describe BUGS better
883 Sat Nov 13 16:20:41 1999 George Lebl <jirka@5z.com>
885 * src/lexer.l: don't kill C++ style comments from C blocks
887 Sat Nov 13 16:16:59 1999 George Lebl <jirka@5z.com>
889 * src/{lexer.l,main.c,out.c}: fixed spurious newline printing, don't
890 kill comments from C blocks so that line counts are right, accept
891 newlines in strings, and don't take \'\"\' as a string delimiter
893 Sat Nov 13 14:53:26 1999 George Lebl <jirka@5z.com>
895 * src/main.c: don't add gtk_object_class to class_init if we only
896 have non-GtkObject overrides to avoid warning
898 Sat Nov 13 14:31:25 1999 George Lebl <jirka@5z.com>
900 * configure.in,src/Makefile.am,doc/Makefile.am: check for
901 ../NOINST_GOB and in case it's found don't install self
903 Fri Nov 12 16:25:35 1999 George Lebl <jirka@5z.com>
905 * configure.in,Makefile.am,src/main.c: don't use popt, our arguments
906 are simple enough and popt doesn't seem to be widely used yet
908 Sun Sep 05 22:08:40 1999 George Lebl <jirka@5z.com>
912 Sun Sep 05 22:08:33 1999 George Lebl <jirka@5z.com>
914 * doc/gob.1.in: updated for private virtual and signal wrappers
916 Sun Sep 05 21:50:19 1999 George Lebl <jirka@5z.com>
918 * configure.in: raise version and actually set POPT_LIB correctly
920 * src/Makefile.am: use POPT_LIB
922 Sun Sep 05 21:45:54 1999 George Lebl <jirka@5z.com>
924 * src/tree.h,src/main.c,src/parse.y: add support for private signals
927 * src/parse.y: fix bug with bogus vararg methods
929 Sun Sep 04 17:44:37 1999 George Lebl <jirka@5z.com>
933 Sat Sep 04 17:18:22 1999 George Lebl <jirka@5z.com>
935 * src/lexer.l,src/parse.y,src/main.c,src/tree.[ch]: support
936 variable arguments for public and private methods
938 Sat Sep 04 16:51:11 1999 George Lebl <jirka@5z.com>
940 * lexer.l,parse.y: accept const in parameter lists
942 Sun Aug 29 13:46:33 1999 George Lebl <jirka@5z.com>
946 Sat Aug 28 23:36:48 1999 George Lebl <jirka@5z.com>
948 * src/main.[ch],parse.y: make error/warning reporting public
949 and use it to report depreciated use of 'this'
951 Sat Aug 28 22:41:52 1999 George Lebl <jirka@5z.com>
953 * src/tree.[ch],parse.y,main.c: check for duplicate variables and
954 signals and arguments as well.
956 Sat Aug 28 22:00:19 1999 George Lebl <jirka@5z.com>
958 * src/parse.y,src/main.c: change "this" to "self", but accept "this"
961 * src/main.c: check for duplicate methods, and warn on non-public
964 * configure.in: change to version 0.90.0
966 * doc/gob.1.in: change this to self
968 Tue Aug 24 20:37:26 1999 George Lebl <jirka@5z.com>
972 Thu Aug 19 03:18:03 1999 George Lebl <jirka@5z.com>
974 * src/main.c: also count overrides to avoid an unused variable on
977 Thu Aug 19 03:08:49 1999 George Lebl <jirka@5z.com>
979 * src/parse.y: in a check, we can check not only about numbers
980 but for tokens as well
982 Wed Aug 18 12:54:17 1999 George Lebl <jirka@5z.com>
986 Tue Aug 17 22:24:47 1999 George Lebl <jirka@5z.com>
988 * src/lexer.l,src/parse.y: don't use reserved words for check type
991 * src/{lexer.l,parse.y,tree.[ch],main.c}: add #line's to output
994 * src/out.[ch]: new functions for output so that we can easily add
997 * src/main.c: fix get/set arguments
999 * doc/gob.1.in: updated for newer version and spellchecked, also
1000 gob.1 is generated by configure now to get versions correct
1002 * gob.spec.in: added a spec file
1004 Fri Jul 30 02:19:05 1999 George Lebl <jirka@5z.com>
1006 * src/parse.y: accept simple char types
1008 * src/main.c: make prototypes look better, and don't output arg stuff
1009 when it won't be used
1011 * Makefile,src/Makefile: add test make target