+ Grob_info info = announce_infos_[j];
+
+ SCM meta = info.grob ()->internal_get_property (meta_sym);
+ SCM nm = scm_assoc (name_sym, meta);
+ if (scm_is_pair (nm))
+ nm = scm_cdr (nm);
+ else
+ continue;
+
+ SCM acklist = scm_hashq_ref (acknowledge_hash_table_drul_[info.start_end ()],
+ nm, SCM_BOOL_F);
+
+ Engraver_dispatch_list *dispatch
+ = Engraver_dispatch_list::unsmob (acklist);
+
+ if (acklist == SCM_BOOL_F)
+ {
+ SCM ifaces
+ = scm_cdr (scm_assoc (ly_symbol2scm ("interfaces"), meta));
+ acklist = Engraver_dispatch_list::create (get_simple_trans_list (),
+ ifaces, info.start_end ());
+
+ dispatch
+ = Engraver_dispatch_list::unsmob (acklist);
+
+ scm_hashq_set_x (acknowledge_hash_table_drul_[info.start_end ()], nm, acklist);
+ }
+
+ if (dispatch)
+ dispatch->apply (info);