X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcontext-property.cc;h=5234d1113fccc00ccd1b9421697609bb72ea5f13;hb=39d2ba6c5a153725e23157fb3876cd7e88cc131f;hp=e02597929162c444636c331f49552c686bb0d8f3;hpb=938ad96fe39f1708d3abf382fe573b1794a53664;p=lilypond.git diff --git a/lily/context-property.cc b/lily/context-property.cc index e025979291..5234d1113f 100644 --- a/lily/context-property.cc +++ b/lily/context-property.cc @@ -82,7 +82,6 @@ execute_override_property (Context *context, } SCM target_alist = scm_car (current_context_val); - SCM parent_alist = scm_cdr (current_context_val); SCM symbol = scm_car (grob_property_path); if (scm_is_pair (scm_cdr (grob_property_path))) @@ -93,11 +92,10 @@ execute_override_property (Context *context, new_value); } - if (scm_is_pair (target_alist) - && scm_caar (target_alist) == symbol - && target_alist != parent_alist) - target_alist = scm_cdr (target_alist); - + // it's tempting to replace the head of the list if it's the same + // property. However, we have to keep this info around, in case we have to + // \revert back to it. + target_alist = scm_acons (symbol, new_value, target_alist); bool ok = true;