X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/6e77e91bbb048a0ee1a072715c0ce808c169ab38..e10d6e307623d0952f6e1f5d9fee8720ddab4808:/ChangeLog diff --git a/ChangeLog b/ChangeLog index cddb2f4..f8eb15f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,392 @@ +Mon Jan 24 22:52:47 2000 George Lebl + + * Release 0.92.2 + +Mon Jan 24 22:23:47 2000 George Lebl + + * src/main.c: add a protecting define before the object typedef + + * doc/gob.1.in: add docs for the new stuff + +Sun Jan 23 16:19:54 2000 George Lebl + + * src/{lexer.l,parse.y,tree.[ch],main.c}: make more types of header + %{ %} blocks, "headertop" and "privateheader" and made short as + well as long names possible. + + * src/main.c: add an --no-extern-c option to not put entern "C" into + the output, which is now put in by default even if --for-cpp is + on so that it is possible to call those from C by default + +Thu Jan 20 01:50:45 2000 George Lebl + + * src/main.c: put the _real_ functions in our normal private + namespace of ___* to be more consistent. + +Mon Jan 10 00:16:43 2000 George Lebl + + * src/{main.[ch],util.[ch],checks.[ch]}: offload some functionality to + extra files + + * src/main.c: cleanup the generation routine by spliting it up into + more functions + + * src/{main.h,lexer.l,parse.y,out.c}: put some needed externs into the + main.h file and include that rather then doing it in the .c files + +Thu Jan 06 18:33:44 2000 George Lebl + + * src/main.c: use ___ for the signal marshalling typedefs as well + +Thu Jan 06 17:32:46 2000 George Lebl + + * Release 0.92.1 + +Thu Jan 06 17:13:22 2000 George Lebl + + * src/main.c: be consistent with the use of "namespacing", we + prefix ALL internal gob stuff with "___". This should make it + easier to avoid name conflicts with user code and glibc/gcc (Which + seems to use __ prefix) + + * src/main.c: check for init and class_init names for non-constructor + methods and give an error if found. + + * src/main.c: check argument types and flags for correctness, error + on unknown type, but just a warning on unknown flag + + * doc/gob.1.in: add a section for name conflicts + +Wed Jan 05 02:23:21 2000 George Lebl + + * src/main.c: doh! the symbols for the aliases need to be declared as + static. + +Wed Jan 05 02:13:59 2000 George Lebl + + * src/main.c: just realized that args... for macros is a GNU + extention and so the PARENT_HANDLER no longer uses it, but prints + the argument names with __ prefixed into the argument list. + +Wed Jan 05 01:58:32 2000 George Lebl + + * src/main.c: if using gnu c, also define macros using varargs for + function aliases. This should allow the compiler to optimize + further and if we have arguments for the defines there are + no adverse side effects as there are for straight defines. + +Wed Jan 05 01:48:12 2000 George Lebl + + * src/main.c: fixup the aliases. They didn't actually work right. + now we set it up as a const pointer to a function using typeof. + +Tue Jan 04 17:57:55 2000 George Lebl + + * src/lexer.l: add support for 'requires x.y.z' line. This is + so that a .gob file can require at least version x.y.z of gob + + * src/test.gob: update + + * doc/gob.1.in: update for requires and run trhough ispell + +Tue Jan 04 17:10:54 2000 George Lebl + + * src/main.c: fix the non-gnu aliases + +Tue Jan 04 16:46:16 2000 George Lebl + + * src/{main.c,parser.y,tree.[ch]}: add optional C type specification + to arguments for full type safety + + * doc/gob.1.in: updated + +Tue Jan 04 15:34:16 2000 George Lebl + + * src/main.c: --no-gnu option to completely disable any use + of GNU C extentions. This is for those weird people that don't + wish to use those extentions even with GNU C. + +Tue Jan 04 14:43:49 2000 George Lebl + + * src/main.c: use some GNU extentions (guarded with #ifdef __GNUC__) + to make arguments fully typesafe, and to make it easier for + GNU to optimize the aliases, as well as to avoid the ugly + hack on GNU C. + + * src/main.c: don't put #line 0 for the .gob file for method prototypes + + * src/main.c: move the _priv structure freeing into finalize to enable + people to work with the private stuff inside the destroy handler + + * src/main.c: use #line before every precondition check so that failed + checks should point to the function prototype rather then into + generated file. + + * src/main.c: remove the _END_ARG macro + + * src/main.c: add GOB_VERSION_MAJOR, GOB_VERSION_MINOR and + GOB_VERSION_PATCHLEVEL defines into the generated C file + + * src/out.c: don't redundantly put #line for outfile if we're already + in the outfile + + * configure.in: raise version number + +Tue Jan 04 02:22:33 2000 George Lebl + + * src/main.c: add argument wrapper macros to make the argument system + a little more type safe. + +Fri Dec 31 17:39:22 1999 George Lebl + + * Release 0.92.0 + +Thu Dec 30 20:20:36 1999 George Lebl + + * src/main.c: correctly handle the complex fundemental types, + so that we can handle ALL the fundemental types for signals + +Thu Dec 30 19:29:56 1999 George Lebl + + * src/main.c: don't use function types for casts in marshallers, + but default types we get from our GTK_TYPE_* -> C type translation, + and use this fact to check for same function types and combine + signal prototypes. This doesn't yet handle well complex types, + but I have an idea how to make complex types work. Though + I dunno if it's actually worth it. + +Thu Dec 30 17:18:27 1999 George Lebl + + * src/main.c: figure out some types from GTK types and cast properly + when emitting a signal. This catches some inconsistencies in + signal func argument lists and the GTK types of the arguments. + +Wed Dec 29 18:04:13 1999 George Lebl + + * src/parse.y: allow scope, public/private/protected, to come before + the signal or virtual keyword for consistency's sake. + +Wed Dec 29 01:39:30 1999 George Lebl + + * src/{tree.[ch],parser.y}: cleanup scope stuff + + * src/{lexer.l,parser.y,tree.h,main.c}: add protected keyword and + methods. protected methods are put into the -private files and + are real exported functions just like public. protected data + members act like pre-0.91.x private datamembers, that is they + get stuck into the public header, but marked /* protected */. + + * src/main.c: change the method body printing function so that we + can catch the no return warning properly and send us to the .gob + file instead of the .c file. + + * src/{parse.y,main.c}: handle empty publics/privates/overrides + and handle the body being set to ';' rather then '{}' + + * src/main.c: check for empty nonvoid regular methods, and error out + on finding them as that would produce warnings which we can't catch + and it is generally bad to do anyway + + * src/{parse.y,tree.[ch],main.c}: use char pointers for C buffers, + and kill leading/trailing whitespace from them to make the C files + nicer and easier to recognize empty functions. + + * src/main.c: add a --version switch + + * doc/gob.1.in: Update with the above changes + + * configure.in: raise version + +Tue Dec 28 20:49:56 1999 George Lebl + + * src/main.c: apply patch from ChiDeok Hwang + to make the hack function static so that we don't pollute namespace + +Mon Dec 27 19:56:24 1999 George Lebl + + * Release 0.91.2 + +Mon Dec 27 03:00:25 1999 George Lebl + + * src/main.c: fixup PARENT_HANDLER to work well with non-void + functions, the macro becomes an expression if the function is + not void and returns the return of the parent or the onerror + expression if the function pointer was NULL. + +Mon Dec 27 02:25:32 1999 George Lebl + + * src/parse.y: allow completely empty classes + + * src/main.c: don't add the ugly hack function if there are no + methods + +Mon Dec 27 01:26:26 1999 George Lebl + + * src/parse.y: fixup the virtual rule as I forgot to shift the + argument numbers when adding to the expression + +Mon Dec 27 01:07:14 1999 George Lebl + + * src/parse.y: add optional public keyword to virtuals and signals, + (which doesn't do anything, only consistency). I should perhaps + rewrite and simplify this part of the parser + + * src/lexer.l: fix a bug with empty braces producing a segfault + on public and private methods + + * doc/gob.1.in: add a section about Constructor methods (init + class_init) and fix init_class -> class_init + + * configure.in: raise version to 0.91.2 + +Tue Dec 14 00:06:00 1999 George Lebl + + * Release 0.91.1 + +Mon Dec 13 23:25:06 1999 George Lebl + + * src/{main.c,out.c}: create a private header file and stick + the private structure definition inside it. Add option + --no-private-header for 0.91.0 behaviour and + --always-private-header to force private header creation + + * doc/gob.1.in: update WRT above changes + + * examples/my-person.gob: include the private header + + * NEWS: update + +Mon Dec 13 18:30:09 1999 George Lebl + + * src/main.c: don't print spurious #line's into the private + structure + + * src/{main.c,tree.[ch],lexer.l,parse.y}: implement support for + array types for data members and function arguments + +Mon Dec 13 00:48:47 1999 George Lebl + + * Release 0.91.0 + +Sun Dec 12 22:55:12 1999 George Lebl + + * doc/gob.1.in: added paragraph noting that private data members + cannot be accessed above the class definition in the .gob file + +Sun Dec 12 22:08:31 1999 George Lebl + + * src/main.c: implement real private data members as promised in + the documentation, this however breaks some compatiblity with + things that already used the 'private' keyword for data members + + * doc/gob.1.in: document private data member stuff + + * NEWS: update + + * src/main.c: a couple of sanity checks of the code to prevent weird + errors on some broken .gob code + + * configure.in: update version to 0.91.0 + +Sun Dec 05 14:20:26 1999 George Lebl + + * src/{lexer.l,main.c}: if we find the class header #include + statement in a %{ %} section above class definition, don't + include it ourselves. + + * doc/gob.1.in: remove the note about the include always first from + BUGS, and make a new section for the include file. + +Thu Nov 25 13:09:08 1999 George Lebl + + * Release 0.90.5 + +Thu Nov 25 13:00:52 1999 George Lebl + + * src/main.c: don't error out on a symbol conflict if the types of + the symbol node don't match (variable,method) + +Sat Nov 20 16:15:42 1999 George Lebl + + * src/main.c: add PARENT_HANDLER macro to make calling parent + handlers in override functions easier + +Fri Nov 19 16:41:09 1999 George Lebl + + * src/main.c: add a type macro + +Thu Nov 18 22:56:09 1999 George Lebl + + * src/parse.y: add a warning check if the number of GTK types of + a signal doesn't seem to be correct for the given number of + function arguments + +Tue Nov 16 01:23:45 1999 George Lebl + + * src/main.c: support a "no-touch-headers" mode in which the + headers are not touched unless they actually really changed, + not on by default as it confuses automake + +Tue Nov 16 00:36:42 1999 George Lebl + + * src/{main.c,lexer.l,parser.y,out.c}: Implement a C++ mode, get + rid of C++ errors/warnings when in C++ mode, and get rid of + the 'this' pointer finally (it's been deprecated long enough) + +Mon Nov 15 23:45:37 1999 George Lebl + + * src/main.c: add prototype for the really bad hack function to + avoid warning + +Mon Nov 15 23:42:06 1999 George Lebl + + * src/main.c: generate correct function pointers in the structure + for signals and virtuals. Also use a much nicer system instead + of the method name defines, we now just set a bunch of static + pointers, this removes a whole lot of headaches actually + + * doc/gob.1.in: repair to reflect the above (I removed the define + BUGS paragraph) + +Sun Nov 14 17:57:34 1999 George Lebl + + * doc/gob.1.in: repair some things that confused troff and add + a C preprocessor warning to BUGS + +Sat Nov 13 17:22:49 1999 George Lebl + + * **/Makefile.am, configure.in: fix the conditional installation + stuff, don't even go into the doc directory if we aren't installing + +Sat Nov 13 16:53:20 1999 George Lebl + + * doc/gob.1.in: describe BUGS better + +Sat Nov 13 16:20:41 1999 George Lebl + + * src/lexer.l: don't kill C++ style comments from C blocks + +Sat Nov 13 16:16:59 1999 George Lebl + + * src/{lexer.l,main.c,out.c}: fixed spurious newline printing, don't + kill comments from C blocks so that line counts are right, accept + newlines in strings, and don't take \'\"\' as a string delimiter + +Sat Nov 13 14:53:26 1999 George Lebl + + * src/main.c: don't add gtk_object_class to class_init if we only + have non-GtkObject overrides to avoid warning + +Sat Nov 13 14:31:25 1999 George Lebl + + * configure.in,src/Makefile.am,doc/Makefile.am: check for + ../NOINST_GOB and in case it's found don't install self + +Fri Nov 12 16:25:35 1999 George Lebl + + * configure.in,Makefile.am,src/main.c: don't use popt, our arguments + are simple enough and popt doesn't seem to be widely used yet + Sun Sep 05 22:08:40 1999 George Lebl * Release 0.90.2 @@ -69,7 +458,7 @@ Thu Aug 19 03:18:03 1999 George Lebl Thu Aug 19 03:08:49 1999 George Lebl - * src/parse.y: in a check, we can check not only about nubmers + * src/parse.y: in a check, we can check not only about numbers but for tokens as well Wed Aug 18 12:54:17 1999 George Lebl