diff options
author | Paul Morris <paulwmorris@gmail.com> | 2016-10-04 11:13:27 -0400 |
---|---|---|
committer | Paul Morris <paulwmorris@gmail.com> | 2016-10-04 11:19:29 -0400 |
commit | 274e03cfc718e0eb7c4e1b1f58547dab65822e02 (patch) | |
tree | 81ac20a42c564849da104c14c875361c4d8fba29 /python | |
parent | f80e0f5e69fa8ffb35b6d3b7d162ed4191586c0c (diff) |
Issue 4974/2: convert-ly rule: id -> output-attributes
Running scripts/auxiliar/update-with-convert-ly.sh
with the new rule produced no changes, so there is
no separate commit for that step.
Diffstat (limited to 'python')
-rw-r--r-- | python/convertrules.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/python/convertrules.py b/python/convertrules.py index f64312a839..b3000400da 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -3903,6 +3903,29 @@ def conv (str): '', str) return str +@rule ((2, 19, 49), r"""id -> output-attributes.id or output-attributes +for \tweak, \override, \overrideProperty, and \revert""") +def conv (str): + # path cannot start with '-' or '_' and matches zero or more path + # units that each end in a dot + path = r"(?:[a-zA-Z\200-\377](?:[-_]?[a-zA-Z\200-\377])*(?:\s*\.\s*))*" + + # Manual editing is needed when id is set to #(...) or \xxx + manual_edits = r"(\\(?:tweak|override|overrideProperty)\s+" + path + r")id(\s*=?\s*(?:\\|#\s*\())" + automatic = r"(\\(?:tweak|override|overrideProperty|revert)\s+" + path + r")id" + if re.search (manual_edits, str): + stderr_write (NOT_SMART % "\"output-attributes\"") + stderr_write (_ ("Previously the \"id\" grob property (string) was used for SVG output.") + "\n") + stderr_write (_ ("Now \"output-attributes\" (association list) is used instead.") + "\n") + stderr_write (UPDATE_MANUALLY) + + # First, for manual editing cases we convert 'id' to 'output-attributes' + # because Grob.output-attributes.id = #(lambda ... ) will not work. + # Then for the rest we convert 'id' to 'output-attributes.id' + str = re.sub (manual_edits, r"\1output-attributes\2", str) + str = re.sub (automatic, r"\1output-attributes.id", 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, |