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