]> git.draconx.ca Git - gob-dx.git/blob - ChangeLog
Release 1.0.9
[gob-dx.git] / ChangeLog
1 Sat Apr 21 20:37:40 2001  George Lebl <jirka@5z.com>
2
3         * Release 1.0.9
4
5 Sat Apr 21 20:06:10 2001  George Lebl <jirka@5z.com>
6
7         * examples/Makefile.am, examples/README,
8           examples/GNOME_Foo_SomeInterface.idl,
9           examples/foo-some-interface.gob:  Add an example for BonoboXObject
10
11 Sat Apr 21 19:33:08 2001  George Lebl <jirka@5z.com>
12
13         * configure.in:  Raise version to 1.0.9
14
15         * src/lexer.l:  Properly check major version requirements (majors
16           must match in the requires line)
17
18         * src/parse.y, src/main.c, src/treefuncs.(def|c|h), src/checks.c:
19           Add direct BonoboXObject support
20
21         * src/parse.y: fix the chunks usage
22
23         * doc/gob.1.in: document BonoboXObject stuff, fix the bugs section
24           wrt gtk-doc which has been supported for quite some time
25
26 Fri Apr 13 21:19:33 2001  George Lebl <jirka@5z.com>
27
28         * src/parse.y: commited too fast, fix printf warning
29
30 Fri Apr 13 17:45:14 2001  George Lebl <jirka@5z.com>
31
32         * src/parse.y, doc/gob.1.in: Fix a problem found by Eric Kidd
33           <eric.kidd@pobox.com>, where objectlink was not completely
34           refcounting safe.  Could underref if you set the same object.
35
36 Thu Apr 12 09:19:58 2001  George Lebl <jirka@5z.com>
37
38         * Release 1.0.8
39
40 Sat Mar 31 00:24:58 2001  George Lebl <jirka@5z.com>
41
42         * src/main.c: fix crash with marshallers of signals with a return
43           type and no arguments.
44
45 Tue Feb 27 00:53:41 2001  Jonathan Blandford  <jrb@redhat.com>
46
47         * README: Use my new-found maintainer status!!! The power!
48
49 Sun Feb 25 17:17:46 2001  George Lebl <jirka@5z.com>
50
51         * Release 1.0.7
52
53 Sun Feb 25 16:57:45 2001  George Lebl <jirka@5z.com>
54
55         * src/main.c, src/checks.c: to make doing BonoboXObjects possible
56           allow overriding the _get_type function.
57
58         * doc/gob.1.in: document the above
59
60 Sun Feb 11 16:33:07 2001  George Lebl <jirka@5z.com>
61
62         * Release 1.0.6
63
64 Sat Feb 10 18:42:59 2001  George Lebl <jirka@5z.com>
65
66         * src/Makefile.am: fix the build
67
68 2001-02-08  Maciej Stachowiak  <mjs@eazel.com>
69
70         * src/Makefile.am: Remove BUILT_SOURCES stuff; Automake knows how
71         to handle .l and .y files directly, and including the .c files as
72         well was making it fail to link as it would try to link in lexer.o
73         and parse.o twice.
74
75 Thu Feb 08 02:43:22 2001  George Lebl <jirka@5z.com>
76
77         * src/main.c:  add signal connection typesafety macros
78
79         * src/test.gob, doc/gob.1.in: new stuff foo
80
81         * configure.in: raise version
82
83 Thu Feb 08 01:42:52 2001  George Lebl <jirka@5z.com>
84
85         * src/Makefile.am: rule for parse.h includes parse.c, and
86           SOURCES include BUILT_SOURCES
87
88 Tue Dec 26 11:03:44 2000  George Lebl <jirka@5z.com>
89
90         * src/main.c: Remove ## from the varargs macro stuff, as it's not
91           needed and causes trouble for newer gcc's (like in rh7)
92
93 Sun Sep 10 18:04:07 2000  George Lebl <jirka@5z.com>
94
95         * Release 1.0.5
96
97 Fri Sep 01 03:45:30 2000  George Lebl <jirka@5z.com>
98
99         * src/main.c: add G_GNUC_CONST to the _get_type function
100
101 Wed Aug 23 15:05:40 2000  George Lebl <jirka@5z.com>
102
103         * src/main.c: when a method has no arguments make an argumentless
104           macro for the shortform to avoid a parse error
105
106         * src/test.gob: add a test for the above
107
108 Sun Aug  6 22:21:38 2000  Eskil Heyn Olsen <eskil@eazel.com>
109         
110         * gob.m4 now defaults to WARN instead of ERROR on missing
111         gob.
112
113 Tue Jul 25 16:54:34 2000  George Lebl <jirka@5z.com>
114
115         * Release 1.0.4
116
117         * configure.in: raise version to 1.0.4
118
119         * src/main.c: fixup the -anal macro patch.
120
121         * src/util.[ch], src/main.c: constize (not in 1.0.4)
122
123         * src/main.c: the short form pointers unified for both gnu and non-gnu
124           (not in 1.0.4)
125
126 Sun Jul 23 18:51:45 2000  George Lebl <jirka@5z.com>
127
128         * src/util.[ch], src/main.c, src/checks.c, src/lexer.l, src/parse.y:
129           make new cleaner error print routines including a printfstyle one.
130           Use the get_real_id on all method ids even for overrides.  When a
131           signal is added there is also a sizeof check for the signature vs.
132           argument list with a g_error if it fails.  Fix %at{ %} to not
133           appear twice in all files.
134
135         * src/main.c: Apply patch from Arturo Tena to make things compile
136           nicely with gcc's -ansi -pedantic
137
138         * src/out.[ch]: constize correctly and use G_GNUC_PRINTF macro for
139           warnings.
140
141 Fri Jul 21 15:38:10 2000  George Lebl <jirka@5z.com>
142
143         * src/main.c: store the private structure pointer so that we
144           don't look inside the freed object structureafter finalize
145
146 Thu Jul 06 02:32:29 2000  George Lebl <jirka@5z.com>
147
148         * Release 1.0.3
149
150 Wed Jul 05 19:37:20 2000  George Lebl <jirka@5z.com>
151
152         * src/{main.c,parse.y}: couple of cleanups, and fixup the gtk 1.3
153           support
154
155 Wed Jul 05 18:57:13 2000  George Lebl <jirka@5z.com>
156
157         * src/{checks.c, main.c, parse.y, test.gob}:  Apply and fix up patch
158           from Bas van der Linden <linden@win.tue.nl> that adds the ability
159           to use const on the "self" argument as well.  Also adds a CONST
160           casting macro to use.
161
162         * src/main.c: Fix a memory leak when destroy wasn't overriden and
163           destructors were added, it now properly calls the parent handler.
164           Same with finalize.
165
166         * src/main.c: Spit out some macro magic foo to hopefully make it
167           possible to compile objects with GTK+ 1.3/2.0
168
169         * doc/gob.1.in, examples/*.gob:  We should never do
170           GTK_OBJECT(GET_NEW) as that's a memory leak due to some weird
171           GTK_OBJECT() semantics
172
173 Fri Jun 30 14:08:53 2000  George Lebl <jirka@5z.com>
174
175         * Release 1.0.2
176
177 Fri Jun 30 13:11:05 2000  George Lebl <jirka@5z.com>
178
179         * doc/gob.1.in: add doc for --always-private-struct
180
181         * src/main.c: fix output of --help.  Also print __GOB_FUNCTION__
182           for inits and for get/set_arg.  And print the get_real_id to
183           avoid the underscore.
184
185 Mon Jun 26 00:06:45 2000  George Lebl <jirka@5z.com>
186
187         * src/parse.y: for stringlink, dup the string on argument
188           getting
189
190         * doc/gob.1.in: update documentation to the above change
191
192 Sun Jun 25 03:34:02 2000  George Lebl <jirka@5z.com>
193
194         * src/treefuncs.def, src/main.c, src/utils.[ch], src/parse.y: sane
195           parsing of const.  Get rid of "stars" integer and just use a
196           "pointer" string.  Also the types in general are more sanely parsed,
197           thus recognizing hopefully all legal (and some illegal) C types.
198
199         * src/checks.[ch], src/main.c: checks the argument type to be one we can
200           truly check.
201
202         * src/treefuncs.def, src/main.c, src/parse.y, src/lexer.l:  Apply
203           patch from Bas van der Linden <linden@win.tue.nl> that adds the
204           possibility to use chunks to allocate objects.
205
206         * src/main.c: Apply patch from Bas van der Linden <linden@win.tue.nl>
207           to add a __GOB_FUNCTION__ define to each function
208
209         * src/Makefile.am, src/main.c, src/lexer.l, src/generate_treefuncs.pl:
210           avoid and fix warnings, and compile with all warnings
211
212         * src/main.[ch]: add an --always-private-struct option to always put
213           in the private pointer, even if there are no private members.
214
215         * src/test.gob: add some more tests for new stuff
216
217 Wed Jun 07 15:03:18 2000  George Lebl <jirka@5z.com>
218
219         * Release 1.0.1
220
221 Wed Jun 07 14:41:24 2000  George Lebl <jirka@5z.com>
222
223         * configure.in, doc/gob.1.in: updates
224
225 Mon Jun 05 12:10:46 2000  George Lebl <jirka@5z.com>
226
227         * doc/gob.1.in: run through ispell, and fix option stuff to produce
228           nicer html output with groff
229
230 Thu Jun 01 18:12:13 2000  George Lebl <jirka@5z.com>
231
232         * src/main.c: Make the private header switches work again.
233
234 Wed May 31 01:50:25 2000  George Lebl <jirka@5z.com>
235
236         * Release 1.0.0
237
238 Wed May 31 01:47:23 2000  George Lebl <jirka@5z.com>
239
240         * src/gob.1.in: documentation of makefile rules for gob.
241
242 Tue May 30 11:02:36 2000  George Lebl <jirka@5z.com>
243
244         * src/lexer.l: Accept identifiers in array dimensions, this is so
245           that you can make these some constants.
246
247 Sat May 20 18:22:33 2000  George Lebl <jirka@5z.com>
248
249         * Release 0.93.5
250
251 Sat May 20 18:22:23 2000  George Lebl <jirka@5z.com>
252
253         * src/{main.c,checks.[ch]}: check for duplicate overrides, it is
254           different from checking symbol names as they don't conflict with
255           other symbols AND they only conflict if both the name and their
256           type match
257
258 Sat May 20 16:38:06 2000  George Lebl <jirka@5z.com>
259
260         * src/{main.[ch],util.[ch],checks.c}: Add underscore removal for
261           non-override methods.  This means that local aliases will include
262           prepended underscores, but when the full name is generated, or
263           when the method name is added to class structure, the underscore
264           is removed.
265
266         * src/checks.c: overrides no longer checked for uniqueness, a more
267           complex logic is needed.
268
269         * src/{main.c,treefuncs.def,parse.y}:  override naming is done
270           with a unique id, so that we handle cases where two classes have
271           the same method name.
272
273         * doc/gob.1.in: update for the above.
274
275 Sat May 20 14:42:00 2000  George Lebl <jirka@5z.com>
276
277         * src/main.c: the private structure is now freed in finalize again and
278           thus do the same dance around finalize as we do around destroy. 
279           Clean up some code.  NULL all things being destroyed.  The arbitary
280           destructor uses memset as those things might not be just pointers.
281
282 Thu May 11 23:48:44 2000  George Lebl <jirka@5z.com>
283
284         * src/main.[ch]: provide the Self and SelfClass typedefs in addition
285           to SELF, IS_SELF, SELF_CLASS macros.  All of these can now be
286           disabled with the --no-self-alias option
287
288         * doc/gob.1.in: update
289
290         * configure.in: raise version
291
292 Tue May 09 23:18:16 2000  George Lebl <jirka@5z.com>
293
294         * src/parse.y: fix segfault on parse error and give better error
295           message
296
297 Tue May 09 21:54:10 2000  George Lebl <jirka@5z.com>
298
299         * doc/gob.1.in, src/main.c:  Add destruction code into the destroy
300           handler rather then finalize.  Setup an extra function if
301           neccessary to handle returns correctly as this must be called
302           after any user code.
303
304 Sat Apr 29 14:41:42 2000  George Lebl <jirka@5z.com>
305
306         * Release 0.93.4
307
308 Sat Apr 29 14:40:40 2000  George Lebl <jirka@5z.com>
309
310         * src/checks.c: code prettification
311
312         * src/lexer.l, src/parse.y, src/test.gob: change "class" scope to
313           "classwide" scope, not to overload the class keyword
314
315         * src/main.[ch]: make private header files be generated by default,
316           and cleanup that part a bit
317
318         * doc/gob.1.in: add documentation of classwide
319
320         * NEWS:
321
322 Fri Apr 21 17:15:09 2000  George Lebl <jirka@5z.com>
323
324         * src/main.c: add spaces after commas
325
326         * src/lexer.l, src/main.c, src/parse.y: add class scope variables
327           which are put into the class structure
328
329         * src/test.gob: added a test for class variables
330
331         * src/treefuncs.def: added CLASS_SCOPE
332
333         * src/treefuncs.h: regenerated
334
335 Mon Apr 17 20:13:47 2000  George Lebl <jirka@5z.com>
336
337         * src/parse.y: on objectlink instead of just ref, do ref/sink.
338
339 Sat Apr 15 23:07:30 2000  George Lebl <jirka@5z.com>
340
341         * Release 0.93.3
342
343 Sat Apr 15 22:42:20 2000  George Lebl <jirka@5z.com>
344
345         * src/main.c: fixes for ANSI C and C++.  Just use GTK_VALUE_POINTER
346           instead of GTK_VALUE_OBJECT so that we don't have to cast and don't
347           cast lvalues.
348
349 Sat Apr 15 22:09:49 2000  George Lebl <jirka@5z.com>
350
351         * src/main.c: use the generic return type in signal marshallers
352           rather then the specific one as the marshallers are truly generic
353
354 Sat Apr 15 21:52:52 2000  George Lebl <jirka@5z.com>
355
356         * src/main.c: fix some typesafety braindamages with OBJECT types
357           in arguments by casting GTK_VALUE_OBJECT to gpointer.  Also
358           for seting arguments cast the ARG to atype if it exists
359
360 Wed Apr 05 13:42:28 2000  George Lebl <jirka@5z.com>
361
362         * src/parse.y: never allow NONE to be used as one of many arguments,
363           always only by itself in the argument list
364
365         * src/main.c: When printing out the signal marshaller prototype,
366           don't print out the NONE (void) into the argument list, thanks
367           to Soeren Sandmann <sandmann@daimi.au.dk> for reporting that
368
369 Mon Apr 03 13:07:33 2000  George Lebl <jirka@5z.com>
370
371         * examples/Makefile.am: add my-person2.gob to EXTRA_DIST
372
373 Sun Apr 02 18:09:40 2000  George Lebl <jirka@5z.com>
374
375         * Release 0.93.2
376
377 Sun Apr 02 17:38:12 2000  George Lebl <jirka@5z.com>
378
379         * src/Makefile.am: ass the .pl and .def file to EXTRA_DIST
380
381 Sun Apr  2 14:37:49 PDT 2000 Manish Singh <yosh@gimp.org>
382
383         * configure.in: check for treefuncs.h instead of tree.h, since
384           the latter has gone bye-bye
385
386 Sat Apr 01 23:27:47 2000  George Lebl <jirka@5z.com>
387
388         * doc/gob.1.in: add documentation for defreturn
389
390 Sat Apr 01 18:03:31 2000  George Lebl <jirka@5z.com>
391
392         * src/{treefuncs.(def|c|h),generate_treefuncs.pl}: What would gob
393           be without some automatically generated code.  The tree.[ch] was
394           hard to keep up and didn't have free/copy so these do, otherwise
395           it is the same.  Also added a defreturn field to methods
396
397         * src/*.[cyl]: include treefuncs.h rather then tree.h
398
399         * src/{parse.y,lexer.l,main.c}: use the defreturn as the default for
400           return values of signals and virtual methods.  If this is not
401           defined use the onerror or failing that '0'.  onerror is also not
402           a reserved keyword anymore
403         
404         * configure.in: raise version
405
406 Mon Mar 27 13:08:01 2000  George Lebl <jirka@5z.com>
407
408         * Release 0.93.1
409
410 Mon Mar 27 12:04:22 2000  George Lebl <jirka@5z.com>
411
412         * src/util.[ch], src/main.c: figure out if we really need the special
413           types, also make a hash for the gtk types instead of linear
414           searching it all the time.
415
416         * src/{lexer.c,checks.c,main.c}: minor fixes and cleanups
417
418 2000-03-21  Eskil Heyn Olsen  <deity@eskil.dk>
419
420         * gob.m4: do not default GOB to no when not found (did that make
421         sense ?)
422         And better error message.
423
424 Mon Mar 20 14:35:35 2000  George Lebl <jirka@5z.com>
425
426         * src/lexer.l: handle single word typenames with an empty namespace
427
428 Sun Mar 05 02:23:04 2000  George Lebl <jirka@5z.com>
429
430         * src/main.c: add #lines around setting default handlers
431
432         * src/parse.y: fix line number for 'destroywith' destructors
433
434 Sat Mar 04 15:33:18 2000  George Lebl <jirka@5z.com>
435
436         * src/checks.c: duplicate name test for arguments and signals is
437           case insensitive now as those could cause trouble
438
439 Mon Feb 28 02:45:27 2000  George Lebl <jirka@5z.com>
440
441         * Release 0.93.0
442
443 Sun Feb 27 20:59:45 2000  George Lebl <jirka@5z.com>
444
445         * src/parse.y,doc/gob.1.in: For stringlink, just return a pointer on
446           get rather then strduping as that is 1) consistent with objectlink
447           and 2) more flexible.
448
449 Sun Feb 27 20:38:19 2000  George Lebl <jirka@5z.com>
450
451         * src/{main.c,tree.[ch],parse.y}: add the arbitrary destruction handler
452           for data members
453
454         * doc/gob.1.in: updated and fixed up
455
456         * configure.in,NEWS,examples/{README,my-person2.gob}: change version
457           to 0.93.0
458
459 Sun Feb 27 18:37:57 2000  George Lebl <jirka@5z.com>
460
461         * NEWS,doc/gob.1.in,examples/{README,my-person.gob,my-person2.gob}:
462           update of docs and examples to include the new features and minor
463           fixups
464
465 Sun Feb 27 04:41:41 2000  George Lebl <jirka@5z.com>
466
467         * src/main.c: make the output nicer for classes with no methods
468           better typechecking in get/set_arg, fix a couple of C++ issues,
469
470         * src/{main.c,parse.y,tree.[ch]}: automatic linking of arguments to
471           data members.  Also alow empty statements inside a class.  Also
472           add automatic data member destruction for pointer data, and
473           automatic initialization for any data member.
474
475         * src/main.[ch],src/out.c: add --no-lines which inhibits printing
476           of #line things to output files
477
478         * doc/gob.1.in: update for the above
479
480 Fri Feb 25 15:21:47 2000  George Lebl <jirka@5z.com>
481
482         * Release 0.92.4
483
484 Fri Feb 25 14:46:51 2000  George Lebl <jirka@5z.com>
485
486         * src/main.c: add SELF casting macros
487
488         * doc/gob.1.in: document the above
489
490 Fri Feb 25 02:29:26 2000  George Lebl <jirka@5z.com>
491
492         * src/main.c,src/tree.[ch],src/parse.y: public signals get
493           GTK_RUN_ACTION added.  Plus an interface for adding additional
494           flags is added.
495
496         * doc/gob.1.in: add docs for the above
497
498 Fri Feb 25 01:37:20 2000  George Lebl <jirka@5z.com>
499
500         * src/main.c: fix trailing comma on the end of the argument enum
501
502 Sun Feb 13 23:54:53 2000  George Lebl <jirka@5z.com>
503
504         * doc/gob.1.in: add doc patch from Dave Dunkin <dunkind@letu.edu>
505
506         * doc/gob.1.in,examples/*.gob: use init(self) to be more consistent
507           in naming
508
509 Sat Feb 12 14:42:15 2000  George Lebl <jirka@5z.com>
510
511         * src/main.c,src/lexer.l: apply patches from Dave Dunkin
512           <dunkind@letu.edu> to add all and alltop ccode sections
513           and to add a --no-write,-n option to not actually write
514           any files.  Also did some very cosmetic changes to code
515
516 Mon Feb 07 23:45:04 2000  George Lebl <jirka@5z.com>
517
518         * src/main.c: use the magic /*< private >*/ and /*< public >*/
519           comments to distinguish public and protected data members
520
521 Mon Feb 07 03:02:48 2000  George Lebl <jirka@5z.com>
522
523         * Release 0.92.3
524
525 Mon Feb 07 02:50:11 2000  George Lebl <jirka@5z.com>
526
527         * src/lexer.l: error on multiple classes
528
529         * src/main.c: nicer header output
530
531         * src/{lexer.l,main.c}: Eat out gtk-doc like inline doc entries
532           and stuff them into the output files where appropriate
533
534         * doc/gob.1.in: added docs for gtk-doc like inline doc stuff
535
536         * examples/{README, gtk-button-count.gob}: added inline docs
537
538 Fri Feb 04 01:07:54 2000  George Lebl <jirka@5z.com>
539
540         * src/main.c: use G_GNUC_UNUSED rather then our own macro for a
541           very slightly cleaner looking output file
542
543 2000-01-31  Eskil Heyn Olsen  <deity@eskil.dk>
544
545         * gob.m4: checks for gob binary, GOB_CHECK([version [,
546         action_if_found[, action_if_not_found]]]).  
547
548         * Makefile.am: Install gob in $prefix/share/aclocal
549
550 Thu Jan 27 17:50:11 2000  George Lebl <jirka@5z.com>
551
552         * src/main.c: add #include <stdlib.h>
553
554 Mon Jan 24 22:52:47 2000  George Lebl <jirka@5z.com>
555
556         * Release 0.92.2
557
558 Mon Jan 24 22:23:47 2000  George Lebl <jirka@5z.com>
559
560         * src/main.c: add a protecting define before the object typedef
561
562         * doc/gob.1.in: add docs for the new stuff
563
564 Sun Jan 23 16:19:54 2000  George Lebl <jirka@5z.com>
565
566         * src/{lexer.l,parse.y,tree.[ch],main.c}: make more types of header
567           %{ %} blocks, "headertop" and "privateheader" and made short as
568           well as long names possible.
569
570         * src/main.c: add an --no-extern-c option to not put entern "C" into
571           the output, which is now put in by default even if --for-cpp is
572           on so that it is possible to call those from C by default
573
574 Thu Jan 20 01:50:45 2000  George Lebl <jirka@5z.com>
575
576         * src/main.c: put the _real_ functions in our normal private
577           namespace of ___* to be more consistent.
578
579 Mon Jan 10 00:16:43 2000  George Lebl <jirka@5z.com>
580
581         * src/{main.[ch],util.[ch],checks.[ch]}: offload some functionality to
582           extra files
583
584         * src/main.c: cleanup the generation routine by spliting it up into
585           more functions
586           
587         * src/{main.h,lexer.l,parse.y,out.c}: put some needed externs into the
588           main.h file and include that rather then doing it in the .c files
589
590 Thu Jan 06 18:33:44 2000  George Lebl <jirka@5z.com>
591
592         * src/main.c: use ___ for the signal marshalling typedefs as well
593
594 Thu Jan 06 17:32:46 2000  George Lebl <jirka@5z.com>
595
596         * Release 0.92.1
597
598 Thu Jan 06 17:13:22 2000  George Lebl <jirka@5z.com>
599
600         * src/main.c: be consistent with the use of "namespacing", we
601           prefix ALL internal gob stuff with "___".  This should make it
602           easier to avoid name conflicts with user code and glibc/gcc (Which
603           seems to use __ prefix)
604
605         * src/main.c: check for init and class_init names for non-constructor
606           methods and give an error if found.
607
608         * src/main.c: check argument types and flags for correctness, error
609           on unknown type, but just a warning on unknown flag
610
611         * doc/gob.1.in: add a section for name conflicts
612
613 Wed Jan 05 02:23:21 2000  George Lebl <jirka@5z.com>
614
615         * src/main.c: doh! the symbols for the aliases need to be declared as
616           static.
617
618 Wed Jan 05 02:13:59 2000  George Lebl <jirka@5z.com>
619
620         * src/main.c: just realized that args... for macros is a GNU
621           extention and so the PARENT_HANDLER no longer uses it, but prints
622           the argument names with __ prefixed into the argument list.
623
624 Wed Jan 05 01:58:32 2000  George Lebl <jirka@5z.com>
625
626         * src/main.c: if using gnu c, also define macros using varargs for
627           function aliases.  This should allow the compiler to optimize
628           further and if we have arguments for the defines there are
629           no adverse side effects as there are for straight defines.
630
631 Wed Jan 05 01:48:12 2000  George Lebl <jirka@5z.com>
632
633         * src/main.c: fixup the aliases.  They didn't actually work right.
634           now we set it up as a const pointer to a function using typeof.
635
636 Tue Jan 04 17:57:55 2000  George Lebl <jirka@5z.com>
637
638         * src/lexer.l: add support for 'requires x.y.z' line.  This is
639           so that a .gob file can require at least version x.y.z of gob
640
641         * src/test.gob: update
642
643         * doc/gob.1.in: update for requires and run trhough ispell
644
645 Tue Jan 04 17:10:54 2000  George Lebl <jirka@5z.com>
646
647         * src/main.c: fix the non-gnu aliases
648
649 Tue Jan 04 16:46:16 2000  George Lebl <jirka@5z.com>
650
651         * src/{main.c,parser.y,tree.[ch]}: add optional C type specification
652           to arguments for full type safety 
653
654         * doc/gob.1.in: updated
655
656 Tue Jan 04 15:34:16 2000  George Lebl <jirka@5z.com>
657
658         * src/main.c: --no-gnu option to completely disable any use
659           of GNU C extentions.  This is for those weird people that don't
660           wish to use those extentions even with GNU C.
661
662 Tue Jan 04 14:43:49 2000  George Lebl <jirka@5z.com>
663
664         * src/main.c: use some GNU extentions (guarded with #ifdef __GNUC__)
665           to make arguments fully typesafe, and to make it easier for
666           GNU to optimize the aliases, as well as to avoid the ugly
667           hack on GNU C.
668
669         * src/main.c: don't put #line 0 for the .gob file for method prototypes
670
671         * src/main.c: move the _priv structure freeing into finalize to enable
672           people to work with the private stuff inside the destroy handler
673
674         * src/main.c: use #line before every precondition check so that failed
675           checks should point to the function prototype rather then into
676           generated file.
677
678         * src/main.c: remove the _END_ARG macro
679
680         * src/main.c: add GOB_VERSION_MAJOR, GOB_VERSION_MINOR and
681           GOB_VERSION_PATCHLEVEL defines into the generated C file
682
683         * src/out.c: don't redundantly put #line for outfile if we're already
684           in the outfile
685
686         * configure.in: raise version number
687
688 Tue Jan 04 02:22:33 2000  George Lebl <jirka@5z.com>
689
690         * src/main.c: add argument wrapper macros to make the argument system
691           a little more type safe.
692
693 Fri Dec 31 17:39:22 1999  George Lebl <jirka@5z.com>
694
695         * Release 0.92.0
696
697 Thu Dec 30 20:20:36 1999  George Lebl <jirka@5z.com>
698
699         * src/main.c: correctly handle the complex fundemental types,
700           so that we can handle ALL the fundemental types for signals
701
702 Thu Dec 30 19:29:56 1999  George Lebl <jirka@5z.com>
703
704         * src/main.c: don't use function types for casts in marshallers,
705           but default types we get from our GTK_TYPE_* -> C type translation,
706           and use this fact to check for same function types and combine
707           signal prototypes.  This doesn't yet handle well complex types,
708           but I have an idea how to make complex types work.  Though
709           I dunno if it's actually worth it.
710
711 Thu Dec 30 17:18:27 1999  George Lebl <jirka@5z.com>
712
713         * src/main.c: figure out some types from GTK types and cast properly
714           when emitting a signal.  This catches some inconsistencies in
715           signal func argument lists and the GTK types of the arguments.
716
717 Wed Dec 29 18:04:13 1999  George Lebl <jirka@5z.com>
718
719         * src/parse.y: allow scope, public/private/protected, to come before
720           the signal or virtual keyword for consistency's sake.
721
722 Wed Dec 29 01:39:30 1999  George Lebl <jirka@5z.com>
723
724         * src/{tree.[ch],parser.y}: cleanup scope stuff
725
726         * src/{lexer.l,parser.y,tree.h,main.c}: add protected keyword and
727           methods.  protected methods are put into the -private files and
728           are real exported functions just like public.  protected data
729           members act like pre-0.91.x private datamembers, that is they
730           get stuck into the public header, but marked /* protected */.
731
732         * src/main.c: change the method body printing function so that we
733           can catch the no return warning properly and send us to the .gob
734           file instead of the .c file.
735
736         * src/{parse.y,main.c}: handle empty publics/privates/overrides
737           and handle the body being set to ';' rather then '{}'
738
739         * src/main.c: check for empty nonvoid regular methods, and error out
740           on finding them as that would produce warnings which we can't catch
741           and it is generally bad to do anyway
742
743         * src/{parse.y,tree.[ch],main.c}: use char pointers for C buffers,
744           and kill leading/trailing whitespace from them to make the C files
745           nicer and easier to recognize empty functions.
746
747         * src/main.c: add a --version switch
748
749         * doc/gob.1.in: Update with the above changes
750
751         * configure.in: raise version
752
753 Tue Dec 28 20:49:56 1999  George Lebl <jirka@5z.com>
754
755         * src/main.c: apply patch from ChiDeok Hwang <cdhwang@sr.hei.co.kr>
756           to make the hack function static so that we don't pollute namespace
757
758 Mon Dec 27 19:56:24 1999  George Lebl <jirka@5z.com>
759
760         * Release 0.91.2
761
762 Mon Dec 27 03:00:25 1999  George Lebl <jirka@5z.com>
763
764         * src/main.c: fixup PARENT_HANDLER to work well with non-void
765           functions, the macro becomes an expression if the function is
766           not void and returns the return of the parent or the onerror
767           expression if the function pointer was NULL.
768
769 Mon Dec 27 02:25:32 1999  George Lebl <jirka@5z.com>
770
771         * src/parse.y: allow completely empty classes
772
773         * src/main.c: don't add the ugly hack function if there are no
774           methods
775
776 Mon Dec 27 01:26:26 1999  George Lebl <jirka@5z.com>
777
778         * src/parse.y: fixup the virtual rule as I forgot to shift the
779           argument numbers when adding to the expression
780
781 Mon Dec 27 01:07:14 1999  George Lebl <jirka@5z.com>
782
783         * src/parse.y: add optional public keyword to virtuals and signals,
784           (which doesn't do anything, only consistency). I should perhaps
785           rewrite and simplify this part of the parser
786
787         * src/lexer.l: fix a bug with empty braces producing a segfault
788           on public and private methods
789
790         * doc/gob.1.in: add a section about Constructor methods (init
791           class_init) and fix init_class -> class_init
792
793         * configure.in: raise version to 0.91.2
794
795 Tue Dec 14 00:06:00 1999  George Lebl <jirka@5z.com>
796
797         * Release 0.91.1
798
799 Mon Dec 13 23:25:06 1999  George Lebl <jirka@5z.com>
800
801         * src/{main.c,out.c}: create a private header file and stick
802           the private structure definition inside it.  Add option
803           --no-private-header for 0.91.0 behaviour and
804           --always-private-header to force private header creation
805
806         * doc/gob.1.in: update WRT above changes
807
808         * examples/my-person.gob: include the private header
809
810         * NEWS: update
811
812 Mon Dec 13 18:30:09 1999  George Lebl <jirka@5z.com>
813
814         * src/main.c: don't print spurious #line's into the private
815           structure
816
817         * src/{main.c,tree.[ch],lexer.l,parse.y}: implement support for 
818           array types for data members and function arguments
819
820 Mon Dec 13 00:48:47 1999  George Lebl <jirka@5z.com>
821
822         * Release 0.91.0
823
824 Sun Dec 12 22:55:12 1999  George Lebl <jirka@5z.com>
825
826         * doc/gob.1.in: added paragraph noting that private data members
827           cannot be accessed above the class definition in the .gob file
828
829 Sun Dec 12 22:08:31 1999  George Lebl <jirka@5z.com>
830
831         * src/main.c: implement real private data members as promised in
832           the documentation, this however breaks some compatiblity with
833           things that already used the 'private' keyword for data members
834
835         * doc/gob.1.in: document private data member stuff
836
837         * NEWS: update
838
839         * src/main.c: a couple of sanity checks of the code to prevent weird
840           errors on some broken .gob code
841
842         * configure.in: update version to 0.91.0
843
844 Sun Dec 05 14:20:26 1999  George Lebl <jirka@5z.com>
845
846         * src/{lexer.l,main.c}: if we find the class header #include
847           statement in a %{ %} section above class definition, don't
848           include it ourselves.
849
850         * doc/gob.1.in: remove the note about the include always first from
851           BUGS, and make a new section for the include file.
852
853 Thu Nov 25 13:09:08 1999  George Lebl <jirka@5z.com>
854
855         * Release 0.90.5
856
857 Thu Nov 25 13:00:52 1999  George Lebl <jirka@5z.com>
858
859         * src/main.c: don't error out on a symbol conflict if the types of
860           the symbol node don't match (variable,method)
861
862 Sat Nov 20 16:15:42 1999  George Lebl <jirka@5z.com>
863
864         * src/main.c: add PARENT_HANDLER macro to make calling parent
865           handlers in override functions easier
866
867 Fri Nov 19 16:41:09 1999  George Lebl <jirka@5z.com>
868
869         * src/main.c: add a type macro
870
871 Thu Nov 18 22:56:09 1999  George Lebl <jirka@5z.com>
872
873         * src/parse.y: add a warning check if the number of GTK types of
874           a signal doesn't seem to be correct for the given number of
875           function arguments
876
877 Tue Nov 16 01:23:45 1999  George Lebl <jirka@5z.com>
878
879         * src/main.c: support a "no-touch-headers" mode in which the
880           headers are not touched unless they actually really changed,
881           not on by default as it confuses automake
882
883 Tue Nov 16 00:36:42 1999  George Lebl <jirka@5z.com>
884
885         * src/{main.c,lexer.l,parser.y,out.c}: Implement a C++ mode, get
886           rid of C++ errors/warnings when in C++ mode, and get rid of
887           the 'this' pointer finally (it's been deprecated long enough)
888
889 Mon Nov 15 23:45:37 1999  George Lebl <jirka@5z.com>
890
891         * src/main.c: add prototype for the really bad hack function to
892           avoid warning
893
894 Mon Nov 15 23:42:06 1999  George Lebl <jirka@5z.com>
895
896         * src/main.c: generate correct function pointers in the structure
897           for signals and virtuals.  Also use a much nicer system instead
898           of the method name defines, we now just set a bunch of static
899           pointers, this removes a whole lot of headaches actually
900
901         * doc/gob.1.in: repair to reflect the above (I removed the define
902           BUGS paragraph)
903
904 Sun Nov 14 17:57:34 1999  George Lebl <jirka@5z.com>
905
906         * doc/gob.1.in: repair some things that confused troff and add
907           a C preprocessor warning to BUGS
908
909 Sat Nov 13 17:22:49 1999  George Lebl <jirka@5z.com>
910
911         * **/Makefile.am, configure.in: fix the conditional installation
912           stuff, don't even go into the doc directory if we aren't installing
913
914 Sat Nov 13 16:53:20 1999  George Lebl <jirka@5z.com>
915
916         * doc/gob.1.in: describe BUGS better
917
918 Sat Nov 13 16:20:41 1999  George Lebl <jirka@5z.com>
919
920         * src/lexer.l: don't kill C++ style comments from C blocks
921
922 Sat Nov 13 16:16:59 1999  George Lebl <jirka@5z.com>
923
924         * src/{lexer.l,main.c,out.c}: fixed spurious newline printing, don't
925           kill comments from C blocks so that line counts are right, accept
926           newlines in strings, and don't take \'\"\' as a string delimiter
927
928 Sat Nov 13 14:53:26 1999  George Lebl <jirka@5z.com>
929
930         * src/main.c: don't add gtk_object_class to class_init if we only
931           have non-GtkObject overrides to avoid warning
932
933 Sat Nov 13 14:31:25 1999  George Lebl <jirka@5z.com>
934
935         * configure.in,src/Makefile.am,doc/Makefile.am: check for
936           ../NOINST_GOB and in case it's found don't install self
937
938 Fri Nov 12 16:25:35 1999  George Lebl <jirka@5z.com>
939
940         * configure.in,Makefile.am,src/main.c: don't use popt, our arguments
941           are simple enough and popt doesn't seem to be widely used yet
942
943 Sun Sep 05 22:08:40 1999  George Lebl  <jirka@5z.com>
944
945         * Release 0.90.2
946
947 Sun Sep 05 22:08:33 1999  George Lebl  <jirka@5z.com>
948
949         * doc/gob.1.in: updated for private virtual and signal wrappers
950
951 Sun Sep 05 21:50:19 1999  George Lebl  <jirka@5z.com>
952
953         * configure.in: raise version and actually set POPT_LIB correctly
954
955         * src/Makefile.am: use POPT_LIB
956
957 Sun Sep 05 21:45:54 1999  George Lebl  <jirka@5z.com>
958
959         * src/tree.h,src/main.c,src/parse.y: add support for private signals
960           and virtuals
961
962         * src/parse.y: fix bug with bogus vararg methods
963
964 Sun Sep 04 17:44:37 1999  George Lebl  <jirka@5z.com>
965
966         * Release 0.90.1
967
968 Sat Sep 04 17:18:22 1999  George Lebl  <jirka@5z.com>
969
970         * src/lexer.l,src/parse.y,src/main.c,src/tree.[ch]: support
971           variable arguments for public and private methods
972
973 Sat Sep 04 16:51:11 1999  George Lebl  <jirka@5z.com>
974
975         * lexer.l,parse.y: accept const in parameter lists
976
977 Sun Aug 29 13:46:33 1999  George Lebl  <jirka@5z.com>
978
979         * Release 0.90.0
980
981 Sat Aug 28 23:36:48 1999  George Lebl  <jirka@5z.com>
982
983         * src/main.[ch],parse.y: make error/warning reporting public
984           and use it to report depreciated use of 'this'
985
986 Sat Aug 28 22:41:52 1999  George Lebl  <jirka@5z.com>
987
988         * src/tree.[ch],parse.y,main.c: check for duplicate variables and
989           signals and arguments as well.
990
991 Sat Aug 28 22:00:19 1999  George Lebl  <jirka@5z.com>
992
993         * src/parse.y,src/main.c: change "this" to "self", but accept "this"
994           as well
995
996         * src/main.c: check for duplicate methods, and warn on non-public
997           "new" method
998
999         * configure.in: change to version 0.90.0
1000
1001         * doc/gob.1.in: change this to self
1002
1003 Tue Aug 24 20:37:26 1999  George Lebl  <jirka@5z.com>
1004
1005         * Release 0.0.4
1006
1007 Thu Aug 19 03:18:03 1999  George Lebl  <jirka@5z.com>
1008
1009         * src/main.c: also count overrides to avoid an unused variable on
1010           class_init
1011
1012 Thu Aug 19 03:08:49 1999  George Lebl  <jirka@5z.com>
1013
1014         * src/parse.y: in a check, we can check not only about numbers
1015           but for tokens as well
1016
1017 Wed Aug 18 12:54:17 1999  George Lebl  <jirka@5z.com>
1018
1019         * Release 0.0.3
1020
1021 Tue Aug 17 22:24:47 1999  George Lebl  <jirka@5z.com>
1022
1023         * src/lexer.l,src/parse.y: don't use reserved words for check type
1024           last first and null
1025
1026         * src/{lexer.l,parse.y,tree.[ch],main.c}: add #line's to output
1027           files
1028
1029         * src/out.[ch]: new functions for output so that we can easily add
1030           #line's to files
1031
1032         * src/main.c: fix get/set arguments
1033
1034         * doc/gob.1.in: updated for newer version and spellchecked, also
1035           gob.1 is generated by configure now to get versions correct
1036
1037         * gob.spec.in: added a spec file
1038
1039 Fri Jul 30 02:19:05 1999  George Lebl  <jirka@5z.com>
1040
1041         * src/parse.y: accept simple char types
1042
1043         * src/main.c: make prototypes look better, and don't output arg stuff
1044           when it won't be used
1045
1046         * Makefile,src/Makefile: add test make target
1047