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