]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4914/2: convert-ly rule for removing Output_property_engraver
authorDavid Kastrup <dak@gnu.org>
Sat, 2 Jul 2016 23:40:04 +0000 (01:40 +0200)
committerDavid Kastrup <dak@gnu.org>
Sun, 10 Jul 2016 17:51:28 +0000 (19:51 +0200)
It's highly unlikely that users will redefine the Score context from
scratch, so the convert-ly rule just removes every occurence of
Output_property_engraver from user source.  Obviously, when running the
rule on the LilyPond code base, we will need to fix up the Score
engraver manually to retain the Output_property_engraver .

python/convertrules.py

index dbe59faa9615b426ac7ee4431e378a930471e0b9..f64312a839ce01d3f32d56711502926f172eb442 100644 (file)
@@ -3888,7 +3888,8 @@ def conv (str):
                   repl, str)
     return str
 
-@rule ((2, 19, 46), r"\context ... \modification -> \context ... \with \modification")
+@rule ((2, 19, 46), r"""\context ... \modification -> \context ... \with \modification
+\consists "Output_property_engraver" ->""")
 def conv (str):
     word=r'(?:#?"[^"]*"|\b' + wordsyntax + r'\b)'
     mods = string.join (re.findall ("\n(" + wordsyntax + r")\s*=\s*\\with(?:\s|\\|\{)", str)
@@ -3897,6 +3898,9 @@ def conv (str):
                   + r"(?:new|context)\s*" + word
                   + r"(?:\s*=\s*" + word + r")?)\s*)(\\(?:" + mods + "))",
                   r"\1\\with \2", str)
+
+    str = re.sub (r'\\(consists|remove)\s+"?Output_property_engraver"?\s*',
+                  '', str)
     return str
 
 # Guidelines to write rules (please keep this at the end of this file)