Beginnings of write support.
[gedcom-parse.git] / ChangeLog
1 2002-12-01  Peter Verthez  <Peter.Verthez@advalvas.be>
2
3         * gedcom/encoding.c (to_internal): Use the conv_buffer interface
4         from utf8/utf8-convert.c.
5
6 2002-11-30  Peter Verthez  <Peter.Verthez@advalvas.be>
7
8         * utf8/utf8-convert.c: More general conversion interface (extracted
9         from utf8-locale.c and gedcom/encoding.c).
10
11 2002-11-24  Peter Verthez  <Peter.Verthez@advalvas.be>
12
13         * gedcom/message.c: Extracted safe buffer mechanism to message.c
14         for reuse.
15
16 2002-11-22  Peter Verthez  <Peter.Verthez@advalvas.be>
17
18         * gom/gom_modify.c: Check whether given strings are valid.
19
20         * utf8/utf8.c: Functions for checking UTF-8 strings and computing
21         length.
22
23 2002-11-04  Peter Verthez  <Peter.Verthez@advalvas.be>
24
25         * gedcom/multilex.c, all: Use dgettext instead of gettext => no more
26         need of textdomain().
27
28 2002-11-03  Peter Verthez  <Peter.Verthez@advalvas.be>
29
30         * gedcom/multilex.c (gedcom_parse_file): Move setlocale call to
31         gedcom_init, make strdup of saved textdomain (to avoid corruption).
32
33         * all: Removed support for dmalloc (valgrind is much better and doesn't
34         require changing the sources).
35
36         * m4/gedcom.m4: Added m4 macro for configure.in support.
37
38 2002-11-01  Peter Verthez  <Peter.Verthez@advalvas.be>
39
40         * gedcom/gedcom_*.lex: A pointer with only one character between the
41         at signs is also valid.
42
43         * gedcom/xref.c (is_valid_pointer): New function (also checks for
44         maximum size).
45
46         * include/gom.h: Added links to the definitions in the Gedcom standard.
47
48         * all: update of documentation
49
50 2002-10-30  Peter Verthez  <Peter.Verthez@advalvas.be>
51
52         * gedcom/gedcom_lex_common.c, gedcom/multilex.c: Fix for line numbering
53         bug (bug 613480).
54
55 2002-10-28  Peter Verthez  <Peter.Verthez@advalvas.be>
56
57         * release 0.17.2
58           This is another test release
59
60 2002-10-27  Peter Verthez  <Peter.Verthez@advalvas.be>
61
62         * gedcom/Makefile.am: Put generated lex and yacc files also in dist.
63
64         * doc/Makefile.am: Put generated file gomxref.html also in dist (so
65         perl isn't needed at make-time).
66
67         * utf8/utf8-locale.c (convert_utf8_to_locale): Set conv_fails on total
68         conversion failure too.
69
70         * all: Further small portability fixes.
71
72 2002-10-26  Peter Verthez  <Peter.Verthez@advalvas.be>
73
74         * t/output/*: Reference output for the tests; compare the actual test
75         output to these files.
76
77 2002-10-23  Peter Verthez  <Peter.Verthez@advalvas.be>
78
79         * Makefile.inc: Portability fix: 'if ! diff ...' isn't always supported
80         by sh.
81
82         * include/Makefile.am: Portability fix: grep isn't always understanding
83         full regex syntax.
84
85         * utf8/Makefile.am, configure.in: Only link in libcharset if libiconv
86         is not used.
87
88 2002-10-21  Peter Verthez  <Peter.Verthez@advalvas.be>
89
90         * all: Further portability fixes to Makefile.am and such.
91
92 2002-10-20  Peter Verthez  <Peter.Verthez@advalvas.be>
93
94         * */Makefile.am: Fixes for using included gettext.
95
96         * intl/Makefile.in: Hack for generating libtool convenience library
97         instead of shared library.
98
99         * README: Modify at dist instead of via configure.in (GNU make is used
100         anyway).
101
102         * intl/*: Upgraded to gettext 0.10.38 (to have extra functions, such
103         as bind_textdomain_codeset).
104
105 2002-10-14  Peter Verthez  <Peter.Verthez@advalvas.be>
106
107         * gedcom/encoding.c (to_internal): Add ICONV_CONST for portability.
108
109         * utf8/utf8-locale.c: Add forgotten header string.h
110
111 2002-10-13  Peter Verthez  <Peter.Verthez@advalvas.be>
112
113         * Makefile: Require GNU make to be used -> normal makefile is then
114         GNUmakefile in top directory.
115
116         * README, doc/index.html: Generate from *.in via configure (for
117         portability).
118
119         * utf8/utf8-locale.c, utf8/libcharset/: Use locale_charset instead of
120         nl_langinfo directly, for portability.
121
122 2002-10-05  Peter Verthez  <Peter.Verthez@advalvas.be>
123
124         * release 0.17.1
125           This is a test release
126
127 2002-10-04  Peter Verthez  <Peter.Verthez@advalvas.be>
128
129         * iconv/libiconv/*: libiconv changes for ANSEL encoding.
130
131 2002-10-01  Peter Verthez  <Peter.Verthez@advalvas.be>
132
133         * ansel/ANSI_Z39.47.c: Fixes to ansel decoding and (mostly) encoding.
134
135 2002-09-28  Peter Verthez  <Peter.Verthez@advalvas.be>
136
137         * all: Portability fixes and support for libiconv.
138
139 2002-09-22  Peter Verthez  <Peter.Verthez@advalvas.be>
140
141         * gedcom/xref.c, include/gedcom.h.in: Added functions to retrieve, add,
142         link/unlink and delete cross-references.
143
144         * gedcom/gedcom_1byte.lex, gedcom/gedcom_lex_common.c: Added a function
145         to check whether a (UTF-8) string is a valid token; bypass iconv
146         conversion for this.
147
148         * gedcom/*: Fixed memory leaks reported by valgrind.
149
150 2002-09-21  Peter Verthez  <Peter.Verthez@advalvas.be>
151
152         * t/standalone.c: Close outfile *after* the last output is done...
153
154         * gedcom/gedcom_*.lex, gedcom/gedcom_lex_common.c: Workaround for
155         memory leak in flex.
156
157         * gedcom/encoding.c: Clean up environment at exit.
158
159 2002-09-15  Peter Verthez  <Peter.Verthez@advalvas.be>
160
161         * gedcom.h.in, gedcom/*, gom/*: Take care of const correctness.
162
163 2002-09-13  Peter Verthez  <Peter.Verthez@advalvas.be>
164
165         * include/gom.h: Add include file to be able to recognize __BEGIN_DECLS
166
167         * doc/make_gom_xref: Corrected 'Generated from' string.
168
169 2002-09-12  Peter Verthez  <Peter.Verthez@advalvas.be>
170
171         * release 0.17
172
173         * gedcom/gedcom_lex_common.c, gedcom/interface.c, gedcom/message.c:
174         Fixes for internationalization.
175
176         * doc/make_gom_xref, doc/usage.html: Documentation for the gedcom
177         object model.
178
179 2002-09-09  Peter Verthez  <Peter.Verthez@advalvas.be>
180
181         * gom/*: First check-in of gedcom object model.
182
183 2002-09-08  Peter Verthez  <Peter.Verthez@advalvas.be>
184
185         * all: More thorough error checking on library calls.
186
187 2002-09-01  Peter Verthez  <Peter.Verthez@advalvas.be>
188
189         * gedcom/gedcom.y: Use XREF_ANY for an association instead of XREF_INDI
190
191         * include/gedcom.h.in, gedcom/xref.c: Added XREF_ANY for when type of
192         xref_value is not known yet.  Added function gedcom_get_by_xref.
193
194 2002-08-28  Peter Verthez  <Peter.Verthez@advalvas.be>
195
196         * gedcom/interface.c: A little more checking (for duplicate
197         registration).
198
199         * gedcom/age.c, gedcom/age.h, gedcom/gedcom.y, include/gedcom.h,
200         t/standalone.c:
201         Parsing age values.
202
203 2002-08-25  Peter Verthez  <Peter.Verthez@advalvas.be>
204
205         * gedcom/xref.c: Clean up xref table at exit (not after check), or when
206         new file is parsed.
207
208         * include/gedcom.h.in, gedcom/interface.c, t/standalone.c: Added
209         extra argument to callback functions: the record/element identifier.
210
211 2002-08-16  Peter Verthez  <Peter.Verthez@advalvas.be>
212
213         * gedcom/compat.*, gedcom/gedcom.y: Moved all compatibility handling
214         functions to compat.c; let default charset depend on the program.
215
216         * t/test_script: Check for a core file.
217
218         * release 0.16
219
220         * t/dates.test, t/encoding_error.test: New tests.
221
222         * t/utf8-locale.c: Remove conversion warning at compilation.
223
224         * t/test_script: Enhancements to use script outside 'make check'.
225
226         * t/standalone.c, t/bogus.test: Parse bogus file only if enabled
227         via option.
228
229         * t/Makefile.am: Added rule to be able to perform single tests.
230
231         * gedcom/encoding.c, gedcom/gedcom_lex_common.c: Handle illegal
232         characters in to_internal (to avoid crashes).
233
234         * Lots of files: Add compability for Lifelines.
235
236         * Makefile.inc, gedcom/Makefile.am, gedcom/gedcom_lex_common.c,
237         gedcom/gedcom_date.lex:
238         Added rule that can help to avoid unnecessary recompilation of lex
239         files.  It generates a new include file only when necessary: use this
240         one in lex files.
241
242 2002-04-08  Peter Verthez  <Peter.Verthez@advalvas.be>
243
244         * t/minimal.test: Added test on a minimal GEDCOM file.
245
246 2002-03-27  Peter Verthez  <Peter.Verthez@advalvas.be>
247
248         * release 0.15
249
250         * gedcom/multilex.c: Make the use of gedcom_init() mandatory.
251
252 2002-03-17  Peter Verthez  <Peter.Verthez@advalvas.be>
253
254         * gedcom/gedcom.y: Graceful error handling on bogus input.
255
256         * t/path1.test, t/path2.test, t/pathtest.c: New tests (for the
257         GCONV_PATH environment variable).
258
259         * Moved the test program to the t subdirectory.
260
261         * standalone.c, doc/usage.html: Use of the gedcom_init() function.
262
263         * gedcom/multilex.c, gedcom/encoding.*: Added gedcom_init() function
264         to avoid problem with GCONV_PATH environment variable (see note in
265         gedcom/encoding.c).
266
267 2002-01-22  Peter Verthez  <Peter.Verthez@advalvas.be>
268
269         * gedcom/gedcom.y, gedcom/compat.c, gedcom/compat.h: Added
270         compatibility handling for ftree.
271
272 2002-01-20  Peter Verthez  <Peter.Verthez@advalvas.be>
273
274         * release 0.14
275
276         * restructured the test setup
277
278 2002-01-19  Peter Verthez  <Peter.Verthez@advalvas.be>
279
280         * gedcom.h: Renamed to gedcom.h.in: at configure, the VERSION
281         variables are substituted and the file gedcom.h is written
282
283         * utf8-locale.c: Added parameter to conversion from UTF-8 to locale,
284         to return number of conversion failures.
285
286 2002-01-16  Peter Verthez  <Peter.Verthez@advalvas.be>
287
288         * gedcom/xref.c: Make sure that the 'string' member of an xref always
289         contains a valid string.
290
291         * gedcom/gedcom.y: in use of INVALID_TAG: tag is struct instead of
292         simple string.
293
294         * gedcom/multilex.c (gedcom_parse_file): setlocale returns a string
295         in static storage, so must use strdup and free afterwards.
296
297 2002-01-15  Peter Verthez  <Peter.Verthez@advalvas.be>
298
299         * gedcom/encoding.c: Separate the modification of GCONV_PATH from the
300         rest of the initialization, and let it be called before main (necessary
301         because iconv_open will only look at GCONV_PATH once, and e.g. GTK
302         calls iconv_open very early).
303
304         * gedcom/gedcom.y: Don't allow the parser to continue if the conversion
305         context couldn't be opened, even if IGNORE_ERRORS.
306
307         * gedcom/multilex.c (gedcom_parse_file): Save the old locale (in case
308         the application had set it).
309
310 2002-01-13  Peter Verthez  <Peter.Verthez@advalvas.be>
311
312         * utf8-locale.c: Example implementation for conversion UTF-8 to
313         locale.
314
315 2002-01-12  Peter Verthez  <Peter.Verthez@advalvas.be>
316
317         * more documentation...
318
319 2002-01-10  Peter Verthez  <Peter.Verthez@advalvas.be>
320
321         * doc/parser.html: Start of character set explanation.
322
323         * enhancements to Makefiles for documentation.
324
325         * gedcom/Makefile.am, gedcom/gedcom_lex_common.c: Some bugfixes for the
326         standalone lexers.
327
328 2002-01-05  Peter Verthez  <Peter.Verthez@advalvas.be>
329
330         * release 0.13
331
332         * xref.*, gedcom.y, gedcom.h: Parse and process cross-references.
333
334         * encoding.c: Bugfixes in using the hash implementation of kazlib.
335
336         * interface.h: Add a variable to the GEDCOM_MAKE_* macros, to be able
337         to have two of these macros in one statement.  Move GEDCOM_MAKE_DATE
338         to date.h.
339
340 2002-01-03  Peter Verthez  <Peter.Verthez@advalvas.be>
341
342         * gedcom.y: Bugfix for context handling of tags that are grouped in
343         the yacc file.
344
345         * gedcom.y, gedcom.h, standalone.c, interface.*: Record can also
346         have a value (e.g. the NOTE record), so extra value necessary on
347         start record callback.
348
349         * gedcom.y: Correct value of NOTE element (opt_line_item was missing
350         an action).
351
352 2002-01-02  Peter Verthez  <Peter.Verthez@advalvas.be>
353
354         * lots of files: Pass the parsed tag value (integer) together with
355         the string value in the callbacks.  For this, a separate header is
356         auto-generated, containing the #defines from bison.
357
358         * t/test_script: Return exit code from testgedcom.
359
360         * gedcom/hash.*, gedcom/encoding.*: Use hash implementation from
361         kazlib (see AUTHORS for pointer).
362
363 2001-12-31  Peter Verthez  <Peter.Verthez@advalvas.be>
364
365         * release 0.12
366
367 2001-12-30  Peter Verthez  <Peter.Verthez@advalvas.be>
368
369         * all: Added some initial documentation.
370
371         * gedcom/gedcom.y: Completed the calling of callbacks.
372
373 2001-12-29  Peter Verthez  <Peter.Verthez@advalvas.be>
374
375         * gedcom/gedcom_date.y: Added graceful fallback for date parse errors:
376         put everything as a 'date phrase'.
377
378 2001-12-28  Peter Verthez  <Peter.Verthez@advalvas.be>
379
380         * gedcom_date.*, date.*: Parsing dates via a separate yacc parser.
381
382         * gedcom/calendar/*: Calendar routines by Scott E. Lee
383
384         * gedcom.y: Added some more callbacks (not complete yet)
385
386 2001-12-23  Peter Verthez  <Peter.Verthez@advalvas.be>
387
388         * include/gedcom.h: Add some declarations so that the external header
389         can be used in C++ programs.
390
391 2001-12-22  Peter Verthez  <Peter.Verthez@advalvas.be>
392
393         * Makefile.am, gedcom/Makefile.am: Don't link libgedcom with libintl:
394         leave that to the applications.
395
396 2001-12-15  Peter Verthez  <Peter.Verthez@advalvas.be>
397
398         * release 0.11
399         Moved CVS repository to sourceforge.net (project gedcom-parse)
400
401 2001-12-10  Peter Verthez  <Peter.Verthez@advalvas.be>
402
403         * all: Use of gettext.
404
405         * gedcom/Makefile.am: Support for the lexer test programs.
406
407         * all: Moved to LGPL license.
408
409 2001-12-09  Peter Verthez  <Peter.Verthez@advalvas.be>
410
411         * gedcom/encoding.c (init_encodings): Put data directory of libgedcom
412         in the GCONV_PATH environment variable (for the ANSEL encoding).
413
414         * release 0.10
415
416         * all: Full move to autoconf/automake.
417
418 2001-12-08  Peter Verthez  <Peter.Verthez@advalvas.be>
419
420         * all: Further specification of interface: message handler.
421         Start of specification of callbacks.
422
423 2001-12-03  Peter Verthez  <Peter.Verthez@advalvas.be>
424
425         * Uploaded release 0.9 to genes at SourceForge.
426
427 2001-12-02  Peter Verthez  <Peter.Verthez@advalvas.be>
428
429         * release 0.9
430
431         * gedcom.h, Makefile: Add dmalloc testability.
432
433         * all: Reset the state properly for parsing new files.
434
435         * release 0.8
436
437         * encoding.c: Specify explicitly the output buffer for to_internal:
438         used to put pointers and tags in different output buffer.
439
440         * gedcom_lex_common.c: New file containing all lex actions (is common
441           for all lexers).  Better checks for maximum lengths.
442
443 2001-12-01  Peter Verthez  <Peter.Verthez@advalvas.be>
444
445         * gedcom_*.lex: Return level number together with OPEN token.
446
447 2001-11-27  Peter Verthez  <Peter.Verthez@advalvas.be>
448
449         * gedcom.enc: Adapt default iconv encoding names (to also support
450         glibc-2.1.x).
451
452 2001-11-25  Peter Verthez  <Peter.Verthez@advalvas.be>
453
454         * all: added proper copyright notice (copyright to the Genes
455         Development Team)
456
457         * release 0.7
458           Uploaded to genes at SourceForge.
459
460         * all: general cleanup, making sure everything is in CVS
461
462 2001-11-24  Peter Verthez  <Peter.Verthez@advalvas.be>
463
464         * release 0.6
465
466         * ANSEL decoding added.
467
468 2001-11-23  Peter Verthez  <Peter.Verthez@advalvas.be>
469
470         * release 0.5
471
472         * Now with encoding mapping via configuration file.
473
474 2001-11-16  Peter Verthez  <Peter.Verthez@advalvas.be>
475
476         * release 0.4
477
478         * Now with full unicode support.
479
480 2001-11-04  Peter Verthez  <Peter.Verthez@advalvas.be>
481
482         * release 0.3
483
484         * Compatibility mode implemented.
485
486 2001-11-01  Peter Verthez  <Peter.Verthez@advalvas.be>
487
488         * release 0.2
489
490         * Now with full error handling of tags and subtags.
491
492         * release 0.1
493
494         * Now covering the entire GEDCOM spec, without error handling.
495