X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcontext-property.cc;h=0c5e1ec55d689850efeeaf7eef209c4d2c4c3f32;hb=0bf3925c1f16b96867470eb1ba7286b7d6726a7b;hp=d79e74455a86cb17a67d36d2404cef885d36eecb;hpb=49fbcc8b526edcad8a0650e9d7870b647c43d698;p=lilypond.git diff --git a/lily/context-property.cc b/lily/context-property.cc index d79e74455a..0c5e1ec55d 100644 --- a/lily/context-property.cc +++ b/lily/context-property.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2011 Han-Wen Nienhuys + Copyright (C) 2004--2012 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -225,8 +225,7 @@ execute_pushpop_property (Context *context, 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); @@ -248,6 +247,8 @@ apply_property_operations (Context *tg, SCM pre_init_ops) } 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)); } }