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