X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fconcord.c;h=ce37c9525d49ee70550859fc79bc2d7e0262efcb;hb=64bdea6edab3157065caa33fe2bf570158b8f8f7;hp=f8b37c8b32e199d09dfa3512688e787eb7c5efd2;hpb=1c954838cae9a83f638f3764ed03b9c177f6b21f;p=chise%2Fxemacs-chise.git- diff --git a/src/concord.c b/src/concord.c index f8b37c8..ce37c95 100644 --- a/src/concord.c +++ b/src/concord.c @@ -648,10 +648,9 @@ Return the value of OBJECT's FEATURE. return Qnil; } -DEFUN ("concord-object-put", Fconcord_object_put, 3, 3, 0, /* -Store a VALUE of OBJECT's FEATURE. -*/ - (object, feature, value)) +static Lisp_Object +concord_object_put (Lisp_Object object, Lisp_Object feature, + Lisp_Object value) { struct gcpro gcpro1, gcpro2, gcpro3; int previous_print_readably; @@ -664,7 +663,6 @@ Store a VALUE of OBJECT's FEATURE. Lisp_Object value_string; char* c_value; - CHECK_CONCORD_OBJECT (object); if ( !STRINGP(feature) ) feature = Fsymbol_name (feature); previous_print_readably = print_readably; @@ -700,7 +698,7 @@ Store a VALUE of OBJECT's FEATURE. status = chise_feature_sync (c_feature); if (status) return Qnil; - if (feature_name[0] == '=') + if (XSTRING_DATA(feature)[0] == '=') { CONCORD_INDEX c_index = concord_genre_get_index (c_genre, feature_name); @@ -711,6 +709,17 @@ Store a VALUE of OBJECT's FEATURE. return Qt; } +DEFUN ("concord-object-put", Fconcord_object_put, 3, 3, 0, /* +Store a VALUE of OBJECT's FEATURE. +*/ + (object, feature, value)) +{ + CHECK_CONCORD_OBJECT (object); + if ( NILP (concord_object_put (object, feature, value)) ) + return Qnil; + return Qt; +} + struct closure_for_object_spec { char* object_id;