]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/context-property.cc
Imported Upstream version 2.18.0
[lilypond.git] / lily / context-property.cc
index 1ccfe5a970973e7ce3be409406985dcafd0e42f7..00108cf3149d8b3966b4c392a2dc523e143849c7 100644 (file)
@@ -91,13 +91,6 @@ execute_override_property (Context *context,
 
   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)))
     {
@@ -230,33 +223,27 @@ apply_property_operations (Context *tg, SCM pre_init_ops)
       SCM entry = scm_car (s);
       SCM type = scm_car (entry);
       entry = scm_cdr (entry);
-      if (!scm_is_pair (entry))
-        continue;
-      SCM context_prop = scm_car (entry);
-      if (scm_is_pair (context_prop))
-        {
-          if (tg->is_alias (scm_car (context_prop)))
-            context_prop = scm_cdr (context_prop);
-          else
-            continue;
-        }
 
       if (type == ly_symbol2scm ("push"))
         {
+          SCM context_prop = scm_car (entry);
           SCM val = scm_cadr (entry);
           SCM grob_prop_path = scm_cddr (entry);
           sloppy_general_pushpop_property (tg, context_prop, grob_prop_path, val);
         }
       else if (type == ly_symbol2scm ("pop"))
         {
+          SCM context_prop = scm_car (entry);
           SCM val = SCM_UNDEFINED;
           SCM grob_prop_path = scm_cdr (entry);
           sloppy_general_pushpop_property (tg, context_prop, grob_prop_path, val);
         }
       else if (type == ly_symbol2scm ("assign"))
-        tg->set_property (context_prop, scm_cadr (entry));
+        tg->set_property (scm_car (entry), scm_cadr (entry));
       else if (type == ly_symbol2scm ("apply"))
-        scm_apply_1 (context_prop, tg->self_scm (), scm_cdr (entry));
+       scm_apply_1 (scm_car (entry), tg->self_scm (), scm_cdr (entry));
+      else if (type == ly_symbol2scm ("unset"))
+        tg->unset_property (scm_car (entry));
     }
 }