+
+ return (daddy_trans_l_) ? daddy_trans_l_->where_defined (sym) : 0;
+}
+
+/*
+ return SCM_EOL when not found.
+*/
+SCM
+Translator_group::get_property (SCM sym) const
+{
+ SCM val =SCM_EOL;
+ if (properties_dict ()->try_retrieve (sym, &val))
+ return val;
+
+ if (daddy_trans_l_)
+ return daddy_trans_l_->get_property (sym);
+
+ return val;
+}
+
+void
+Translator_group::set_property (String id, SCM val)
+{
+ set_property (ly_symbol2scm (id.ch_C ()), val);
+}
+
+
+void
+Translator_group::set_property (SCM sym, SCM val)
+{
+ properties_dict ()->set (sym, val);
+}
+
+/*
+ TODO: look up to check whether we have inherited var?
+ */
+void
+Translator_group::unset_property (SCM sym)
+{
+ properties_dict ()->remove (sym);
+}
+
+
+/*
+ Push or pop (depending on value of VAL) a single entry (ELTPROP . VAL)
+ entry from a translator property list by name of PROP
+*/
+void
+Translator_group::execute_single_pushpop_property (SCM prop, SCM eltprop, SCM val)
+{
+ if (gh_symbol_p (prop))