+2013-05-17 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * cos.c (concord_decode_object): Use `index->decoding_table' as a
+ decoding cache.
+ (concord_object_get_feature_value): Retain `object' too.
+
+2013-05-02 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * Makefile.in (LDFLAGS): New variable.
+ (libconcord.la): Use `LDFLAGS'.
+
+2013-04-24 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * concord.c (struct COS_Feature_INDEX_ent): Moved to cos-i.h.
+ (concord_genre_open_index): Reset `table->decoding_table'.
+
+ * cos-i.h (struct COS_Feature_INDEX_ent): Moved from concord.c;
+ add new member `decoding_table'.
+
+2013-04-23 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * Makefile.in (OBJS): Add cos-hash.lo.
+ (cos.lo): Add `cos-hash.h' as a dependency.
+ (symbol.lo): Likewise.
+ (concord.lo): Likewise.
+ (name.lo): Add `hash-i.h' as a dependency.
+ (cos-hash.lo): New target.
+ (hash-test): New target.
+
+ * cos.c (cos_release_object): Fixed.
+ (concord_object_get_feature_value): Use `fobj->value_table' as an
+ object cache.
+
+ * cos-i.h: Include "cos-hash.h".
+ (struct COS_Feature_ent): Moved from concord.c.
+
+ * concord.c: Include "cos-hash.h".
+ (struct COS_Feature_ent): Moved to cos-i.h.
+ (concord_genre_open_feature): Setup `table->value_table'.
+
+ * hash-test.c: New file.
+
+ * cos-hash.h: New file.
+
+ * cos-hash.c: New file.
+
+ * hash-i.h: New file.
+
+ * name.c: Include "hash-i.h".
+ (struct CONCORD_HASH_TABLE_ENTRY): Moved to hash-i.h.
+ (struct CONCORD_HASH_TABLE): Ditto.
+ (concord_make_hash_table): Move prototype to hash-i.h.
+ (concord_destroy_hash_table): Ditto.
+ (concord_hash_c_string): Ditto.
+
+2013-04-22 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * Makefile.in (ABI_VERSION): Update to 2:0:1.
+
+ * configure.in: Update version to 0.9.0; change mail-address to
+ chise-en@lists.chise.org.
+
+2013-04-22 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * Makefile.in (CONCORD_DB_FORMAT_VERSION): Changed to 1.0.
+
+2013-04-21 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * concord.h (concord_ds_p): New prototype.
+
+ * cos.c (concord_ds_p): New function.
+
+2013-04-21 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * cos.c (concord_object_get_feature_value): If
+ `concord_current_env' is not a valid CONCORD_DS object, set NULL.
+
+ * symbol.c (cos_release_symbol): Treat `composition' as a builtin
+ symbol.
+
+2013-04-20 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * cos.c (concord_decode_object): Delete printf to debug.
+ (concord_object_get_feature_value): Likewise.
+
+2013-04-20 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * cos.h (cos_Qcomposition): New variable.
+ (COS_NIL): New macro.
+ (COS_T): New macro.
+ (COS_COMPOSITION): New macro.
+
+ * symbol.c (cos_string_ent_composition): New variable.
+ (cos_symbol_ent_composition): New variable.
+ (cos_Qcomposition): New variable.
+ (cos_intern): Setup `composition'.
+
+2013-04-20 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * symbol.c (cos_release_symbol): Add check for builtin symbols.
+
+2013-04-19 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * concord.h (CONCORD_Genre_Table): Revived as an alias of
+ `COS_Genre_ent'.
+
+2013-04-18 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * symbol.c (cos_retain_symbol): Don't use `cos_retain_object'
+ recursively.
+ (cos_symbol_p): New function.
+ (cos_symbol_table_intern): Check type of each entry of the hash;
+ use `cos_retain_object' for the returned symbol.
+ (cos_print_symbol_table): New function.
+
+ * cos.c (cos_char_id): Fixed.
+ (cos_release_object): Fixed.
+ (cos_retain_cons): Don't use `cos_retain_object' recursively.
+ (cos_assoc): New function.
+ (cos_alist_get): New function.
+
+2013-04-18 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * read.c (is_delimiter): New function.
+ (cos_read_int): Use `is_delimiter'.
+ (cos_read_string): Fixed.
+ (cos_read_symbol): New function.
+ (cos_read_object): Use `cos_read_symbol' to support symbol.
+
+ * cos.h (cos_symbol_p): New prototype.
+ (cos_assoc): New prototype.
+ (cos_alist_get): New prototype.
+
+ * cos-read.h (cos_read_symbol): New prototype.
+
+2013-04-17 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * read.c (cos_skip_space): New function.
+ (cos_read_int): Fix to support separator.
+ (cos_read_list0): New function.
+ (cos_read_list): New function.
+ (cos_read_object): New function.
+
+ * print.c (cos_print_object): Fix duplicated `?' when printing a
+ character.
+
+ * cos.h (cos_cons_p): New prototype.
+
+ * cos.c (cos_cons_p): New function.
+ (concord_object_get_feature_value): Use `cos_read_object'.
+
+ * cos-read.h (cos_read_list): New prototype.
+ (cos_read_object): New prototype.
+
+2013-04-16 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * symbol.c (cos_make_symbol): Use `cos_retain_object' for
+ `obj->name'.
+ (cos_retain_symbol): New function.
+
+ * cos.c (COS_Object_retain_function_table): New variable.
+ (cos_retain_object): Call a retain-function in
+ `COS_Object_retain_function_table'.
+ (cos_retain_string): New function.
+ (cos_retain_cons): New function.
+ (cos_retain_container): New function.
+ (cos_retain_sexp): New function.
+ (cos_retain_binary): New function.
+ (cos_retain_ds): New function.
+ (cos_retain_genre): New function.
+ (cos_retain_feature): New function.
+ (cos_retain_index): New function.
+ (cos_retain_db_object): New function.
+
+ * cos-i.h (COS_Object_retain_function_table): New variable.
+ (cos_retain_string): New prototype.
+ (cos_retain_symbol): New prototype.
+ (cos_retain_cons): New prototype.
+ (cos_retain_container): New prototype.
+ (cos_retain_sexp): New prototype.
+ (cos_retain_binary): New prototype.
+ (cos_retain_ds): New prototype.
+ (cos_retain_genre): New prototype.
+ (cos_retain_feature): New prototype.
+ (cos_retain_index): New prototype.
+ (cos_retain_db_object): New prototype.
+
+2013-04-16 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * Makefile.in (symbol-test): New target.
+
+2013-04-16 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * name.c (concord_name_table_grow): Release old `table->data'.
+
+ * cos.h: Include <stdlib.h>.
+ (cos_Qnil): New variable.
+ (cos_Qt): New variable.
+ (cos_print_object): New prototype.
+
+ * symbol.c (cos_string_ent_nil): New variable.
+ (cos_symbol_ent_nil): New variable.
+ (cos_Qnil): New variable.
+ (cos_string_ent_t): New variable.
+ (cos_symbol_ent_t): New variable.
+ (cos_Qt): New variable.
+ (cos_intern): Setup `nil' and `t'.
+ (cos_symbol_table_grow): Release old `table->data'.
+
+ * print.c (cos_print_object): New function.
+
+2013-04-16 MORIOKA Tomohiko <tomo.git@chise.org>
+
+ * cos.c (COS_Object_release_function_table): Add
+ `cos_release_cons'.
+ (cos_retain_object): Use `COS_OBJECT_P' to check `obj' is a fat
+ object.
+ (cos_release_object): Likewise.
+ (cos_cons): New function.
+ (cos_release_cons): New function.
+ (cos_car): New function.
+ (cos_cdr): New function.
+
+ * cos-i.h (enum COS_Object_Type): Add COS_Object_Type_Cons.
+ (COS_OBJECT_CONS_P): New macro.
+ (struct COS_Cons_ent): New structure.
+ (COS_CAR): New macro.
+ (COS_CDR): New macro.
+ (cos_release_cons): New prototype.
+
+ * cos.h (struct COS_Cons_ent): New structure.
+ (COS_Cons): New type.
+ (cos_cons): New prototype.
+ (cos_car): New prototype.
+ (cos_cdr): New prototype.
+
2013-04-15 MORIOKA Tomohiko <tomo.git@chise.org>
* cos.c (concord_object_get_feature_value): Use `cos_read_int' to