]> git.draconx.ca Git - gob-dx.git/blobdiff - ChangeLog
Release 0.92.3
[gob-dx.git] / ChangeLog
index d3e47130e63660bbf5098dd67039580f77bfa6e6..62036a73bed05dae64fbe8b422ddbbee2d1c32a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,485 @@
+Mon Feb 07 03:02:48 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.92.3
+
+Mon Feb 07 02:50:11 2000  George Lebl <jirka@5z.com>
+
+       * src/lexer.l: error on multiple classes
+
+       * src/main.c: nicer header output
+
+       * src/{lexer.l,main.c}: Eat out gtk-doc like inline doc entries
+         and stuff them into the output files where appropriate
+
+       * doc/gob.1.in: added docs for gtk-doc like inline doc stuff
+
+       * examples/{README, gtk-button-count.gob}: added inline docs
+
+Fri Feb 04 01:07:54 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: use G_GNUC_UNUSED rather then our own macro for a
+         very slightly cleaner looking output file
+
+2000-01-31  Eskil Heyn Olsen  <deity@eskil.dk>
+
+       * gob.m4: checks for gob binary, GOB_CHECK([version [,
+       action_if_found[, action_if_not_found]]]).  
+
+       * Makefile.am: Install gob in $prefix/share/aclocal
+
+Thu Jan 27 17:50:11 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: add #include <stdlib.h>
+
+Mon Jan 24 22:52:47 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.92.2
+
+Mon Jan 24 22:23:47 2000  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * src/main.c: use ___ for the signal marshalling typedefs as well
+
+Thu Jan 06 17:32:46 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.92.1
+
+Thu Jan 06 17:13:22 2000  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * src/main.c: doh! the symbols for the aliases need to be declared as
+         static.
+
+Wed Jan 05 02:13:59 2000  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * src/main.c: fix the non-gnu aliases
+
+Tue Jan 04 16:46:16 2000  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * Release 0.92.0
+
+Thu Dec 30 20:20:36 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * src/main.c: apply patch from ChiDeok Hwang <cdhwang@sr.hei.co.kr>
+         to make the hack function static so that we don't pollute namespace
+
+Mon Dec 27 19:56:24 1999  George Lebl <jirka@5z.com>
+
+       * Release 0.91.2
+
+Mon Dec 27 03:00:25 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * Release 0.91.1
+
+Mon Dec 13 23:25:06 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * Release 0.91.0
+
+Sun Dec 12 22:55:12 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * Release 0.90.5
+
+Thu Nov 25 13:00:52 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * src/main.c: add a type macro
+
+Thu Nov 18 22:56:09 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * src/main.c: add prototype for the really bad hack function to
+         avoid warning
+
+Mon Nov 15 23:42:06 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * **/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 <jirka@5z.com>
+
+       * doc/gob.1.in: describe BUGS better
+
+Sat Nov 13 16:20:41 1999  George Lebl <jirka@5z.com>
+
+       * src/lexer.l: don't kill C++ style comments from C blocks
+
+Sat Nov 13 16:16:59 1999  George Lebl <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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 <jirka@5z.com>
+
+       * 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  <jirka@5z.com>
+
+       * Release 0.90.2
+
+Sun Sep 05 22:08:33 1999  George Lebl  <jirka@5z.com>
+
+       * doc/gob.1.in: updated for private virtual and signal wrappers
+
+Sun Sep 05 21:50:19 1999  George Lebl  <jirka@5z.com>
+
+       * configure.in: raise version and actually set POPT_LIB correctly
+
+       * src/Makefile.am: use POPT_LIB
+
+Sun Sep 05 21:45:54 1999  George Lebl  <jirka@5z.com>
+
+       * src/tree.h,src/main.c,src/parse.y: add support for private signals
+         and virtuals
+
+       * src/parse.y: fix bug with bogus vararg methods
+
+Sun Sep 04 17:44:37 1999  George Lebl  <jirka@5z.com>
+
+       * Released 0.90.1
+
+Sat Sep 04 17:18:22 1999  George Lebl  <jirka@5z.com>
+
+       * src/lexer.l,src/parse.y,src/main.c,src/tree.[ch]: support
+         variable arguments for public and private methods
+
+Sat Sep 04 16:51:11 1999  George Lebl  <jirka@5z.com>
+
+       * lexer.l,parse.y: accept const in parameter lists
+
+Sun Aug 29 13:46:33 1999  George Lebl  <jirka@5z.com>
+
+       * Release 0.90.0
+
+Sat Aug 28 23:36:48 1999  George Lebl  <jirka@5z.com>
+
+       * src/main.[ch],parse.y: make error/warning reporting public
+         and use it to report depreciated use of 'this'
+
+Sat Aug 28 22:41:52 1999  George Lebl  <jirka@5z.com>
+
+       * src/tree.[ch],parse.y,main.c: check for duplicate variables and
+         signals and arguments as well.
+
+Sat Aug 28 22:00:19 1999  George Lebl  <jirka@5z.com>
+
+       * src/parse.y,src/main.c: change "this" to "self", but accept "this"
+         as well
+
+       * src/main.c: check for duplicate methods, and warn on non-public
+         "new" method
+
+       * configure.in: change to version 0.90.0
+
+       * doc/gob.1.in: change this to self
+
 Tue Aug 24 20:37:26 1999  George Lebl  <jirka@5z.com>
 
        * Release 0.0.4
@@ -9,7 +491,7 @@ Thu Aug 19 03:18:03 1999  George Lebl  <jirka@5z.com>
 
 Thu Aug 19 03:08:49 1999  George Lebl  <jirka@5z.com>
 
-       * 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  <jirka@5z.com>