r'(?=\s|[()]))(' + paren_matcher (20) + ")"
r"(?:\s+parser(?=\s|[()])|\s*\(\*parser\*\))", repl, str)
return str
- return inner (str)
+ str = inner (str)
+ # This is the simplest case, resulting from one music function
+ # trying to call another one via Scheme. The caller is supposed
+ # to have its uses of parser/location converted to
+ # (*parser*)/(*location*) already. Other uses of
+ # ly:music-function-extract are harder to convert but unlikely.
+ str = re.sub (r'(\(\s*\(ly:music-function-extract\s+' + wordsyntax +
+ r'\s*\)\s+)\(\*parser\*\)\s*\(\*location\*\)', r'\1',
+ str)
+ return str
@rule ((2, 19, 24), r"""music-has-type -> music-is-of-type?
\applyOutput #'Context -> \applyOutput Context""")
r"\\once \1\2", str)
return str
+@rule ((2, 19, 32), r"whiteout-box -> whiteout")
+def conv(str):
+ str = re.sub (r"\\whiteout-box(?![a-z_-])", r"\\whiteout", str)
+ str = re.sub (r"\b\.whiteout-box(?![a-z_-])\b", r".whiteout", str)
+ str = re.sub (r"#'whiteout-box(?![a-z_-])\b", r"#'whiteout", str)
+ return str
+
# Guidelines to write rules (please keep this at the end of this file)
#
# - keep at most one rule per version; if several conversions should be done,