]> git.draconx.ca Git - gob-dx.git/blob - ChangeLog
Release 0.93.1
[gob-dx.git] / ChangeLog
1 Mon Mar 27 12:04:22 2000  George Lebl <jirka@5z.com>
2
3         * src/util.[ch], src/main.c: figure out if we really need the special
4           types, also make a hash for the gtk types instead of linear
5           searching it all the time.
6
7         * src/{lexer.c,checks.c,main.c}: minor fixes and cleanups
8
9 2000-03-21  Eskil Heyn Olsen  <deity@eskil.dk>
10
11         * gob.m4: do not default GOB to no when not found (did that make
12         sense ?)
13         And better error message.
14
15 Mon Mar 20 14:35:35 2000  George Lebl <jirka@5z.com>
16
17         * src/lexer.l: handle single word typenames with an empty namespace
18
19 Sun Mar 05 02:23:04 2000  George Lebl <jirka@5z.com>
20
21         * src/main.c: add #lines around setting default handlers
22
23         * src/parse.y: fix line number for 'destroywith' destructors
24
25 Sat Mar 04 15:33:18 2000  George Lebl <jirka@5z.com>
26
27         * src/checks.c: duplicate name test for arguments and signals is
28           case insensitive now as those could cause trouble
29
30 Mon Feb 28 02:45:27 2000  George Lebl <jirka@5z.com>
31
32         * Release 0.93.0
33
34 Sun Feb 27 20:59:45 2000  George Lebl <jirka@5z.com>
35
36         * src/parse.y,doc/gob.1.in: For stringlink, just return a pointer on
37           get rather then strduping as that is 1) consistent with objectlink
38           and 2) more flexible.
39
40 Sun Feb 27 20:38:19 2000  George Lebl <jirka@5z.com>
41
42         * src/{main.c,tree.[ch],parse.y}: add the arbitrary destruction handler
43           for data members
44
45         * doc/gob.1.in: updated and fixed up
46
47         * configure.in,NEWS,examples/{README,my-person2.gob}: change version
48           to 0.93.0
49
50 Sun Feb 27 18:37:57 2000  George Lebl <jirka@5z.com>
51
52         * NEWS,doc/gob.1.in,examples/{README,my-person.gob,my-person2.gob}:
53           update of docs and examples to include the new features and minor
54           fixups
55
56 Sun Feb 27 04:41:41 2000  George Lebl <jirka@5z.com>
57
58         * src/main.c: make the output nicer for classes with no methods
59           better typechecking in get/set_arg, fix a couple of C++ issues,
60
61         * src/{main.c,parse.y,tree.[ch]}: automatic linking of arguments to
62           data members.  Also alow empty statements inside a class.  Also
63           add automatic data member destruction for pointer data, and
64           automatic initialization for any data member.
65
66         * src/main.[ch],src/out.c: add --no-lines which inhibits printing
67           of #line things to output files
68
69         * doc/gob.1.in: update for the above
70
71 Fri Feb 25 15:21:47 2000  George Lebl <jirka@5z.com>
72
73         * Release 0.92.4
74
75 Fri Feb 25 14:46:51 2000  George Lebl <jirka@5z.com>
76
77         * src/main.c: add SELF casting macros
78
79         * doc/gob.1.in: document the above
80
81 Fri Feb 25 02:29:26 2000  George Lebl <jirka@5z.com>
82
83         * src/main.c,src/tree.[ch],src/parse.y: public signals get
84           GTK_RUN_ACTION added.  Plus an interface for adding additional
85           flags is added.
86
87         * doc/gob.1.in: add docs for the above
88
89 Fri Feb 25 01:37:20 2000  George Lebl <jirka@5z.com>
90
91         * src/main.c: fix trailing comma on the end of the argument enum
92
93 Sun Feb 13 23:54:53 2000  George Lebl <jirka@5z.com>
94
95         * doc/gob.1.in: add doc patch from Dave Dunkin <dunkind@letu.edu>
96
97         * doc/gob.1.in,examples/*.gob: use init(self) to be more consistent
98           in naming
99
100 Sat Feb 12 14:42:15 2000  George Lebl <jirka@5z.com>
101
102         * src/main.c,src/lexer.l: apply patches from Dave Dunkin
103           <dunkind@letu.edu> to add all and alltop ccode sections
104           and to add a --no-write,-n option to not actually write
105           any files.  Also did some very cosmetic changes to code
106
107 Mon Feb 07 23:45:04 2000  George Lebl <jirka@5z.com>
108
109         * src/main.c: use the magic /*< private >*/ and /*< public >*/
110           comments to distinguish public and protected data members
111
112 Mon Feb 07 03:02:48 2000  George Lebl <jirka@5z.com>
113
114         * Release 0.92.3
115
116 Mon Feb 07 02:50:11 2000  George Lebl <jirka@5z.com>
117
118         * src/lexer.l: error on multiple classes
119
120         * src/main.c: nicer header output
121
122         * src/{lexer.l,main.c}: Eat out gtk-doc like inline doc entries
123           and stuff them into the output files where appropriate
124
125         * doc/gob.1.in: added docs for gtk-doc like inline doc stuff
126
127         * examples/{README, gtk-button-count.gob}: added inline docs
128
129 Fri Feb 04 01:07:54 2000  George Lebl <jirka@5z.com>
130
131         * src/main.c: use G_GNUC_UNUSED rather then our own macro for a
132           very slightly cleaner looking output file
133
134 2000-01-31  Eskil Heyn Olsen  <deity@eskil.dk>
135
136         * gob.m4: checks for gob binary, GOB_CHECK([version [,
137         action_if_found[, action_if_not_found]]]).  
138
139         * Makefile.am: Install gob in $prefix/share/aclocal
140
141 Thu Jan 27 17:50:11 2000  George Lebl <jirka@5z.com>
142
143         * src/main.c: add #include <stdlib.h>
144
145 Mon Jan 24 22:52:47 2000  George Lebl <jirka@5z.com>
146
147         * Release 0.92.2
148
149 Mon Jan 24 22:23:47 2000  George Lebl <jirka@5z.com>
150
151         * src/main.c: add a protecting define before the object typedef
152
153         * doc/gob.1.in: add docs for the new stuff
154
155 Sun Jan 23 16:19:54 2000  George Lebl <jirka@5z.com>
156
157         * src/{lexer.l,parse.y,tree.[ch],main.c}: make more types of header
158           %{ %} blocks, "headertop" and "privateheader" and made short as
159           well as long names possible.
160
161         * src/main.c: add an --no-extern-c option to not put entern "C" into
162           the output, which is now put in by default even if --for-cpp is
163           on so that it is possible to call those from C by default
164
165 Thu Jan 20 01:50:45 2000  George Lebl <jirka@5z.com>
166
167         * src/main.c: put the _real_ functions in our normal private
168           namespace of ___* to be more consistent.
169
170 Mon Jan 10 00:16:43 2000  George Lebl <jirka@5z.com>
171
172         * src/{main.[ch],util.[ch],checks.[ch]}: offload some functionality to
173           extra files
174
175         * src/main.c: cleanup the generation routine by spliting it up into
176           more functions
177           
178         * src/{main.h,lexer.l,parse.y,out.c}: put some needed externs into the
179           main.h file and include that rather then doing it in the .c files
180
181 Thu Jan 06 18:33:44 2000  George Lebl <jirka@5z.com>
182
183         * src/main.c: use ___ for the signal marshalling typedefs as well
184
185 Thu Jan 06 17:32:46 2000  George Lebl <jirka@5z.com>
186
187         * Release 0.92.1
188
189 Thu Jan 06 17:13:22 2000  George Lebl <jirka@5z.com>
190
191         * src/main.c: be consistent with the use of "namespacing", we
192           prefix ALL internal gob stuff with "___".  This should make it
193           easier to avoid name conflicts with user code and glibc/gcc (Which
194           seems to use __ prefix)
195
196         * src/main.c: check for init and class_init names for non-constructor
197           methods and give an error if found.
198
199         * src/main.c: check argument types and flags for correctness, error
200           on unknown type, but just a warning on unknown flag
201
202         * doc/gob.1.in: add a section for name conflicts
203
204 Wed Jan 05 02:23:21 2000  George Lebl <jirka@5z.com>
205
206         * src/main.c: doh! the symbols for the aliases need to be declared as
207           static.
208
209 Wed Jan 05 02:13:59 2000  George Lebl <jirka@5z.com>
210
211         * src/main.c: just realized that args... for macros is a GNU
212           extention and so the PARENT_HANDLER no longer uses it, but prints
213           the argument names with __ prefixed into the argument list.
214
215 Wed Jan 05 01:58:32 2000  George Lebl <jirka@5z.com>
216
217         * src/main.c: if using gnu c, also define macros using varargs for
218           function aliases.  This should allow the compiler to optimize
219           further and if we have arguments for the defines there are
220           no adverse side effects as there are for straight defines.
221
222 Wed Jan 05 01:48:12 2000  George Lebl <jirka@5z.com>
223
224         * src/main.c: fixup the aliases.  They didn't actually work right.
225           now we set it up as a const pointer to a function using typeof.
226
227 Tue Jan 04 17:57:55 2000  George Lebl <jirka@5z.com>
228
229         * src/lexer.l: add support for 'requires x.y.z' line.  This is
230           so that a .gob file can require at least version x.y.z of gob
231
232         * src/test.gob: update
233
234         * doc/gob.1.in: update for requires and run trhough ispell
235
236 Tue Jan 04 17:10:54 2000  George Lebl <jirka@5z.com>
237
238         * src/main.c: fix the non-gnu aliases
239
240 Tue Jan 04 16:46:16 2000  George Lebl <jirka@5z.com>
241
242         * src/{main.c,parser.y,tree.[ch]}: add optional C type specification
243           to arguments for full type safety 
244
245         * doc/gob.1.in: updated
246
247 Tue Jan 04 15:34:16 2000  George Lebl <jirka@5z.com>
248
249         * src/main.c: --no-gnu option to completely disable any use
250           of GNU C extentions.  This is for those weird people that don't
251           wish to use those extentions even with GNU C.
252
253 Tue Jan 04 14:43:49 2000  George Lebl <jirka@5z.com>
254
255         * src/main.c: use some GNU extentions (guarded with #ifdef __GNUC__)
256           to make arguments fully typesafe, and to make it easier for
257           GNU to optimize the aliases, as well as to avoid the ugly
258           hack on GNU C.
259
260         * src/main.c: don't put #line 0 for the .gob file for method prototypes
261
262         * src/main.c: move the _priv structure freeing into finalize to enable
263           people to work with the private stuff inside the destroy handler
264
265         * src/main.c: use #line before every precondition check so that failed
266           checks should point to the function prototype rather then into
267           generated file.
268
269         * src/main.c: remove the _END_ARG macro
270
271         * src/main.c: add GOB_VERSION_MAJOR, GOB_VERSION_MINOR and
272           GOB_VERSION_PATCHLEVEL defines into the generated C file
273
274         * src/out.c: don't redundantly put #line for outfile if we're already
275           in the outfile
276
277         * configure.in: raise version number
278
279 Tue Jan 04 02:22:33 2000  George Lebl <jirka@5z.com>
280
281         * src/main.c: add argument wrapper macros to make the argument system
282           a little more type safe.
283
284 Fri Dec 31 17:39:22 1999  George Lebl <jirka@5z.com>
285
286         * Release 0.92.0
287
288 Thu Dec 30 20:20:36 1999  George Lebl <jirka@5z.com>
289
290         * src/main.c: correctly handle the complex fundemental types,
291           so that we can handle ALL the fundemental types for signals
292
293 Thu Dec 30 19:29:56 1999  George Lebl <jirka@5z.com>
294
295         * src/main.c: don't use function types for casts in marshallers,
296           but default types we get from our GTK_TYPE_* -> C type translation,
297           and use this fact to check for same function types and combine
298           signal prototypes.  This doesn't yet handle well complex types,
299           but I have an idea how to make complex types work.  Though
300           I dunno if it's actually worth it.
301
302 Thu Dec 30 17:18:27 1999  George Lebl <jirka@5z.com>
303
304         * src/main.c: figure out some types from GTK types and cast properly
305           when emitting a signal.  This catches some inconsistencies in
306           signal func argument lists and the GTK types of the arguments.
307
308 Wed Dec 29 18:04:13 1999  George Lebl <jirka@5z.com>
309
310         * src/parse.y: allow scope, public/private/protected, to come before
311           the signal or virtual keyword for consistency's sake.
312
313 Wed Dec 29 01:39:30 1999  George Lebl <jirka@5z.com>
314
315         * src/{tree.[ch],parser.y}: cleanup scope stuff
316
317         * src/{lexer.l,parser.y,tree.h,main.c}: add protected keyword and
318           methods.  protected methods are put into the -private files and
319           are real exported functions just like public.  protected data
320           members act like pre-0.91.x private datamembers, that is they
321           get stuck into the public header, but marked /* protected */.
322
323         * src/main.c: change the method body printing function so that we
324           can catch the no return warning properly and send us to the .gob
325           file instead of the .c file.
326
327         * src/{parse.y,main.c}: handle empty publics/privates/overrides
328           and handle the body being set to ';' rather then '{}'
329
330         * src/main.c: check for empty nonvoid regular methods, and error out
331           on finding them as that would produce warnings which we can't catch
332           and it is generally bad to do anyway
333
334         * src/{parse.y,tree.[ch],main.c}: use char pointers for C buffers,
335           and kill leading/trailing whitespace from them to make the C files
336           nicer and easier to recognize empty functions.
337
338         * src/main.c: add a --version switch
339
340         * doc/gob.1.in: Update with the above changes
341
342         * configure.in: raise version
343
344 Tue Dec 28 20:49:56 1999  George Lebl <jirka@5z.com>
345
346         * src/main.c: apply patch from ChiDeok Hwang <cdhwang@sr.hei.co.kr>
347           to make the hack function static so that we don't pollute namespace
348
349 Mon Dec 27 19:56:24 1999  George Lebl <jirka@5z.com>
350
351         * Release 0.91.2
352
353 Mon Dec 27 03:00:25 1999  George Lebl <jirka@5z.com>
354
355         * src/main.c: fixup PARENT_HANDLER to work well with non-void
356           functions, the macro becomes an expression if the function is
357           not void and returns the return of the parent or the onerror
358           expression if the function pointer was NULL.
359
360 Mon Dec 27 02:25:32 1999  George Lebl <jirka@5z.com>
361
362         * src/parse.y: allow completely empty classes
363
364         * src/main.c: don't add the ugly hack function if there are no
365           methods
366
367 Mon Dec 27 01:26:26 1999  George Lebl <jirka@5z.com>
368
369         * src/parse.y: fixup the virtual rule as I forgot to shift the
370           argument numbers when adding to the expression
371
372 Mon Dec 27 01:07:14 1999  George Lebl <jirka@5z.com>
373
374         * src/parse.y: add optional public keyword to virtuals and signals,
375           (which doesn't do anything, only consistency). I should perhaps
376           rewrite and simplify this part of the parser
377
378         * src/lexer.l: fix a bug with empty braces producing a segfault
379           on public and private methods
380
381         * doc/gob.1.in: add a section about Constructor methods (init
382           class_init) and fix init_class -> class_init
383
384         * configure.in: raise version to 0.91.2
385
386 Tue Dec 14 00:06:00 1999  George Lebl <jirka@5z.com>
387
388         * Release 0.91.1
389
390 Mon Dec 13 23:25:06 1999  George Lebl <jirka@5z.com>
391
392         * src/{main.c,out.c}: create a private header file and stick
393           the private structure definition inside it.  Add option
394           --no-private-header for 0.91.0 behaviour and
395           --always-private-header to force private header creation
396
397         * doc/gob.1.in: update WRT above changes
398
399         * examples/my-person.gob: include the private header
400
401         * NEWS: update
402
403 Mon Dec 13 18:30:09 1999  George Lebl <jirka@5z.com>
404
405         * src/main.c: don't print spurious #line's into the private
406           structure
407
408         * src/{main.c,tree.[ch],lexer.l,parse.y}: implement support for 
409           array types for data members and function arguments
410
411 Mon Dec 13 00:48:47 1999  George Lebl <jirka@5z.com>
412
413         * Release 0.91.0
414
415 Sun Dec 12 22:55:12 1999  George Lebl <jirka@5z.com>
416
417         * doc/gob.1.in: added paragraph noting that private data members
418           cannot be accessed above the class definition in the .gob file
419
420 Sun Dec 12 22:08:31 1999  George Lebl <jirka@5z.com>
421
422         * src/main.c: implement real private data members as promised in
423           the documentation, this however breaks some compatiblity with
424           things that already used the 'private' keyword for data members
425
426         * doc/gob.1.in: document private data member stuff
427
428         * NEWS: update
429
430         * src/main.c: a couple of sanity checks of the code to prevent weird
431           errors on some broken .gob code
432
433         * configure.in: update version to 0.91.0
434
435 Sun Dec 05 14:20:26 1999  George Lebl <jirka@5z.com>
436
437         * src/{lexer.l,main.c}: if we find the class header #include
438           statement in a %{ %} section above class definition, don't
439           include it ourselves.
440
441         * doc/gob.1.in: remove the note about the include always first from
442           BUGS, and make a new section for the include file.
443
444 Thu Nov 25 13:09:08 1999  George Lebl <jirka@5z.com>
445
446         * Release 0.90.5
447
448 Thu Nov 25 13:00:52 1999  George Lebl <jirka@5z.com>
449
450         * src/main.c: don't error out on a symbol conflict if the types of
451           the symbol node don't match (variable,method)
452
453 Sat Nov 20 16:15:42 1999  George Lebl <jirka@5z.com>
454
455         * src/main.c: add PARENT_HANDLER macro to make calling parent
456           handlers in override functions easier
457
458 Fri Nov 19 16:41:09 1999  George Lebl <jirka@5z.com>
459
460         * src/main.c: add a type macro
461
462 Thu Nov 18 22:56:09 1999  George Lebl <jirka@5z.com>
463
464         * src/parse.y: add a warning check if the number of GTK types of
465           a signal doesn't seem to be correct for the given number of
466           function arguments
467
468 Tue Nov 16 01:23:45 1999  George Lebl <jirka@5z.com>
469
470         * src/main.c: support a "no-touch-headers" mode in which the
471           headers are not touched unless they actually really changed,
472           not on by default as it confuses automake
473
474 Tue Nov 16 00:36:42 1999  George Lebl <jirka@5z.com>
475
476         * src/{main.c,lexer.l,parser.y,out.c}: Implement a C++ mode, get
477           rid of C++ errors/warnings when in C++ mode, and get rid of
478           the 'this' pointer finally (it's been deprecated long enough)
479
480 Mon Nov 15 23:45:37 1999  George Lebl <jirka@5z.com>
481
482         * src/main.c: add prototype for the really bad hack function to
483           avoid warning
484
485 Mon Nov 15 23:42:06 1999  George Lebl <jirka@5z.com>
486
487         * src/main.c: generate correct function pointers in the structure
488           for signals and virtuals.  Also use a much nicer system instead
489           of the method name defines, we now just set a bunch of static
490           pointers, this removes a whole lot of headaches actually
491
492         * doc/gob.1.in: repair to reflect the above (I removed the define
493           BUGS paragraph)
494
495 Sun Nov 14 17:57:34 1999  George Lebl <jirka@5z.com>
496
497         * doc/gob.1.in: repair some things that confused troff and add
498           a C preprocessor warning to BUGS
499
500 Sat Nov 13 17:22:49 1999  George Lebl <jirka@5z.com>
501
502         * **/Makefile.am, configure.in: fix the conditional installation
503           stuff, don't even go into the doc directory if we aren't installing
504
505 Sat Nov 13 16:53:20 1999  George Lebl <jirka@5z.com>
506
507         * doc/gob.1.in: describe BUGS better
508
509 Sat Nov 13 16:20:41 1999  George Lebl <jirka@5z.com>
510
511         * src/lexer.l: don't kill C++ style comments from C blocks
512
513 Sat Nov 13 16:16:59 1999  George Lebl <jirka@5z.com>
514
515         * src/{lexer.l,main.c,out.c}: fixed spurious newline printing, don't
516           kill comments from C blocks so that line counts are right, accept
517           newlines in strings, and don't take \'\"\' as a string delimiter
518
519 Sat Nov 13 14:53:26 1999  George Lebl <jirka@5z.com>
520
521         * src/main.c: don't add gtk_object_class to class_init if we only
522           have non-GtkObject overrides to avoid warning
523
524 Sat Nov 13 14:31:25 1999  George Lebl <jirka@5z.com>
525
526         * configure.in,src/Makefile.am,doc/Makefile.am: check for
527           ../NOINST_GOB and in case it's found don't install self
528
529 Fri Nov 12 16:25:35 1999  George Lebl <jirka@5z.com>
530
531         * configure.in,Makefile.am,src/main.c: don't use popt, our arguments
532           are simple enough and popt doesn't seem to be widely used yet
533
534 Sun Sep 05 22:08:40 1999  George Lebl  <jirka@5z.com>
535
536         * Release 0.90.2
537
538 Sun Sep 05 22:08:33 1999  George Lebl  <jirka@5z.com>
539
540         * doc/gob.1.in: updated for private virtual and signal wrappers
541
542 Sun Sep 05 21:50:19 1999  George Lebl  <jirka@5z.com>
543
544         * configure.in: raise version and actually set POPT_LIB correctly
545
546         * src/Makefile.am: use POPT_LIB
547
548 Sun Sep 05 21:45:54 1999  George Lebl  <jirka@5z.com>
549
550         * src/tree.h,src/main.c,src/parse.y: add support for private signals
551           and virtuals
552
553         * src/parse.y: fix bug with bogus vararg methods
554
555 Sun Sep 04 17:44:37 1999  George Lebl  <jirka@5z.com>
556
557         * Released 0.90.1
558
559 Sat Sep 04 17:18:22 1999  George Lebl  <jirka@5z.com>
560
561         * src/lexer.l,src/parse.y,src/main.c,src/tree.[ch]: support
562           variable arguments for public and private methods
563
564 Sat Sep 04 16:51:11 1999  George Lebl  <jirka@5z.com>
565
566         * lexer.l,parse.y: accept const in parameter lists
567
568 Sun Aug 29 13:46:33 1999  George Lebl  <jirka@5z.com>
569
570         * Release 0.90.0
571
572 Sat Aug 28 23:36:48 1999  George Lebl  <jirka@5z.com>
573
574         * src/main.[ch],parse.y: make error/warning reporting public
575           and use it to report depreciated use of 'this'
576
577 Sat Aug 28 22:41:52 1999  George Lebl  <jirka@5z.com>
578
579         * src/tree.[ch],parse.y,main.c: check for duplicate variables and
580           signals and arguments as well.
581
582 Sat Aug 28 22:00:19 1999  George Lebl  <jirka@5z.com>
583
584         * src/parse.y,src/main.c: change "this" to "self", but accept "this"
585           as well
586
587         * src/main.c: check for duplicate methods, and warn on non-public
588           "new" method
589
590         * configure.in: change to version 0.90.0
591
592         * doc/gob.1.in: change this to self
593
594 Tue Aug 24 20:37:26 1999  George Lebl  <jirka@5z.com>
595
596         * Release 0.0.4
597
598 Thu Aug 19 03:18:03 1999  George Lebl  <jirka@5z.com>
599
600         * src/main.c: also count overrides to avoid an unused variable on
601           class_init
602
603 Thu Aug 19 03:08:49 1999  George Lebl  <jirka@5z.com>
604
605         * src/parse.y: in a check, we can check not only about numbers
606           but for tokens as well
607
608 Wed Aug 18 12:54:17 1999  George Lebl  <jirka@5z.com>
609
610         * Released 0.0.3
611
612 Tue Aug 17 22:24:47 1999  George Lebl  <jirka@5z.com>
613
614         * src/lexer.l,src/parse.y: don't use reserved words for check type
615           last first and null
616
617         * src/{lexer.l,parse.y,tree.[ch],main.c}: add #line's to output
618           files
619
620         * src/out.[ch]: new functions for output so that we can easily add
621           #line's to files
622
623         * src/main.c: fix get/set arguments
624
625         * doc/gob.1.in: updated for newer version and spellchecked, also
626           gob.1 is generated by configure now to get versions correct
627
628         * gob.spec.in: added a spec file
629
630 Fri Jul 30 02:19:05 1999  George Lebl  <jirka@5z.com>
631
632         * src/parse.y: accept simple char types
633
634         * src/main.c: make prototypes look better, and don't output arg stuff
635           when it won't be used
636
637         * Makefile,src/Makefile: add test make target
638