]> git.draconx.ca Git - gob-dx.git/blobdiff - ChangeLog
Release 1.0.1
[gob-dx.git] / ChangeLog
index 184c00a8be543fbe5a9eb79ec5d3a0be59887407..4b931f14cdef8819d38984cad61dd9d24f90b4ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,544 @@
+Wed Jun 07 15:03:18 2000  George Lebl <jirka@5z.com>
+
+       * Release 1.0.1
+
+Wed Jun 07 14:41:24 2000  George Lebl <jirka@5z.com>
+
+       * configure.in, doc/gob.1.in: updates
+
+Mon Jun 05 12:10:46 2000  George Lebl <jirka@5z.com>
+
+       * doc/gob.1.in: run through ispell, and fix option stuff to produce
+         nicer html output with groff
+
+Thu Jun 01 18:12:13 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: Make the private header switches work again.
+
+Wed May 31 01:50:25 2000  George Lebl <jirka@5z.com>
+
+       * Release 1.0.0
+
+Wed May 31 01:47:23 2000  George Lebl <jirka@5z.com>
+
+       * src/gob.1.in: documentation of makefile rules for gob.
+
+Tue May 30 11:02:36 2000  George Lebl <jirka@5z.com>
+
+       * src/lexer.l: Accept identifiers in array dimensions, this is so
+         that you can make these some constants.
+
+Sat May 20 18:22:33 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.93.5
+
+Sat May 20 18:22:23 2000  George Lebl <jirka@5z.com>
+
+       * src/{main.c,checks.[ch]}: check for duplicate overrides, it is
+         different from checking symbol names as they don't conflict with
+         other symbols AND they only conflict if both the name and their
+         type match
+
+Sat May 20 16:38:06 2000  George Lebl <jirka@5z.com>
+
+       * src/{main.[ch],util.[ch],checks.c}: Add underscore removal for
+         non-override methods.  This means that local aliases will include
+         prepended underscores, but when the full name is generated, or
+         when the method name is added to class structure, the underscore
+         is removed.
+
+       * src/checks.c: overrides no longer checked for uniqueness, a more
+         complex logic is needed.
+
+       * src/{main.c,treefuncs.def,parse.y}:  override naming is done
+         with a unique id, so that we handle cases where two classes have
+         the same method name.
+
+       * doc/gob.1.in: update for the above.
+
+Sat May 20 14:42:00 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: the private structure is now freed in finalize again and
+         thus do the same dance around finalize as we do around destroy. 
+         Clean up some code.  NULL all things being destroyed.  The arbitary
+         destructor uses memset as those things might not be just pointers.
+
+Thu May 11 23:48:44 2000  George Lebl <jirka@5z.com>
+
+       * src/main.[ch]: provide the Self and SelfClass typedefs in addition
+         to SELF, IS_SELF, SELF_CLASS macros.  All of these can now be
+         disabled with the --no-self-alias option
+
+       * doc/gob.1.in: update
+
+       * configure.in: raise version
+
+Tue May 09 23:18:16 2000  George Lebl <jirka@5z.com>
+
+       * src/parse.y: fix segfault on parse error and give better error
+         message
+
+Tue May 09 21:54:10 2000  George Lebl <jirka@5z.com>
+
+       * doc/gob.1.in, src/main.c:  Add destruction code into the destroy
+         handler rather then finalize.  Setup an extra function if
+         neccessary to handle returns correctly as this must be called
+         after any user code.
+
+Sat Apr 29 14:41:42 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.93.4
+
+Sat Apr 29 14:40:40 2000  George Lebl <jirka@5z.com>
+
+       * src/checks.c: code prettification
+
+       * src/lexer.l, src/parse.y, src/test.gob: change "class" scope to
+         "classwide" scope, not to overload the class keyword
+
+       * src/main.[ch]: make private header files be generated by default,
+         and cleanup that part a bit
+
+       * doc/gob.1.in: add documentation of classwide
+
+       * NEWS:
+
+Fri Apr 21 17:15:09 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: add spaces after commas
+
+       * src/lexer.l, src/main.c, src/parse.y: add class scope variables
+         which are put into the class structure
+
+       * src/test.gob: added a test for class variables
+
+       * src/treefuncs.def: added CLASS_SCOPE
+
+       * src/treefuncs.h: regenerated
+
+Mon Apr 17 20:13:47 2000  George Lebl <jirka@5z.com>
+
+       * src/parse.y: on objectlink instead of just ref, do ref/sink.
+
+Sat Apr 15 23:07:30 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.93.3
+
+Sat Apr 15 22:42:20 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: fixes for ANSI C and C++.  Just use GTK_VALUE_POINTER
+         instead of GTK_VALUE_OBJECT so that we don't have to cast and don't
+         cast lvalues.
+
+Sat Apr 15 22:09:49 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: use the generic return type in signal marshallers
+         rather then the specific one as the marshallers are truly generic
+
+Sat Apr 15 21:52:52 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: fix some typesafety braindamages with OBJECT types
+         in arguments by casting GTK_VALUE_OBJECT to gpointer.  Also
+         for seting arguments cast the ARG to atype if it exists
+
+Wed Apr 05 13:42:28 2000  George Lebl <jirka@5z.com>
+
+       * src/parse.y: never allow NONE to be used as one of many arguments,
+         always only by itself in the argument list
+
+       * src/main.c: When printing out the signal marshaller prototype,
+         don't print out the NONE (void) into the argument list, thanks
+         to Soeren Sandmann <sandmann@daimi.au.dk> for reporting that
+
+Mon Apr 03 13:07:33 2000  George Lebl <jirka@5z.com>
+
+       * examples/Makefile.am: add my-person2.gob to EXTRA_DIST
+
+Sun Apr 02 18:09:40 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.93.2
+
+Sun Apr 02 17:38:12 2000  George Lebl <jirka@5z.com>
+
+       * src/Makefile.am: ass the .pl and .def file to EXTRA_DIST
+
+Sun Apr  2 14:37:49 PDT 2000 Manish Singh <yosh@gimp.org>
+
+       * configure.in: check for treefuncs.h instead of tree.h, since
+         the latter has gone bye-bye
+
+Sat Apr 01 23:27:47 2000  George Lebl <jirka@5z.com>
+
+       * doc/gob.1.in: add documentation for defreturn
+
+Sat Apr 01 18:03:31 2000  George Lebl <jirka@5z.com>
+
+       * src/{treefuncs.(def|c|h),generate_treefuncs.pl}: What would gob
+         be without some automatically generated code.  The tree.[ch] was
+         hard to keep up and didn't have free/copy so these do, otherwise
+         it is the same.  Also added a defreturn field to methods
+
+       * src/*.[cyl]: include treefuncs.h rather then tree.h
+
+       * src/{parse.y,lexer.l,main.c}: use the defreturn as the default for
+         return values of signals and virtual methods.  If this is not
+         defined use the onerror or failing that '0'.  onerror is also not
+         a reserved keyword anymore
+       
+       * configure.in: raise version
+
+Mon Mar 27 13:08:01 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.93.1
+
+Mon Mar 27 12:04:22 2000  George Lebl <jirka@5z.com>
+
+       * src/util.[ch], src/main.c: figure out if we really need the special
+         types, also make a hash for the gtk types instead of linear
+         searching it all the time.
+
+       * src/{lexer.c,checks.c,main.c}: minor fixes and cleanups
+
+2000-03-21  Eskil Heyn Olsen  <deity@eskil.dk>
+
+       * gob.m4: do not default GOB to no when not found (did that make
+       sense ?)
+       And better error message.
+
+Mon Mar 20 14:35:35 2000  George Lebl <jirka@5z.com>
+
+       * src/lexer.l: handle single word typenames with an empty namespace
+
+Sun Mar 05 02:23:04 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: add #lines around setting default handlers
+
+       * src/parse.y: fix line number for 'destroywith' destructors
+
+Sat Mar 04 15:33:18 2000  George Lebl <jirka@5z.com>
+
+       * src/checks.c: duplicate name test for arguments and signals is
+         case insensitive now as those could cause trouble
+
+Mon Feb 28 02:45:27 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.93.0
+
+Sun Feb 27 20:59:45 2000  George Lebl <jirka@5z.com>
+
+       * src/parse.y,doc/gob.1.in: For stringlink, just return a pointer on
+         get rather then strduping as that is 1) consistent with objectlink
+         and 2) more flexible.
+
+Sun Feb 27 20:38:19 2000  George Lebl <jirka@5z.com>
+
+       * src/{main.c,tree.[ch],parse.y}: add the arbitrary destruction handler
+         for data members
+
+       * doc/gob.1.in: updated and fixed up
+
+       * configure.in,NEWS,examples/{README,my-person2.gob}: change version
+         to 0.93.0
+
+Sun Feb 27 18:37:57 2000  George Lebl <jirka@5z.com>
+
+       * NEWS,doc/gob.1.in,examples/{README,my-person.gob,my-person2.gob}:
+         update of docs and examples to include the new features and minor
+         fixups
+
+Sun Feb 27 04:41:41 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: make the output nicer for classes with no methods
+         better typechecking in get/set_arg, fix a couple of C++ issues,
+
+       * src/{main.c,parse.y,tree.[ch]}: automatic linking of arguments to
+         data members.  Also alow empty statements inside a class.  Also
+         add automatic data member destruction for pointer data, and
+         automatic initialization for any data member.
+
+       * src/main.[ch],src/out.c: add --no-lines which inhibits printing
+         of #line things to output files
+
+       * doc/gob.1.in: update for the above
+
+Fri Feb 25 15:21:47 2000  George Lebl <jirka@5z.com>
+
+       * Release 0.92.4
+
+Fri Feb 25 14:46:51 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: add SELF casting macros
+
+       * doc/gob.1.in: document the above
+
+Fri Feb 25 02:29:26 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c,src/tree.[ch],src/parse.y: public signals get
+         GTK_RUN_ACTION added.  Plus an interface for adding additional
+         flags is added.
+
+       * doc/gob.1.in: add docs for the above
+
+Fri Feb 25 01:37:20 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: fix trailing comma on the end of the argument enum
+
+Sun Feb 13 23:54:53 2000  George Lebl <jirka@5z.com>
+
+       * doc/gob.1.in: add doc patch from Dave Dunkin <dunkind@letu.edu>
+
+       * doc/gob.1.in,examples/*.gob: use init(self) to be more consistent
+         in naming
+
+Sat Feb 12 14:42:15 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c,src/lexer.l: apply patches from Dave Dunkin
+         <dunkind@letu.edu> to add all and alltop ccode sections
+         and to add a --no-write,-n option to not actually write
+         any files.  Also did some very cosmetic changes to code
+
+Mon Feb 07 23:45:04 2000  George Lebl <jirka@5z.com>
+
+       * src/main.c: use the magic /*< private >*/ and /*< public >*/
+         comments to distinguish public and protected data members
+
+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
@@ -206,7 +747,7 @@ Sun Sep 05 21:45:54 1999  George Lebl  <jirka@5z.com>
 
 Sun Sep 04 17:44:37 1999  George Lebl  <jirka@5z.com>
 
-       * Released 0.90.1
+       * Release 0.90.1
 
 Sat Sep 04 17:18:22 1999  George Lebl  <jirka@5z.com>
 
@@ -259,7 +800,7 @@ Thu Aug 19 03:08:49 1999  George Lebl  <jirka@5z.com>
 
 Wed Aug 18 12:54:17 1999  George Lebl  <jirka@5z.com>
 
-       * Released 0.0.3
+       * Release 0.0.3
 
 Tue Aug 17 22:24:47 1999  George Lebl  <jirka@5z.com>