- elt_l_->set_elt_property (name_,
- gh_cons (s, elt_l_->get_elt_property (name_)));
-
+ SCM handle = scm_sloppy_assq (sym, me->mutable_property_alist_);
+ if (handle != SCM_BOOL_F)
+ {
+ gh_set_cdr_x (handle, gh_cons (thing, gh_cdr (handle)));
+
+ }
+ else
+ {
+ /*
+ There is no mutable prop yet, so create an entry, and put it in front of the
+ mutable prop list.
+ */
+ handle = scm_sloppy_assq (sym, me->immutable_property_alist_);
+ SCM tail = (handle != SCM_BOOL_F) ? gh_cdr(handle) : SCM_EOL;
+ me->mutable_property_alist_ = gh_cons (gh_cons (sym, gh_cons (thing, tail)),
+ me->mutable_property_alist_);
+ }