static_each (trans_group_list_, method);
}
-void
-Translator_group::do_print() const
-{
-#ifndef NPRINT
-#endif
-}
+
void
Translator_group::do_add_processing ()
SCM
Translator_group::get_property (SCM sym) const
{
- if (properties_dict ()->elem_b (sym))
- {
- return properties_dict ()->get (sym);
- }
+ SCM val =SCM_UNDEFINED;
+ if (properties_dict ()->try_retrieve (sym, &val))
+ return val;
if (daddy_trans_l_)
return daddy_trans_l_->get_property (sym);
- return SCM_UNDEFINED;
+ return val;
}
void
{
SCM prev = get_property (prop);
- prev = gh_cons (gh_cons (eltprop, val), prev);
- set_property (prop, prev);
+ /*
+ we don't tack onto SCM_UNDEFINED, because it creates
+ errors down the line, if we do scm_assoc().
+ */
+ if (gh_pair_p (prev) || prev == SCM_EOL)
+ {
+ prev = gh_cons (gh_cons (eltprop, val), prev);
+ set_property (prop, prev);
+ }
}
else
{