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