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