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