1 Sun Apr 02 17:38:12 2000 George Lebl <jirka@5z.com>
3 * src/Makefile.am: ass the .pl and .def file to EXTRA_DIST
5 Sun Apr 2 14:37:49 PDT 2000 Manish Singh <yosh@gimp.org>
7 * configure.in: check for treefuncs.h instead of tree.h, since
8 the latter has gone bye-bye
10 Sat Apr 01 23:27:47 2000 George Lebl <jirka@5z.com>
12 * doc/gob.1.in: add documentation for defreturn
14 Sat Apr 01 18:03:31 2000 George Lebl <jirka@5z.com>
16 * src/{treefuncs.(def|c|h),generate_treefuncs.pl}: What would gob
17 be without some automatically generated code. The tree.[ch] was
18 hard to keep up and didn't have free/copy so these do, otherwise
19 it is the same. Also added a defreturn field to methods
21 * src/*.[cyl]: include treefuncs.h rather then tree.h
23 * src/{parse.y,lexer.l,main.c}: use the defreturn as the default for
24 return values of signals and virtual methods. If this is not
25 defined use the onerror or failing that '0'. onerror is also not
26 a reserved keyword anymore
28 * configure.in: raise version
30 Mon Mar 27 13:08:01 2000 George Lebl <jirka@5z.com>
34 Mon Mar 27 12:04:22 2000 George Lebl <jirka@5z.com>
36 * src/util.[ch], src/main.c: figure out if we really need the special
37 types, also make a hash for the gtk types instead of linear
38 searching it all the time.
40 * src/{lexer.c,checks.c,main.c}: minor fixes and cleanups
42 2000-03-21 Eskil Heyn Olsen <deity@eskil.dk>
44 * gob.m4: do not default GOB to no when not found (did that make
46 And better error message.
48 Mon Mar 20 14:35:35 2000 George Lebl <jirka@5z.com>
50 * src/lexer.l: handle single word typenames with an empty namespace
52 Sun Mar 05 02:23:04 2000 George Lebl <jirka@5z.com>
54 * src/main.c: add #lines around setting default handlers
56 * src/parse.y: fix line number for 'destroywith' destructors
58 Sat Mar 04 15:33:18 2000 George Lebl <jirka@5z.com>
60 * src/checks.c: duplicate name test for arguments and signals is
61 case insensitive now as those could cause trouble
63 Mon Feb 28 02:45:27 2000 George Lebl <jirka@5z.com>
67 Sun Feb 27 20:59:45 2000 George Lebl <jirka@5z.com>
69 * src/parse.y,doc/gob.1.in: For stringlink, just return a pointer on
70 get rather then strduping as that is 1) consistent with objectlink
73 Sun Feb 27 20:38:19 2000 George Lebl <jirka@5z.com>
75 * src/{main.c,tree.[ch],parse.y}: add the arbitrary destruction handler
78 * doc/gob.1.in: updated and fixed up
80 * configure.in,NEWS,examples/{README,my-person2.gob}: change version
83 Sun Feb 27 18:37:57 2000 George Lebl <jirka@5z.com>
85 * NEWS,doc/gob.1.in,examples/{README,my-person.gob,my-person2.gob}:
86 update of docs and examples to include the new features and minor
89 Sun Feb 27 04:41:41 2000 George Lebl <jirka@5z.com>
91 * src/main.c: make the output nicer for classes with no methods
92 better typechecking in get/set_arg, fix a couple of C++ issues,
94 * src/{main.c,parse.y,tree.[ch]}: automatic linking of arguments to
95 data members. Also alow empty statements inside a class. Also
96 add automatic data member destruction for pointer data, and
97 automatic initialization for any data member.
99 * src/main.[ch],src/out.c: add --no-lines which inhibits printing
100 of #line things to output files
102 * doc/gob.1.in: update for the above
104 Fri Feb 25 15:21:47 2000 George Lebl <jirka@5z.com>
108 Fri Feb 25 14:46:51 2000 George Lebl <jirka@5z.com>
110 * src/main.c: add SELF casting macros
112 * doc/gob.1.in: document the above
114 Fri Feb 25 02:29:26 2000 George Lebl <jirka@5z.com>
116 * src/main.c,src/tree.[ch],src/parse.y: public signals get
117 GTK_RUN_ACTION added. Plus an interface for adding additional
120 * doc/gob.1.in: add docs for the above
122 Fri Feb 25 01:37:20 2000 George Lebl <jirka@5z.com>
124 * src/main.c: fix trailing comma on the end of the argument enum
126 Sun Feb 13 23:54:53 2000 George Lebl <jirka@5z.com>
128 * doc/gob.1.in: add doc patch from Dave Dunkin <dunkind@letu.edu>
130 * doc/gob.1.in,examples/*.gob: use init(self) to be more consistent
133 Sat Feb 12 14:42:15 2000 George Lebl <jirka@5z.com>
135 * src/main.c,src/lexer.l: apply patches from Dave Dunkin
136 <dunkind@letu.edu> to add all and alltop ccode sections
137 and to add a --no-write,-n option to not actually write
138 any files. Also did some very cosmetic changes to code
140 Mon Feb 07 23:45:04 2000 George Lebl <jirka@5z.com>
142 * src/main.c: use the magic /*< private >*/ and /*< public >*/
143 comments to distinguish public and protected data members
145 Mon Feb 07 03:02:48 2000 George Lebl <jirka@5z.com>
149 Mon Feb 07 02:50:11 2000 George Lebl <jirka@5z.com>
151 * src/lexer.l: error on multiple classes
153 * src/main.c: nicer header output
155 * src/{lexer.l,main.c}: Eat out gtk-doc like inline doc entries
156 and stuff them into the output files where appropriate
158 * doc/gob.1.in: added docs for gtk-doc like inline doc stuff
160 * examples/{README, gtk-button-count.gob}: added inline docs
162 Fri Feb 04 01:07:54 2000 George Lebl <jirka@5z.com>
164 * src/main.c: use G_GNUC_UNUSED rather then our own macro for a
165 very slightly cleaner looking output file
167 2000-01-31 Eskil Heyn Olsen <deity@eskil.dk>
169 * gob.m4: checks for gob binary, GOB_CHECK([version [,
170 action_if_found[, action_if_not_found]]]).
172 * Makefile.am: Install gob in $prefix/share/aclocal
174 Thu Jan 27 17:50:11 2000 George Lebl <jirka@5z.com>
176 * src/main.c: add #include <stdlib.h>
178 Mon Jan 24 22:52:47 2000 George Lebl <jirka@5z.com>
182 Mon Jan 24 22:23:47 2000 George Lebl <jirka@5z.com>
184 * src/main.c: add a protecting define before the object typedef
186 * doc/gob.1.in: add docs for the new stuff
188 Sun Jan 23 16:19:54 2000 George Lebl <jirka@5z.com>
190 * src/{lexer.l,parse.y,tree.[ch],main.c}: make more types of header
191 %{ %} blocks, "headertop" and "privateheader" and made short as
192 well as long names possible.
194 * src/main.c: add an --no-extern-c option to not put entern "C" into
195 the output, which is now put in by default even if --for-cpp is
196 on so that it is possible to call those from C by default
198 Thu Jan 20 01:50:45 2000 George Lebl <jirka@5z.com>
200 * src/main.c: put the _real_ functions in our normal private
201 namespace of ___* to be more consistent.
203 Mon Jan 10 00:16:43 2000 George Lebl <jirka@5z.com>
205 * src/{main.[ch],util.[ch],checks.[ch]}: offload some functionality to
208 * src/main.c: cleanup the generation routine by spliting it up into
211 * src/{main.h,lexer.l,parse.y,out.c}: put some needed externs into the
212 main.h file and include that rather then doing it in the .c files
214 Thu Jan 06 18:33:44 2000 George Lebl <jirka@5z.com>
216 * src/main.c: use ___ for the signal marshalling typedefs as well
218 Thu Jan 06 17:32:46 2000 George Lebl <jirka@5z.com>
222 Thu Jan 06 17:13:22 2000 George Lebl <jirka@5z.com>
224 * src/main.c: be consistent with the use of "namespacing", we
225 prefix ALL internal gob stuff with "___". This should make it
226 easier to avoid name conflicts with user code and glibc/gcc (Which
227 seems to use __ prefix)
229 * src/main.c: check for init and class_init names for non-constructor
230 methods and give an error if found.
232 * src/main.c: check argument types and flags for correctness, error
233 on unknown type, but just a warning on unknown flag
235 * doc/gob.1.in: add a section for name conflicts
237 Wed Jan 05 02:23:21 2000 George Lebl <jirka@5z.com>
239 * src/main.c: doh! the symbols for the aliases need to be declared as
242 Wed Jan 05 02:13:59 2000 George Lebl <jirka@5z.com>
244 * src/main.c: just realized that args... for macros is a GNU
245 extention and so the PARENT_HANDLER no longer uses it, but prints
246 the argument names with __ prefixed into the argument list.
248 Wed Jan 05 01:58:32 2000 George Lebl <jirka@5z.com>
250 * src/main.c: if using gnu c, also define macros using varargs for
251 function aliases. This should allow the compiler to optimize
252 further and if we have arguments for the defines there are
253 no adverse side effects as there are for straight defines.
255 Wed Jan 05 01:48:12 2000 George Lebl <jirka@5z.com>
257 * src/main.c: fixup the aliases. They didn't actually work right.
258 now we set it up as a const pointer to a function using typeof.
260 Tue Jan 04 17:57:55 2000 George Lebl <jirka@5z.com>
262 * src/lexer.l: add support for 'requires x.y.z' line. This is
263 so that a .gob file can require at least version x.y.z of gob
265 * src/test.gob: update
267 * doc/gob.1.in: update for requires and run trhough ispell
269 Tue Jan 04 17:10:54 2000 George Lebl <jirka@5z.com>
271 * src/main.c: fix the non-gnu aliases
273 Tue Jan 04 16:46:16 2000 George Lebl <jirka@5z.com>
275 * src/{main.c,parser.y,tree.[ch]}: add optional C type specification
276 to arguments for full type safety
278 * doc/gob.1.in: updated
280 Tue Jan 04 15:34:16 2000 George Lebl <jirka@5z.com>
282 * src/main.c: --no-gnu option to completely disable any use
283 of GNU C extentions. This is for those weird people that don't
284 wish to use those extentions even with GNU C.
286 Tue Jan 04 14:43:49 2000 George Lebl <jirka@5z.com>
288 * src/main.c: use some GNU extentions (guarded with #ifdef __GNUC__)
289 to make arguments fully typesafe, and to make it easier for
290 GNU to optimize the aliases, as well as to avoid the ugly
293 * src/main.c: don't put #line 0 for the .gob file for method prototypes
295 * src/main.c: move the _priv structure freeing into finalize to enable
296 people to work with the private stuff inside the destroy handler
298 * src/main.c: use #line before every precondition check so that failed
299 checks should point to the function prototype rather then into
302 * src/main.c: remove the _END_ARG macro
304 * src/main.c: add GOB_VERSION_MAJOR, GOB_VERSION_MINOR and
305 GOB_VERSION_PATCHLEVEL defines into the generated C file
307 * src/out.c: don't redundantly put #line for outfile if we're already
310 * configure.in: raise version number
312 Tue Jan 04 02:22:33 2000 George Lebl <jirka@5z.com>
314 * src/main.c: add argument wrapper macros to make the argument system
315 a little more type safe.
317 Fri Dec 31 17:39:22 1999 George Lebl <jirka@5z.com>
321 Thu Dec 30 20:20:36 1999 George Lebl <jirka@5z.com>
323 * src/main.c: correctly handle the complex fundemental types,
324 so that we can handle ALL the fundemental types for signals
326 Thu Dec 30 19:29:56 1999 George Lebl <jirka@5z.com>
328 * src/main.c: don't use function types for casts in marshallers,
329 but default types we get from our GTK_TYPE_* -> C type translation,
330 and use this fact to check for same function types and combine
331 signal prototypes. This doesn't yet handle well complex types,
332 but I have an idea how to make complex types work. Though
333 I dunno if it's actually worth it.
335 Thu Dec 30 17:18:27 1999 George Lebl <jirka@5z.com>
337 * src/main.c: figure out some types from GTK types and cast properly
338 when emitting a signal. This catches some inconsistencies in
339 signal func argument lists and the GTK types of the arguments.
341 Wed Dec 29 18:04:13 1999 George Lebl <jirka@5z.com>
343 * src/parse.y: allow scope, public/private/protected, to come before
344 the signal or virtual keyword for consistency's sake.
346 Wed Dec 29 01:39:30 1999 George Lebl <jirka@5z.com>
348 * src/{tree.[ch],parser.y}: cleanup scope stuff
350 * src/{lexer.l,parser.y,tree.h,main.c}: add protected keyword and
351 methods. protected methods are put into the -private files and
352 are real exported functions just like public. protected data
353 members act like pre-0.91.x private datamembers, that is they
354 get stuck into the public header, but marked /* protected */.
356 * src/main.c: change the method body printing function so that we
357 can catch the no return warning properly and send us to the .gob
358 file instead of the .c file.
360 * src/{parse.y,main.c}: handle empty publics/privates/overrides
361 and handle the body being set to ';' rather then '{}'
363 * src/main.c: check for empty nonvoid regular methods, and error out
364 on finding them as that would produce warnings which we can't catch
365 and it is generally bad to do anyway
367 * src/{parse.y,tree.[ch],main.c}: use char pointers for C buffers,
368 and kill leading/trailing whitespace from them to make the C files
369 nicer and easier to recognize empty functions.
371 * src/main.c: add a --version switch
373 * doc/gob.1.in: Update with the above changes
375 * configure.in: raise version
377 Tue Dec 28 20:49:56 1999 George Lebl <jirka@5z.com>
379 * src/main.c: apply patch from ChiDeok Hwang <cdhwang@sr.hei.co.kr>
380 to make the hack function static so that we don't pollute namespace
382 Mon Dec 27 19:56:24 1999 George Lebl <jirka@5z.com>
386 Mon Dec 27 03:00:25 1999 George Lebl <jirka@5z.com>
388 * src/main.c: fixup PARENT_HANDLER to work well with non-void
389 functions, the macro becomes an expression if the function is
390 not void and returns the return of the parent or the onerror
391 expression if the function pointer was NULL.
393 Mon Dec 27 02:25:32 1999 George Lebl <jirka@5z.com>
395 * src/parse.y: allow completely empty classes
397 * src/main.c: don't add the ugly hack function if there are no
400 Mon Dec 27 01:26:26 1999 George Lebl <jirka@5z.com>
402 * src/parse.y: fixup the virtual rule as I forgot to shift the
403 argument numbers when adding to the expression
405 Mon Dec 27 01:07:14 1999 George Lebl <jirka@5z.com>
407 * src/parse.y: add optional public keyword to virtuals and signals,
408 (which doesn't do anything, only consistency). I should perhaps
409 rewrite and simplify this part of the parser
411 * src/lexer.l: fix a bug with empty braces producing a segfault
412 on public and private methods
414 * doc/gob.1.in: add a section about Constructor methods (init
415 class_init) and fix init_class -> class_init
417 * configure.in: raise version to 0.91.2
419 Tue Dec 14 00:06:00 1999 George Lebl <jirka@5z.com>
423 Mon Dec 13 23:25:06 1999 George Lebl <jirka@5z.com>
425 * src/{main.c,out.c}: create a private header file and stick
426 the private structure definition inside it. Add option
427 --no-private-header for 0.91.0 behaviour and
428 --always-private-header to force private header creation
430 * doc/gob.1.in: update WRT above changes
432 * examples/my-person.gob: include the private header
436 Mon Dec 13 18:30:09 1999 George Lebl <jirka@5z.com>
438 * src/main.c: don't print spurious #line's into the private
441 * src/{main.c,tree.[ch],lexer.l,parse.y}: implement support for
442 array types for data members and function arguments
444 Mon Dec 13 00:48:47 1999 George Lebl <jirka@5z.com>
448 Sun Dec 12 22:55:12 1999 George Lebl <jirka@5z.com>
450 * doc/gob.1.in: added paragraph noting that private data members
451 cannot be accessed above the class definition in the .gob file
453 Sun Dec 12 22:08:31 1999 George Lebl <jirka@5z.com>
455 * src/main.c: implement real private data members as promised in
456 the documentation, this however breaks some compatiblity with
457 things that already used the 'private' keyword for data members
459 * doc/gob.1.in: document private data member stuff
463 * src/main.c: a couple of sanity checks of the code to prevent weird
464 errors on some broken .gob code
466 * configure.in: update version to 0.91.0
468 Sun Dec 05 14:20:26 1999 George Lebl <jirka@5z.com>
470 * src/{lexer.l,main.c}: if we find the class header #include
471 statement in a %{ %} section above class definition, don't
472 include it ourselves.
474 * doc/gob.1.in: remove the note about the include always first from
475 BUGS, and make a new section for the include file.
477 Thu Nov 25 13:09:08 1999 George Lebl <jirka@5z.com>
481 Thu Nov 25 13:00:52 1999 George Lebl <jirka@5z.com>
483 * src/main.c: don't error out on a symbol conflict if the types of
484 the symbol node don't match (variable,method)
486 Sat Nov 20 16:15:42 1999 George Lebl <jirka@5z.com>
488 * src/main.c: add PARENT_HANDLER macro to make calling parent
489 handlers in override functions easier
491 Fri Nov 19 16:41:09 1999 George Lebl <jirka@5z.com>
493 * src/main.c: add a type macro
495 Thu Nov 18 22:56:09 1999 George Lebl <jirka@5z.com>
497 * src/parse.y: add a warning check if the number of GTK types of
498 a signal doesn't seem to be correct for the given number of
501 Tue Nov 16 01:23:45 1999 George Lebl <jirka@5z.com>
503 * src/main.c: support a "no-touch-headers" mode in which the
504 headers are not touched unless they actually really changed,
505 not on by default as it confuses automake
507 Tue Nov 16 00:36:42 1999 George Lebl <jirka@5z.com>
509 * src/{main.c,lexer.l,parser.y,out.c}: Implement a C++ mode, get
510 rid of C++ errors/warnings when in C++ mode, and get rid of
511 the 'this' pointer finally (it's been deprecated long enough)
513 Mon Nov 15 23:45:37 1999 George Lebl <jirka@5z.com>
515 * src/main.c: add prototype for the really bad hack function to
518 Mon Nov 15 23:42:06 1999 George Lebl <jirka@5z.com>
520 * src/main.c: generate correct function pointers in the structure
521 for signals and virtuals. Also use a much nicer system instead
522 of the method name defines, we now just set a bunch of static
523 pointers, this removes a whole lot of headaches actually
525 * doc/gob.1.in: repair to reflect the above (I removed the define
528 Sun Nov 14 17:57:34 1999 George Lebl <jirka@5z.com>
530 * doc/gob.1.in: repair some things that confused troff and add
531 a C preprocessor warning to BUGS
533 Sat Nov 13 17:22:49 1999 George Lebl <jirka@5z.com>
535 * **/Makefile.am, configure.in: fix the conditional installation
536 stuff, don't even go into the doc directory if we aren't installing
538 Sat Nov 13 16:53:20 1999 George Lebl <jirka@5z.com>
540 * doc/gob.1.in: describe BUGS better
542 Sat Nov 13 16:20:41 1999 George Lebl <jirka@5z.com>
544 * src/lexer.l: don't kill C++ style comments from C blocks
546 Sat Nov 13 16:16:59 1999 George Lebl <jirka@5z.com>
548 * src/{lexer.l,main.c,out.c}: fixed spurious newline printing, don't
549 kill comments from C blocks so that line counts are right, accept
550 newlines in strings, and don't take \'\"\' as a string delimiter
552 Sat Nov 13 14:53:26 1999 George Lebl <jirka@5z.com>
554 * src/main.c: don't add gtk_object_class to class_init if we only
555 have non-GtkObject overrides to avoid warning
557 Sat Nov 13 14:31:25 1999 George Lebl <jirka@5z.com>
559 * configure.in,src/Makefile.am,doc/Makefile.am: check for
560 ../NOINST_GOB and in case it's found don't install self
562 Fri Nov 12 16:25:35 1999 George Lebl <jirka@5z.com>
564 * configure.in,Makefile.am,src/main.c: don't use popt, our arguments
565 are simple enough and popt doesn't seem to be widely used yet
567 Sun Sep 05 22:08:40 1999 George Lebl <jirka@5z.com>
571 Sun Sep 05 22:08:33 1999 George Lebl <jirka@5z.com>
573 * doc/gob.1.in: updated for private virtual and signal wrappers
575 Sun Sep 05 21:50:19 1999 George Lebl <jirka@5z.com>
577 * configure.in: raise version and actually set POPT_LIB correctly
579 * src/Makefile.am: use POPT_LIB
581 Sun Sep 05 21:45:54 1999 George Lebl <jirka@5z.com>
583 * src/tree.h,src/main.c,src/parse.y: add support for private signals
586 * src/parse.y: fix bug with bogus vararg methods
588 Sun Sep 04 17:44:37 1999 George Lebl <jirka@5z.com>
592 Sat Sep 04 17:18:22 1999 George Lebl <jirka@5z.com>
594 * src/lexer.l,src/parse.y,src/main.c,src/tree.[ch]: support
595 variable arguments for public and private methods
597 Sat Sep 04 16:51:11 1999 George Lebl <jirka@5z.com>
599 * lexer.l,parse.y: accept const in parameter lists
601 Sun Aug 29 13:46:33 1999 George Lebl <jirka@5z.com>
605 Sat Aug 28 23:36:48 1999 George Lebl <jirka@5z.com>
607 * src/main.[ch],parse.y: make error/warning reporting public
608 and use it to report depreciated use of 'this'
610 Sat Aug 28 22:41:52 1999 George Lebl <jirka@5z.com>
612 * src/tree.[ch],parse.y,main.c: check for duplicate variables and
613 signals and arguments as well.
615 Sat Aug 28 22:00:19 1999 George Lebl <jirka@5z.com>
617 * src/parse.y,src/main.c: change "this" to "self", but accept "this"
620 * src/main.c: check for duplicate methods, and warn on non-public
623 * configure.in: change to version 0.90.0
625 * doc/gob.1.in: change this to self
627 Tue Aug 24 20:37:26 1999 George Lebl <jirka@5z.com>
631 Thu Aug 19 03:18:03 1999 George Lebl <jirka@5z.com>
633 * src/main.c: also count overrides to avoid an unused variable on
636 Thu Aug 19 03:08:49 1999 George Lebl <jirka@5z.com>
638 * src/parse.y: in a check, we can check not only about numbers
639 but for tokens as well
641 Wed Aug 18 12:54:17 1999 George Lebl <jirka@5z.com>
645 Tue Aug 17 22:24:47 1999 George Lebl <jirka@5z.com>
647 * src/lexer.l,src/parse.y: don't use reserved words for check type
650 * src/{lexer.l,parse.y,tree.[ch],main.c}: add #line's to output
653 * src/out.[ch]: new functions for output so that we can easily add
656 * src/main.c: fix get/set arguments
658 * doc/gob.1.in: updated for newer version and spellchecked, also
659 gob.1 is generated by configure now to get versions correct
661 * gob.spec.in: added a spec file
663 Fri Jul 30 02:19:05 1999 George Lebl <jirka@5z.com>
665 * src/parse.y: accept simple char types
667 * src/main.c: make prototypes look better, and don't output arg stuff
668 when it won't be used
670 * Makefile,src/Makefile: add test make target