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