2.1 Why does the syntax change?

The LilyPond input syntax occasionally changes. As LilyPond itself improves, the syntax (input language) is modified accordingly. Sometimes these changes are made to make the input easier to read and write or sometimes the changes are made to accommodate new features of LilyPond.

For example, all \paper and \layout property names are supposed to be written in the form first-second-third. However, in version 2.11.60, we noticed that the printallheaders property did not follow this convention. Should we leave it alone (confusing new users who must deal with an inconsistent input format), or change it (annoying old users with existing scores)? In this case, we decided to change the name to print-all-headers. Fortunately, this change can be automated with our convert-ly tool.

Unfortunately, convert-ly cannot handle all input changes. For example, in LilyPond 2.4 and earlier, accents and non-English letters were entered using LaTeX – displaying the French word for Christmas was entered as No\"el. But in LilyPond 2.6 and above, the special ë must be entered directly into the LilyPond file as an UTF-8 character. convert-ly cannot change all the LaTeX special characters into UTF-8 characters; you must manually update your old LilyPond input files.

The conversion rules of convert-ly work using text pattern matching and replacement rather than a thorough understanding of LilyPond. This has several consequences:


Other languages: deutsch, español, français, magyar, italiano, 日本語.
About automatic language selection.

LilyPond — Usage v2.19.13 (development-branch).