update.
[chise/concord.git] / ChangeLog
1 2013-04-18  MORIOKA Tomohiko  <tomo.git@chise.org>
2
3         * symbol.c (cos_retain_symbol): Don't use `cos_retain_object'
4         recursively.
5         (cos_symbol_p): New function.
6         (cos_symbol_table_intern): Check type of each entry of the hash;
7         use `cos_retain_object' for the returned symbol.
8         (cos_print_symbol_table): New function.
9
10         * cos.c (cos_char_id): Fixed.
11         (cos_release_object): Fixed.
12         (cos_retain_cons): Don't use `cos_retain_object' recursively.
13         (cos_assoc): New function.
14         (cos_alist_get): New function.
15
16 2013-04-18  MORIOKA Tomohiko  <tomo.git@chise.org>
17
18         * read.c (is_delimiter): New function.
19         (cos_read_int): Use `is_delimiter'.
20         (cos_read_string): Fixed.
21         (cos_read_symbol): New function.
22         (cos_read_object): Use `cos_read_symbol' to support symbol.
23
24         * cos.h (cos_symbol_p): New prototype.
25         (cos_assoc): New prototype.
26         (cos_alist_get): New prototype.
27
28         * cos-read.h (cos_read_symbol): New prototype.
29
30 2013-04-17  MORIOKA Tomohiko  <tomo.git@chise.org>
31
32         * read.c (cos_skip_space): New function.
33         (cos_read_int): Fix to support separator.
34         (cos_read_list0): New function.
35         (cos_read_list): New function.
36         (cos_read_object): New function.
37
38         * print.c (cos_print_object): Fix duplicated `?' when printing a
39         character.
40
41         * cos.h (cos_cons_p): New prototype.
42
43         * cos.c (cos_cons_p): New function.
44         (concord_object_get_feature_value): Use `cos_read_object'.
45
46         * cos-read.h (cos_read_list): New prototype.
47         (cos_read_object): New prototype.
48
49 2013-04-16  MORIOKA Tomohiko  <tomo.git@chise.org>
50
51         * symbol.c (cos_make_symbol): Use `cos_retain_object' for
52         `obj->name'.
53         (cos_retain_symbol): New function.
54
55         * cos.c (COS_Object_retain_function_table): New variable.
56         (cos_retain_object): Call a retain-function in
57         `COS_Object_retain_function_table'.
58         (cos_retain_string): New function.
59         (cos_retain_cons): New function.
60         (cos_retain_container): New function.
61         (cos_retain_sexp): New function.
62         (cos_retain_binary): New function.
63         (cos_retain_ds): New function.
64         (cos_retain_genre): New function.
65         (cos_retain_feature): New function.
66         (cos_retain_index): New function.
67         (cos_retain_db_object): New function.
68
69         * cos-i.h (COS_Object_retain_function_table): New variable.
70         (cos_retain_string): New prototype.
71         (cos_retain_symbol): New prototype.
72         (cos_retain_cons): New prototype.
73         (cos_retain_container): New prototype.
74         (cos_retain_sexp): New prototype.
75         (cos_retain_binary): New prototype.
76         (cos_retain_ds): New prototype.
77         (cos_retain_genre): New prototype.
78         (cos_retain_feature): New prototype.
79         (cos_retain_index): New prototype.
80         (cos_retain_db_object): New prototype.
81
82 2013-04-16  MORIOKA Tomohiko  <tomo.git@chise.org>
83
84         * Makefile.in (symbol-test): New target.
85
86 2013-04-16  MORIOKA Tomohiko  <tomo.git@chise.org>
87
88         * name.c (concord_name_table_grow): Release old `table->data'.
89
90         * cos.h: Include <stdlib.h>.
91         (cos_Qnil): New variable.
92         (cos_Qt): New variable.
93         (cos_print_object): New prototype.
94
95         * symbol.c (cos_string_ent_nil): New variable.
96         (cos_symbol_ent_nil): New variable.
97         (cos_Qnil): New variable.
98         (cos_string_ent_t): New variable.
99         (cos_symbol_ent_t): New variable.
100         (cos_Qt): New variable.
101         (cos_intern): Setup `nil' and `t'.
102         (cos_symbol_table_grow): Release old `table->data'.
103
104         * print.c (cos_print_object): New function.
105
106 2013-04-16  MORIOKA Tomohiko  <tomo.git@chise.org>
107
108         * cos.c (COS_Object_release_function_table): Add
109         `cos_release_cons'.
110         (cos_retain_object): Use `COS_OBJECT_P' to check `obj' is a fat
111         object.
112         (cos_release_object): Likewise.
113         (cos_cons): New function.
114         (cos_release_cons): New function.
115         (cos_car): New function.
116         (cos_cdr): New function.
117
118         * cos-i.h (enum COS_Object_Type): Add COS_Object_Type_Cons.
119         (COS_OBJECT_CONS_P): New macro.
120         (struct COS_Cons_ent): New structure.
121         (COS_CAR): New macro.
122         (COS_CDR): New macro.
123         (cos_release_cons): New prototype.
124
125         * cos.h (struct COS_Cons_ent): New structure.
126         (COS_Cons): New type.
127         (cos_cons): New prototype.
128         (cos_car): New prototype.
129         (cos_cdr): New prototype.
130
131 2013-04-15  MORIOKA Tomohiko  <tomo.git@chise.org>
132
133         * cos.c (concord_object_get_feature_value): Use `cos_read_int' to
134         parse integer.
135
136         * read.c: Include <ctype.h>.
137         (cos_read_int): New function.
138
139         * cos-read.h (cos_read_int): New prototype.
140
141 2013-04-14  MORIOKA Tomohiko  <tomo.git@chise.org>
142
143         * cos.c (cos_string_p): New function.
144         (concord_object_get_feature_value): Use `cos_read_char' and
145         `cos_read_string' to parse character and string.
146
147         * read.c (cos_read_string): New function.
148
149         * cos.h (cos_string_p): New prototype.
150
151         * cos-read.h: Include "cos.h".
152         (cos_read_string): New prototype.
153
154 2013-04-06  MORIOKA Tomohiko  <tomo.git@chise.org>
155
156         * cos.c: Include "cos-print.h".
157         (concord_current_env): New variable.
158         (concord_open_env): Setup `concord_current_env'.
159         (concord_object_get_feature_value): New function.
160
161 2013-04-04  MORIOKA Tomohiko  <tomo.git@chise.org>
162
163         * print.c:
164         - Don't include <stdlib.h>.
165         - Include "cos-i.h".
166         (cos_utf8_encode_char): Renamed from `cos_encode_char_as_utf8'.
167         (cos_utf8_print_char): New function.
168
169         * cos-print.h: Include stdlib.h and cos.h.
170         (cos_utf8_encode_char): Renamed from `cos_encode_char_as_utf8'.
171         (cos_utf8_print_char): New prototype.
172
173         * concord.h (concord_object_get_feature_value): New prototype.
174
175 2013-04-02  MORIOKA Tomohiko  <tomo.git@chise.org>
176
177         * print.c: New file.
178
179         * cos-print.h: New file.
180
181         * Makefile.in (OBJS): Add print.lo.
182         (print.lo): New target.
183
184 2013-04-01  MORIOKA Tomohiko  <tomo.git@chise.org>
185
186         * concord.c (struct COS_DS_ent): Delete member `symbol_names'.
187         (concord_open_ds): Delete code to initialize `ds->symbol_names'.
188         (concord_close_ds): Delete code to destroy `ds->symbol_names'.
189
190 2013-03-30  MORIOKA Tomohiko  <tomo.git@chise.org>
191
192         * cos-read.h: New file.
193
194         * cos.h: New file.
195
196         * symbol.c: New file.
197
198         * cos-i.h: New file.
199
200         * cos.c: New file.
201
202         * concord-bdb.c: Move code to include "config.h" into sysdep.h.
203
204         * concord.c:
205         - Move code to include "config.h" into sysdep.h.
206         - Include "cos-i.h".
207         (concord_close_genre): Move prototype into cos-i.h.
208         (concord_close_feature): Likewise.
209         (concord_close_index): Likewise.
210         (struct CONCORD_Object_Header): Renamed to `COS_Object_Header';
211         moved to cos-i.h; add new member `reference_count'.
212         (CONCORD_OBJECT_TYPE_NULL): Renamed to `COS_Object_Type_NULL';
213         moved to cos-i.h; use `enum COS_Object_Type'.
214         (CONCORD_OBJECT_TYPE_C_STRING): Renamed to
215         `COS_Object_Type_C_String'; moved to cos-i.h; use `enum
216         COS_Object_Type'.
217         (CONCORD_OBJECT_TYPE_INT): Renamed to `COS_Object_Type_int'; moved
218         to cos-i.h; use `enum COS_Object_Type'.
219         (CONCORD_OBJECT_TYPE_DS): Renamed to `COS_Object_Type_DS'; moved
220         to cos-i.h; use `enum COS_Object_Type'.
221         (CONCORD_OBJECT_TYPE_GENRE): Renamed to `COS_Object_Type_Genre';
222         moved to cos-i.h; use `enum COS_Object_Type'.
223         (CONCORD_OBJECT_TYPE_FEATURE): Renamed to
224         `COS_Object_Type_Feature'; moved to cos-i.h; use `enum
225         COS_Object_Type'.
226         (CONCORD_OBJECT_TYPE_INDEX): Renamed to
227         `COS_Object_Type_Feature_INDEX'; moved to cos-i.h; use `enum
228         COS_Object_Type'.
229         (CONCORD_OBJECT_TYPE_OBJECT): Renamed to
230         `COS_Object_Type_DB_Object'; moved to cos-i.h; use `enum
231         COS_Object_Type'.
232         (struct CONCORD_DS_Table): Renamed to `struct COS_DS_ent'; add new
233         member `symbol_names'.
234         (concord_open_ds): Use `COS_ALLOCATE_OBJECT'; initialize
235         `ds->symbol_names'.
236         (concord_close_ds): Destroy `ds->symbol_names'.
237         (struct CONCORD_Genre_Table): Renamed to `struct COS_Genre_ent'.
238         (concord_ds_open_genre): Use `COS_ALLOCATE_OBJECT'.
239         (struct CONCORD_Feature_Table): Renamed to `struct
240         COS_Feature_ent'.
241         (concord_genre_open_feature): Use `COS_ALLOCATE_OBJECT'.
242         (struct CONCORD_INDEX_Table): Renamed to `struct
243         COS_Feature_INDEX_ent'.
244         (concord_genre_open_index): Use `COS_ALLOCATE_OBJECT'.
245         (concord_index_get_name): New function.
246         (concord_index_get_genre): New function.
247
248         * concord.h: Include <cos.h>.
249         (CONCORD_Object): Use `COS_Object' instead of `void*' as the type.
250         (COS_DS_ent): Renamed from `CONCORD_DS_Table'.
251         (COS_DS): New type.
252         (CONCORD_DS): Use `COS_DS' instead of `CONCORD_DS_Table*' as the
253         type.
254         (concord_open_env): New prototype.
255         (COS_Genre_ent): Renamed from `CONCORD_Genre_Table'.
256         (COS_Genre): New type.
257         (CONCORD_Genre): Use `COS_Genre' instead of `CONCORD_Genre_Table*'
258         as the type.
259         (concord_get_genre): New prototype.
260         (COS_Feature_ent): Renamed from `CONCORD_Feature_Table'.
261         (COS_Feature): New type.
262         (CONCORD_Feature): Use `COS_Feature' instead of
263         `CONCORD_Feature_Table*' as the type.
264         (concord_get_feature): New prototype.
265         (COS_Feature_INDEX_ent): Renamed from `CONCORD_INDEX_Table'.
266         (COS_Feature_INDEX): New type.
267         (CONCORD_INDEX): Use `COS_Feature_INDEX' instead of
268         `CONCORD_INDEX_Table*' as the type.
269         (concord_get_feature_index): New prototype.
270         (concord_index_get_name): New prototype.
271         (concord_index_get_genre): New prototype.
272         (concord_decode_object): New prototype.
273
274         * sysdep.h: Include "config.h" if `HAVE_CONFIG_H' is defined.
275
276 2013-03-30  MORIOKA Tomohiko  <tomo.git@chise.org>
277
278         * read.c: New file.
279
280 2013-03-29  MORIOKA Tomohiko  <tomo.git@chise.org>
281
282         * Makefile.in (localstatedir): New variable.
283         (CONCORD_DB_PREFIX): New variable.
284         (CONCORD_DB_FORMAT_VERSION): New variable.
285         (CONCORD_DB_DIR): New variable.
286         (CONCORD_SI_DB_DIR): New variable.
287         (CONCORD_CFLAGS): New variable.
288         (HEADERS): Add cos.h.
289         (OBJS): Add cos.lo, symbol.lo and read.lo.
290         (cos.lo): New target.
291         (symbol.lo): New target.
292         (read.lo): New target.
293         (concord.lo): Depend on cos-i.h and cos.h.
294
295 2013-03-22  MORIOKA Tomohiko  <tomo.git@chise.org>
296
297         * name.c (concord_hash_c_string): Use `unsigned long' instead of
298         int' as the type of return value.
299
300 2013-03-21  MORIOKA Tomohiko  <tomo.git@chise.org>
301
302         * config.h.in (SIZEOF_INT): New macro.
303         (SIZEOF_LONG): New macro.
304         (SIZEOF_LONG_LONG): New macro.
305         (SIZEOF_VOID_P): New macro.
306         (BITS_PER_CHAR): New macro.
307
308         * configure.in: Add `AC_CHECK_SIZEOF(int)',
309         `AC_CHECK_SIZEOF(long)', `AC_CHECK_SIZEOF(long long)' and
310         `AC_CHECK_SIZEOF(void *)'.
311
312 2011-10-31  MORIOKA Tomohiko  <tomo.git@chise.org>
313
314         * Makefile.in (ABI_VERSION): Update to 1:0:1.
315
316         * concord.c (struct CONCORD_Object_Header): New structure.
317         (CONCORD_OBJECT_TYPE_NULL): New macro.
318         (CONCORD_OBJECT_TYPE_C_STRING): New macro.
319         (CONCORD_OBJECT_TYPE_INT): New macro.
320         (CONCORD_OBJECT_TYPE_DS): New macro.
321         (CONCORD_OBJECT_TYPE_GENRE): New macro.
322         (CONCORD_OBJECT_TYPE_FEATURE): New macro.
323         (CONCORD_OBJECT_TYPE_INDEX): New macro.
324         (CONCORD_OBJECT_TYPE_OBJECT): New macro.
325         (struct CONCORD_DS_Table): Add new member `header'.
326         (concord_open_ds): Setup ds->header.
327         (struct CONCORD_Genre_Table): Add new member `header'.
328         (concord_ds_open_genre): Setup ds->header.
329         (struct CONCORD_Feature_Table): Add new member `header'.
330         (concord_genre_open_feature): Setup ds->header.
331         (struct CONCORD_INDEX_Table): Add new member `header'.
332         (concord_genre_open_index): Setup ds->header.
333
334 2012-07-07  MORIOKA Tomohiko  <tomo.git@chise.org>
335
336         * configure.in: Support db5 in Fink.
337
338 2012-04-25  MORIOKA Tomohiko  <tomo.git@chise.org>
339
340         * README.en (Reporting Bugs): Modify for
341         chise-{en|ja}@lists.chise.org.
342
343 2012-04-09  MORIOKA Tomohiko  <tomo.git@chise.org>
344
345         * README.en: Remove descriptions about CVS and add description
346         about the new Git repository.
347
348 2012-02-08  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
349
350         * configure.in:
351         - Don't use "AC_CHECK_FUNCS(strnlen)".
352         - When $ac_cv_func_strnlen_working = "yes", define HAVE_STRNLEN.
353
354 2011-08-24  MORIOKA Tomohiko  <tomo@zinbun.kyoto-u.ac.jp>
355
356         * Makefile.in (CFLAGS): Add $(DEFS).
357
358 \f
359 2010-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
360
361         * Concord 0.0.2 released.
362
363         * configure.in: Update version to 0.0.2.
364
365 2008-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * configure.in: Add settings for --with-site-includes=PATH and
368         --with-site-libraries=PATH.
369
370 \f
371 2008-05-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * Concord 0.0.1 released.
374
375 2008-01-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
376
377         * Makefile.in (MKDIR): New variable.
378         (install.h): Make $(INCLUDE_INSTALLDIR).
379         (install.libs): Make $(LIB_INSTALLDIR).
380
381 2006-12-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
382
383         * configure.in: Update version to 0.0.1.
384
385         * Makefile.in (libconcord.la): Specify `-no-undefined' to avoid
386         error on Cygwin [suggested by KAMICHI Koichi <kamichi@fonts.jp>].
387         (concord.lo): Specify `--mode=compile'.
388         (concord-bdb.lo): ditto.
389         (name.lo): ditto.
390         (install.libs): Specify `--mode=install'.
391
392 \f
393 2006-05-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
394
395         * Concord 0.0.0 released.
396
397         * Makefile.in (tar): Fixed.
398
399 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
400
401         * concord.c (concord_ds_open_genre): Use <char*> instead of
402         <unsigned char*> for genre-name.
403         (concord_genre_open_feature): Likewise.
404         (concord_genre_open_index): Use <char*> instead of <unsigned
405         char*> for index-name.
406         (concord_genre_get_feature_0): Use <char*> instead of <unsigned
407         char*> for feature-name.
408         (struct CONCORD_DS_Table): Use <char*> instead of <unsigned char*>
409         for member `location'.
410         (concord_default_read_object): Cast to avoid warning.
411         (concord_open_ds): Use <char*> instead of <unsigned char*> for
412         ds->location.
413         (concord_ds_foreach_genre_name): Use <char*> instead of <unsigned
414         char*> for ds->location; cast to avoid warning.
415         (struct CONCORD_Genre_Table): Use <char*> instead of <unsigned
416         char*> for member `name'.
417         (concord_ds_open_genre): Use <char*> instead of <unsigned char*>
418         for genre-name.
419         (concord_genre_foreach_feature_name): Use <char*> instead of
420         <unsigned char*> for ds->location.
421         (concord_genre_get_feature_0): Use <char*> instead of <unsigned
422         char*> for genre-name.
423         (concord_genre_get_feature): Use <char*> instead of <unsigned
424         char*> for t_name.
425         (struct CONCORD_Feature_Table): Use <char*> instead of <unsigned
426         char*> for member `name'.
427         (concord_genre_open_feature): Use <char*> instead of <unsigned
428         char*> for feature-name.
429         (concord_obj_gets_feature_value): Cast to avoid warning.
430         (struct CONCORD_INDEX_Table): Use <char*> instead of <unsigned
431         char*> for member `name'.
432         (concord_genre_open_index): Use <char*> instead of <unsigned
433         char*> for index-name.
434         (concord_index_strid_put_obj): Cast to avoid warning.
435
436         * name.c, concord-name.h (concord_name_table_put): Use <char*>
437         instead of <unsigned char*> for key.
438         (concord_name_table_get): Likewise.
439
440 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
441
442         * concord-bdb.c, concord-bdb.h (CONCORD_BDB_open): Use <char*>
443         instead of <unsigned char*> for db_dir, genre, key_type and name.
444         (CONCORD_BDB_get): Use <char*> instead of <unsigned char*> for
445         key.
446         (CONCORD_BDB_put): Likewise.
447
448         * concord.c, concord.h (concord_open_ds): Use <char*> instead of
449         <unsigned char*> for location.
450         (concord_ds_location): Likewise.
451         (concord_ds_foreach_genre_name): Use <char*> instead of <unsigned
452         char*> for genre-name.
453         (concord_ds_get_genre): Likewise.
454         (concord_genre_get_name): Likewise.
455         (concord_genre_foreach_feature_name): Likewise.
456         (concord_genre_get_feature): Use <char*> instead of <unsigned
457         char*> for feature-name.
458         (concord_feature_get_name): Likewise.
459         (concord_obj_put_feature_value_str): Use <char*> instead of
460         <unsigned char*> for object-id.
461         (concord_obj_get_feature_value): Likewise.
462         (concord_obj_get_feature_value_string): Likewise.
463         (concord_obj_gets_feature_value): Likewise.
464         (concord_genre_get_index): Use <char*> instead of <unsigned char*>
465         for index-name.
466         (concord_index_strid_put_obj): Use <char*> instead of <unsigned
467         char*> for indexer and object-id.
468         (concord_index_strid_get_obj_string): Use <char*> instead of
469         <unsigned char*> for indexer.
470
471 2006-02-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * README.en: New file.
474
475 2005-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * concord.h (concord_genre_get_name): New prototype.
478         (concord_feature_get_genre): New prototype.
479
480         * concord.c (concord_genre_get_name): New function.
481         (concord_feature_get_genre): New function.
482
483 2005-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * concord.c (concord_ds_set_object_failure): Renamed from
486         `concord_ds_set_object_nil'.
487         (concord_genre_get_feature_0): New function.
488         (concord_genre_get_feature): New implementation; use
489         `concord_genre_get_feature_0'; support feature alias.
490
491 2005-06-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
492
493         * concord.h (concord_ds_set_object_failure): Renamed from
494         `concord_ds_set_object_nil'.
495
496 2005-06-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
497
498         * concord.c, concord.h (concord_obj_put_feature_value_str):
499         Renamed from `concord_stroid_set_feature_str'.
500         (concord_obj_get_feature_value): Renamed from
501         `concord_stroid_get_feature_object'.
502         (concord_obj_get_feature_value_string): Renamed from
503         `concord_stroid_get_feature_string'.
504         (concord_obj_gets_feature_value): Renamed from
505         `concord_stroid_gets_feature'.
506         (concord_feature_foreach_obj_string): Renamed from
507         `concord_feature_foreach_object_string'.
508         (concord_index_strid_get_obj_string): Renamed from
509         `concord_index_strid_get_object_string'.
510         (concord_index_strid_put_obj): Renamed from
511         `concord_index_strid_set_object_str'.
512
513 2005-06-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * concord.c, concord.h (concord_close_ds): Renamed from
516         `CONCORD_DS_close'.
517
518 2005-06-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * concord-bdb.c, concord-bdb.h, concord.c, concord.h: New files.
521
522 2005-06-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * Makefile.in: New file.
525
526 2005-06-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * sysdep.h: New file.
529
530 2005-06-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * aclocal.m4, concord-name.h, config.h.in, configure.in,
533         config.guess, config.sub, install-sh, ltmain.sh, name.c: New
534         files.