+ Translator_group::connect_to_context (c);
+ c->event_source ()->add_listener (GET_LISTENER (Engraver_group, override), ly_symbol2scm ("Override"));
+ c->event_source ()->add_listener (GET_LISTENER (Engraver_group, revert), ly_symbol2scm ("Revert"));
+}
+
+void
+Engraver_group::disconnect_from_context ()
+{
+ context ()->event_source ()->remove_listener (GET_LISTENER (Engraver_group, override), ly_symbol2scm ("Override"));
+ context ()->event_source ()->remove_listener (GET_LISTENER (Engraver_group, revert), ly_symbol2scm ("Revert"));
+ Translator_group::disconnect_from_context ();
+}
+
+void
+Engraver_group::announce_grob (Grob_info info)
+{
+ announce_infos_.push_back (info);
+
+ Context *dad_con = context_->get_parent_context ();
+ if (info.rerouting_daddy_context_)