SCM target_alist = scm_car (current_context_val);
- /*
- If the car is a list, the property path comes from a nested override
- using list syntax inside a \context block
- */
- if (scm_is_pair (scm_car (grob_property_path)))
- grob_property_path = scm_car (grob_property_path);
-
SCM symbol = scm_car (grob_property_path);
if (scm_is_pair (scm_cdr (grob_property_path)))
{
void
apply_property_operations (Context *tg, SCM pre_init_ops)
{
- SCM correct_order = scm_reverse (pre_init_ops);
- for (SCM s = correct_order; scm_is_pair (s); s = scm_cdr (s))
+ for (SCM s = pre_init_ops; scm_is_pair (s); s = scm_cdr (s))
{
SCM entry = scm_car (s);
SCM type = scm_car (entry);
}
else if (type == ly_symbol2scm ("assign"))
tg->set_property (scm_car (entry), scm_cadr (entry));
+ else if (type == ly_symbol2scm ("apply"))
+ scm_apply_1 (scm_car (entry), tg->self_scm (), scm_cdr (entry));
+ else if (type == ly_symbol2scm ("unset"))
+ tg->unset_property (scm_car (entry));
}
}