- SCM mol = SCM_EOL;
- if (gh_procedure_p (proc))
- mol = gh_apply (proc, scm_list_n (this->self_scm (), SCM_UNDEFINED));
-
- Stencil *m = unsmob_stencil (mol);
-
- if (unsmob_stencil (mol))
- {
- SCM origin = ly_symbol2scm ("no-origin");
-
- if (store_locations_global_b)
- {
- SCM cause = get_grob_property ("cause");
- if (Music*m = unsmob_music (cause))
- {
- SCM music_origin = m->get_mus_property ("origin");
- if (unsmob_input (music_origin))
- origin = music_origin;
- }
- }
+ SCM stil = SCM_EOL;
+ if (ly_c_procedure_p (proc))
+ stil = scm_apply_0 (proc, scm_list_n (this->self_scm (), SCM_UNDEFINED));