]> git.donarmstrong.com Git - lilypond.git/blobdiff - po/lilypond.pot
Build: Dependency fix for emmentaler fonts (issue 3549).
[lilypond.git] / po / lilypond.pot
index 8704075636fd6788b8cf8796bd7d9bc5f15c7465..5ac534a79387aeff51de06c939de7e8361a0b810 100644 (file)
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.17.11\n"
+"Project-Id-Version: lilypond 2.17.26\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
-"POT-Creation-Date: 2013-01-26 16:11+0000\n"
+"POT-Creation-Date: 2013-09-08 15:34+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -27,26 +27,30 @@ msgstr ""
 msgid "Output function not implemented"
 msgstr ""
 
 msgid "Output function not implemented"
 msgstr ""
 
-#: book_latex.py:170
+#: book_latex.py:174
 msgid "cannot find \\begin{document} in LaTeX document"
 msgstr ""
 
 msgid "cannot find \\begin{document} in LaTeX document"
 msgstr ""
 
-#: book_latex.py:188
+#: book_latex.py:190
 #, python-format
 msgid "Running `%s' on file `%s' to detect default page settings.\n"
 msgstr ""
 
 #, python-format
 msgid "Running `%s' on file `%s' to detect default page settings.\n"
 msgstr ""
 
-#: book_latex.py:209 book_texinfo.py:228
+#: book_latex.py:212 book_texinfo.py:228
 msgid "Unable to auto-detect default settings:\n"
 msgstr ""
 
 msgid "Unable to auto-detect default settings:\n"
 msgstr ""
 
-#: book_latex.py:221 book_texinfo.py:240
+#: book_latex.py:224 book_texinfo.py:240
 #, python-format
 msgid ""
 "Unable to auto-detect default settings:\n"
 "%s"
 msgstr ""
 
 #, python-format
 msgid ""
 "Unable to auto-detect default settings:\n"
 "%s"
 msgstr ""
 
+#: book_latex.py:247
+msgid "cannot detect textwidth from LaTeX"
+msgstr ""
+
 #: book_snippets.py:406
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
 #: book_snippets.py:406
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
@@ -123,162 +127,162 @@ msgstr ""
 msgid "Running texi2pdf on file %s to detect default page settings.\n"
 msgstr ""
 
 msgid "Running texi2pdf on file %s to detect default page settings.\n"
 msgstr ""
 
-#: convertrules.py:12
+#: convertrules.py:13
 #, python-format
 msgid "Not smart enough to convert %s."
 msgstr ""
 
 #, python-format
 msgid "Not smart enough to convert %s."
 msgstr ""
 
-#: convertrules.py:13
+#: convertrules.py:14
 msgid "Please refer to the manual for details, and update manually."
 msgstr ""
 
 msgid "Please refer to the manual for details, and update manually."
 msgstr ""
 
-#: convertrules.py:14
+#: convertrules.py:15
 #, python-format
 msgid "%s has been replaced by %s"
 msgstr ""
 
 #, python-format
 msgid "%s has been replaced by %s"
 msgstr ""
 
-#: convertrules.py:24 lilylib.py:136 warn.cc:223
+#: convertrules.py:25 lilylib.py:136 warn.cc:223
 #, c-format, python-format
 msgid "warning: %s"
 msgstr ""
 
 #, c-format, python-format
 msgid "warning: %s"
 msgstr ""
 
-#: convertrules.py:49 convertrules.py:94
+#: convertrules.py:50 convertrules.py:95
 msgid "\\header { key = concat + with + operator }"
 msgstr ""
 
 msgid "\\header { key = concat + with + operator }"
 msgstr ""
 
-#: convertrules.py:56
+#: convertrules.py:57
 #, python-format
 msgid "deprecated %s"
 msgstr ""
 
 #, python-format
 msgid "deprecated %s"
 msgstr ""
 
-#: convertrules.py:65
+#: convertrules.py:66
 msgid "deprecated \\textstyle, new \\key syntax"
 msgstr ""
 
 msgid "deprecated \\textstyle, new \\key syntax"
 msgstr ""
 
-#: convertrules.py:81 convertrules.py:1855 convertrules.py:2031
-#: convertrules.py:2174 convertrules.py:2505 convertrules.py:2800
-#: convertrules.py:3150 convertrules.py:3384
+#: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
+#: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
+#: convertrules.py:3151 convertrules.py:3385
 msgid "bump version for release"
 msgstr ""
 
 msgid "bump version for release"
 msgstr ""
 
-#: convertrules.py:97
+#: convertrules.py:98
 msgid "new \\header format"
 msgstr ""
 
 msgid "new \\header format"
 msgstr ""
 
-#: convertrules.py:124
+#: convertrules.py:125
 msgid "\\translator syntax"
 msgstr ""
 
 msgid "\\translator syntax"
 msgstr ""
 
-#: convertrules.py:175
+#: convertrules.py:176
 msgid "\\repeat NUM Music Alternative -> \\repeat FOLDSTR Music Alternative"
 msgstr ""
 
 msgid "\\repeat NUM Music Alternative -> \\repeat FOLDSTR Music Alternative"
 msgstr ""
 
-#: convertrules.py:205 convertrules.py:678 convertrules.py:1350
-#: convertrules.py:2317
+#: convertrules.py:206 convertrules.py:679 convertrules.py:1351
+#: convertrules.py:2318
 #, python-format
 msgid "deprecate %s"
 msgstr ""
 
 #, python-format
 msgid "deprecate %s"
 msgstr ""
 
-#: convertrules.py:279
+#: convertrules.py:280
 #, python-format
 msgid "deprecate %s "
 msgstr ""
 
 #, python-format
 msgid "deprecate %s "
 msgstr ""
 
-#: convertrules.py:305
+#: convertrules.py:306
 msgid "new \\notenames format"
 msgstr ""
 
 msgid "new \\notenames format"
 msgstr ""
 
-#: convertrules.py:321
+#: convertrules.py:322
 msgid "new tremolo format"
 msgstr ""
 
 msgid "new tremolo format"
 msgstr ""
 
-#: convertrules.py:325
+#: convertrules.py:326
 msgid "Staff_margin_engraver deprecated, use Instrument_name_engraver"
 msgstr ""
 
 msgid "Staff_margin_engraver deprecated, use Instrument_name_engraver"
 msgstr ""
 
-#: convertrules.py:376
+#: convertrules.py:377
 msgid "change property definition case (eg. onevoice -> oneVoice)"
 msgstr ""
 
 msgid "change property definition case (eg. onevoice -> oneVoice)"
 msgstr ""
 
-#: convertrules.py:437
+#: convertrules.py:438
 msgid "new \\textscript markup text"
 msgstr ""
 
 msgid "new \\textscript markup text"
 msgstr ""
 
-#: convertrules.py:509
+#: convertrules.py:510
 #, python-format
 msgid "identifier names: %s"
 msgstr ""
 
 #, python-format
 msgid "identifier names: %s"
 msgstr ""
 
-#: convertrules.py:548
+#: convertrules.py:549
 msgid "point-and-click argument changed to procedure."
 msgstr ""
 
 msgid "point-and-click argument changed to procedure."
 msgstr ""
 
-#: convertrules.py:590
+#: convertrules.py:591
 msgid "semicolons removed"
 msgstr ""
 
 #. 40 ?
 msgid "semicolons removed"
 msgstr ""
 
 #. 40 ?
-#: convertrules.py:633
+#: convertrules.py:634
 #, python-format
 msgid "%s property names"
 msgstr ""
 
 #, python-format
 msgid "%s property names"
 msgstr ""
 
-#: convertrules.py:703
+#: convertrules.py:704
 msgid "automaticMelismata turned on by default"
 msgstr ""
 
 msgid "automaticMelismata turned on by default"
 msgstr ""
 
-#: convertrules.py:708
+#: convertrules.py:709
 msgid "automaticMelismata is turned on by default since 1.5.67."
 msgstr ""
 
 msgid "automaticMelismata is turned on by default since 1.5.67."
 msgstr ""
 
-#: convertrules.py:942 convertrules.py:1635 convertrules.py:1889
-#: convertrules.py:2134
+#: convertrules.py:943 convertrules.py:1636 convertrules.py:1890
+#: convertrules.py:2135
 #, python-format
 msgid "remove %s"
 msgstr ""
 
 #, python-format
 msgid "remove %s"
 msgstr ""
 
-#: convertrules.py:977 convertrules.py:980
+#: convertrules.py:978 convertrules.py:981
 msgid "cluster syntax"
 msgstr ""
 
 msgid "cluster syntax"
 msgstr ""
 
-#: convertrules.py:987
+#: convertrules.py:988
 msgid "new Pedal style syntax"
 msgstr ""
 
 msgid "new Pedal style syntax"
 msgstr ""
 
-#: convertrules.py:1246
+#: convertrules.py:1247
 msgid ""
 "New relative mode,\n"
 "Postfix articulations, new text markup syntax, new chord syntax."
 msgstr ""
 
 msgid ""
 "New relative mode,\n"
 "Postfix articulations, new text markup syntax, new chord syntax."
 msgstr ""
 
-#: convertrules.py:1259
+#: convertrules.py:1260
 msgid "Remove - before articulation"
 msgstr ""
 
 msgid "Remove - before articulation"
 msgstr ""
 
-#: convertrules.py:1294
+#: convertrules.py:1295
 #, python-format
 msgid "%s misspelling"
 msgstr ""
 
 #, python-format
 msgid "%s misspelling"
 msgstr ""
 
-#: convertrules.py:1313
+#: convertrules.py:1314
 msgid "Swap < > and << >>"
 msgstr ""
 
 msgid "Swap < > and << >>"
 msgstr ""
 
-#: convertrules.py:1316
+#: convertrules.py:1317
 msgid "attempting automatic \\figures conversion.  Check results!"
 msgstr ""
 
 msgid "attempting automatic \\figures conversion.  Check results!"
 msgstr ""
 
-#: convertrules.py:1362
+#: convertrules.py:1363
 msgid "Use Scheme code to construct arbitrary note events."
 msgstr ""
 
 msgid "Use Scheme code to construct arbitrary note events."
 msgstr ""
 
-#: convertrules.py:1369
+#: convertrules.py:1370
 msgid ""
 "use symbolic constants for alterations,\n"
 "remove \\outputproperty, move ly:verbose into ly:get-option"
 msgstr ""
 
 msgid ""
 "use symbolic constants for alterations,\n"
 "remove \\outputproperty, move ly:verbose into ly:get-option"
 msgstr ""
 
-#: convertrules.py:1394
+#: convertrules.py:1395
 #, python-format
 msgid ""
 "\\outputproperty found,\n"
 #, python-format
 msgid ""
 "\\outputproperty found,\n"
@@ -290,7 +294,7 @@ msgid ""
 "as a substitution text."
 msgstr ""
 
 "as a substitution text."
 msgstr ""
 
-#: convertrules.py:1406
+#: convertrules.py:1407
 msgid ""
 "The alteration field of Scheme pitches was multiplied by 2\n"
 "to support quarter tone accidentals.  You must update the following "
 msgid ""
 "The alteration field of Scheme pitches was multiplied by 2\n"
 "to support quarter tone accidentals.  You must update the following "
@@ -300,70 +304,70 @@ msgid ""
 "* keySignature settings made with \\property\n"
 msgstr ""
 
 "* keySignature settings made with \\property\n"
 msgstr ""
 
-#: convertrules.py:1449
+#: convertrules.py:1450
 msgid "removal of automaticMelismata; use melismaBusyProperties instead."
 msgstr ""
 
 msgid "removal of automaticMelismata; use melismaBusyProperties instead."
 msgstr ""
 
-#: convertrules.py:1556
+#: convertrules.py:1557
 msgid "\\partcombine syntax change to \\newpartcombine"
 msgstr ""
 
 msgid "\\partcombine syntax change to \\newpartcombine"
 msgstr ""
 
-#: convertrules.py:1581
+#: convertrules.py:1582
 msgid ""
 "Drum notation changes, Removing \\chordmodifiers, \\notenames.\n"
 "Harmonic notes. Thread context removed. Lyrics context removed."
 msgstr ""
 
 msgid ""
 "Drum notation changes, Removing \\chordmodifiers, \\notenames.\n"
 "Harmonic notes. Thread context removed. Lyrics context removed."
 msgstr ""
 
-#: convertrules.py:1585
+#: convertrules.py:1586
 msgid "Drums found. Enclose drum notes in \\drummode"
 msgstr ""
 
 msgid "Drums found. Enclose drum notes in \\drummode"
 msgstr ""
 
-#: convertrules.py:1596 convertrules.py:1603 convertrules.py:1614
+#: convertrules.py:1597 convertrules.py:1604 convertrules.py:1615
 #, python-format
 msgid ""
 "\n"
 "%s found. Check file manually!\n"
 msgstr ""
 
 #, python-format
 msgid ""
 "\n"
 "%s found. Check file manually!\n"
 msgstr ""
 
-#: convertrules.py:1596
+#: convertrules.py:1597
 msgid "Drum notation"
 msgstr ""
 
 msgid "Drum notation"
 msgstr ""
 
-#: convertrules.py:1655
+#: convertrules.py:1656
 msgid "new syntax for property settings:"
 msgstr ""
 
 msgid "new syntax for property settings:"
 msgstr ""
 
-#: convertrules.py:1681
+#: convertrules.py:1682
 msgid "Property setting syntax in \\translator{ }"
 msgstr ""
 
 msgid "Property setting syntax in \\translator{ }"
 msgstr ""
 
-#: convertrules.py:1720
+#: convertrules.py:1721
 msgid "Scheme grob function renaming"
 msgstr ""
 
 msgid "Scheme grob function renaming"
 msgstr ""
 
-#: convertrules.py:1731 convertrules.py:2138 convertrules.py:2142
-#: convertrules.py:2708
+#: convertrules.py:1732 convertrules.py:2139 convertrules.py:2143
+#: convertrules.py:2709
 #, python-format
 msgid "Use %s\n"
 msgstr ""
 
 #, python-format
 msgid "Use %s\n"
 msgstr ""
 
-#: convertrules.py:1747
+#: convertrules.py:1748
 msgid "More Scheme function renaming"
 msgstr ""
 
 msgid "More Scheme function renaming"
 msgstr ""
 
-#: convertrules.py:1871
+#: convertrules.py:1872
 msgid ""
 "Page layout has been changed, using paper size and margins.\n"
 "textheight is no longer used.\n"
 msgstr ""
 
 msgid ""
 "Page layout has been changed, using paper size and margins.\n"
 "textheight is no longer used.\n"
 msgstr ""
 
-#: convertrules.py:1957
+#: convertrules.py:1958
 msgid ""
 "\\foo -> \\foomode (for chords, notes, etc.)\n"
 "fold \\new FooContext \\foomode into \\foo."
 msgstr ""
 
 msgid ""
 "\\foo -> \\foomode (for chords, notes, etc.)\n"
 "fold \\new FooContext \\foomode into \\foo."
 msgstr ""
 
-#: convertrules.py:1995
+#: convertrules.py:1996
 msgid ""
 "staff size should be changed at top-level\n"
 "with\n"
 msgid ""
 "staff size should be changed at top-level\n"
 "with\n"
@@ -372,79 +376,79 @@ msgid ""
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-#: convertrules.py:2015
+#: convertrules.py:2016
 msgid "regularize other identifiers"
 msgstr ""
 
 msgid "regularize other identifiers"
 msgstr ""
 
-#: convertrules.py:2083
+#: convertrules.py:2084
 msgid "\\encoding: smart recode latin1..utf-8. Remove ly:point-and-click"
 msgstr ""
 
 msgid "\\encoding: smart recode latin1..utf-8. Remove ly:point-and-click"
 msgstr ""
 
-#: convertrules.py:2094
+#: convertrules.py:2095
 msgid "LilyPond source must be UTF-8"
 msgstr ""
 
 msgid "LilyPond source must be UTF-8"
 msgstr ""
 
-#: convertrules.py:2097
+#: convertrules.py:2098
 msgid "Try the texstrings backend"
 msgstr ""
 
 msgid "Try the texstrings backend"
 msgstr ""
 
-#: convertrules.py:2100
+#: convertrules.py:2101
 #, python-format
 msgid "Do something like: %s"
 msgstr ""
 
 #, python-format
 msgid "Do something like: %s"
 msgstr ""
 
-#: convertrules.py:2103
+#: convertrules.py:2104
 msgid "Or save as UTF-8 in your editor"
 msgstr ""
 
 msgid "Or save as UTF-8 in your editor"
 msgstr ""
 
-#: convertrules.py:2153
+#: convertrules.py:2154
 msgid "warn about auto beam settings"
 msgstr ""
 
 msgid "warn about auto beam settings"
 msgstr ""
 
-#: convertrules.py:2157
+#: convertrules.py:2158
 msgid "auto beam settings"
 msgstr ""
 
 msgid "auto beam settings"
 msgstr ""
 
-#: convertrules.py:2158
+#: convertrules.py:2159
 msgid ""
 "\n"
 "Auto beam settings must now specify each interesting moment in a measure\n"
 "explicitly; 1/4 is no longer multiplied to cover moments 1/2 and 3/4 too.\n"
 msgstr ""
 
 msgid ""
 "\n"
 "Auto beam settings must now specify each interesting moment in a measure\n"
 "explicitly; 1/4 is no longer multiplied to cover moments 1/2 and 3/4 too.\n"
 msgstr ""
 
-#: convertrules.py:2271
+#: convertrules.py:2272
 msgid "verticalAlignmentChildCallback has been deprecated"
 msgstr ""
 
 msgid "verticalAlignmentChildCallback has been deprecated"
 msgstr ""
 
-#: convertrules.py:2276
+#: convertrules.py:2277
 msgid "Remove callbacks property, deprecate XY-extent-callback."
 msgstr ""
 
 msgid "Remove callbacks property, deprecate XY-extent-callback."
 msgstr ""
 
-#: convertrules.py:2297
+#: convertrules.py:2298
 msgid "Use grob closures iso. XY-offset-callbacks."
 msgstr ""
 
 msgid "Use grob closures iso. XY-offset-callbacks."
 msgstr ""
 
-#: convertrules.py:2359
+#: convertrules.py:2360
 msgid "foobar -> foo-bar for \\paper, \\layout"
 msgstr ""
 
 msgid "foobar -> foo-bar for \\paper, \\layout"
 msgstr ""
 
-#: convertrules.py:2469
+#: convertrules.py:2470
 msgid "deprecate \\tempo in \\midi"
 msgstr ""
 
 msgid "deprecate \\tempo in \\midi"
 msgstr ""
 
-#: convertrules.py:2522
+#: convertrules.py:2523
 msgid "deprecate cautionary-style. Use AccidentalCautionary properties"
 msgstr ""
 
 msgid "deprecate cautionary-style. Use AccidentalCautionary properties"
 msgstr ""
 
-#: convertrules.py:2535
+#: convertrules.py:2536
 msgid "Rename accidental glyphs, use glyph-name-alist."
 msgstr ""
 
 msgid "Rename accidental glyphs, use glyph-name-alist."
 msgstr ""
 
-#: convertrules.py:2590
+#: convertrules.py:2591
 msgid "edge-text settings for TextSpanner"
 msgstr ""
 
 msgid "edge-text settings for TextSpanner"
 msgstr ""
 
-#: convertrules.py:2591
+#: convertrules.py:2592
 #, python-format
 msgid ""
 "Use\n"
 #, python-format
 msgid ""
 "Use\n"
@@ -452,124 +456,124 @@ msgid ""
 "%s"
 msgstr ""
 
 "%s"
 msgstr ""
 
-#: convertrules.py:2624
+#: convertrules.py:2625
 msgid "Use the `alignment-offsets' sub-property of\n"
 msgstr ""
 
 msgid "Use the `alignment-offsets' sub-property of\n"
 msgstr ""
 
-#: convertrules.py:2625
+#: convertrules.py:2626
 msgid "NonMusicalPaperColumn #'line-break-system-details\n"
 msgstr ""
 
 msgid "NonMusicalPaperColumn #'line-break-system-details\n"
 msgstr ""
 
-#: convertrules.py:2626
+#: convertrules.py:2627
 msgid "to set fixed distances between staves.\n"
 msgstr ""
 
 msgid "to set fixed distances between staves.\n"
 msgstr ""
 
-#: convertrules.py:2638
+#: convertrules.py:2639
 msgid "Use #'style not #'dash-fraction to select solid/dashed lines."
 msgstr ""
 
 msgid "Use #'style not #'dash-fraction to select solid/dashed lines."
 msgstr ""
 
-#: convertrules.py:2644
+#: convertrules.py:2645
 msgid "all settings related to dashed lines"
 msgstr ""
 
 msgid "all settings related to dashed lines"
 msgstr ""
 
-#: convertrules.py:2645
+#: convertrules.py:2646
 msgid "Use \\override ... #'style = #'line for solid lines and\n"
 msgstr ""
 
 msgid "Use \\override ... #'style = #'line for solid lines and\n"
 msgstr ""
 
-#: convertrules.py:2646
+#: convertrules.py:2647
 msgid "\t\\override ... #'style = #'dashed-line for dashed lines."
 msgstr ""
 
 msgid "\t\\override ... #'style = #'dashed-line for dashed lines."
 msgstr ""
 
-#: convertrules.py:2682
+#: convertrules.py:2683
 msgid ""
 "metronomeMarkFormatter uses text markup as second argument,\n"
 "fret diagram properties moved to fret-diagram-details."
 msgstr ""
 
 msgid ""
 "metronomeMarkFormatter uses text markup as second argument,\n"
 "fret diagram properties moved to fret-diagram-details."
 msgstr ""
 
-#: convertrules.py:2688
+#: convertrules.py:2689
 msgid "metronomeMarkFormatter got an additional text argument.\n"
 msgstr ""
 
 msgid "metronomeMarkFormatter got an additional text argument.\n"
 msgstr ""
 
-#: convertrules.py:2689
+#: convertrules.py:2690
 #, python-format
 msgid ""
 "The function assigned to Score.metronomeMarkFunction now uses the signature\n"
 "%s"
 msgstr ""
 
 #, python-format
 msgid ""
 "The function assigned to Score.metronomeMarkFunction now uses the signature\n"
 "%s"
 msgstr ""
 
-#: convertrules.py:2707
+#: convertrules.py:2708
 #, python-format
 msgid "%s in fret-diagram properties"
 msgstr ""
 
 #, python-format
 msgid "%s in fret-diagram properties"
 msgstr ""
 
-#: convertrules.py:2751
+#: convertrules.py:2752
 msgid "\\put-adjacent argument order"
 msgstr ""
 
 msgid "\\put-adjacent argument order"
 msgstr ""
 
-#: convertrules.py:2752
+#: convertrules.py:2753
 msgid "Axis and direction now come before markups:\n"
 msgstr ""
 
 msgid "Axis and direction now come before markups:\n"
 msgstr ""
 
-#: convertrules.py:2753
+#: convertrules.py:2754
 msgid "\\put-adjacent axis dir markup markup."
 msgstr ""
 
 msgid "\\put-adjacent axis dir markup markup."
 msgstr ""
 
-#: convertrules.py:2784
+#: convertrules.py:2785
 msgid "re-definition of InnerStaffGroup"
 msgstr ""
 
 msgid "re-definition of InnerStaffGroup"
 msgstr ""
 
-#: convertrules.py:2789
+#: convertrules.py:2790
 msgid "re-definition of InnerChoirStaff"
 msgstr ""
 
 msgid "re-definition of InnerChoirStaff"
 msgstr ""
 
-#: convertrules.py:2799
+#: convertrules.py:2800
 msgid "Syntax changes for \\addChordShape and \\chord-shape"
 msgstr ""
 
 msgid "Syntax changes for \\addChordShape and \\chord-shape"
 msgstr ""
 
-#: convertrules.py:2804
+#: convertrules.py:2805
 msgid "stringTuning must be added to addChordShape call.\n"
 msgstr ""
 
 msgid "stringTuning must be added to addChordShape call.\n"
 msgstr ""
 
-#: convertrules.py:2809
+#: convertrules.py:2810
 msgid "stringTuning must be added to chord-shape call.\n"
 msgstr ""
 
 msgid "stringTuning must be added to chord-shape call.\n"
 msgstr ""
 
-#: convertrules.py:2815
+#: convertrules.py:2816
 msgid "Remove oldaddlyrics"
 msgstr ""
 
 msgid "Remove oldaddlyrics"
 msgstr ""
 
-#: convertrules.py:2819
+#: convertrules.py:2820
 msgid ""
 "oldaddlyrics is no longer supported. \n"
 "         Use addlyrics or lyrsicsto instead.\n"
 msgstr ""
 
 msgid ""
 "oldaddlyrics is no longer supported. \n"
 "         Use addlyrics or lyrsicsto instead.\n"
 msgstr ""
 
-#: convertrules.py:2825
+#: convertrules.py:2826
 msgid ""
 "keySignature property not reversed any more\n"
 "MIDI 47: orchestral strings -> orchestral harp"
 msgstr ""
 
 msgid ""
 "keySignature property not reversed any more\n"
 "MIDI 47: orchestral strings -> orchestral harp"
 msgstr ""
 
-#: convertrules.py:2830
+#: convertrules.py:2831
 msgid "The alist for Staff.keySignature is no longer in reversed order.\n"
 msgstr ""
 
 msgid "The alist for Staff.keySignature is no longer in reversed order.\n"
 msgstr ""
 
-#: convertrules.py:2836
+#: convertrules.py:2837
 msgid ""
 "\\bar \".\" now produces a thick barline\n"
 "ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n"
 "Dash parameters for slurs and ties are now in dash-definition"
 msgstr ""
 
 msgid ""
 "\\bar \".\" now produces a thick barline\n"
 "ly:hairpin::after-line-breaking -> ly:spanner::kill-zero-spanned-time\n"
 "Dash parameters for slurs and ties are now in dash-definition"
 msgstr ""
 
-#: convertrules.py:2842
+#: convertrules.py:2843
 msgid "\\bar \".\" now produces a thick barline.\n"
 msgstr ""
 
 msgid "\\bar \".\" now produces a thick barline.\n"
 msgstr ""
 
-#: convertrules.py:2848
+#: convertrules.py:2849
 msgid "Dash parameters for slurs and ties are now in 'dash-details.\n"
 msgstr ""
 
 msgid "Dash parameters for slurs and ties are now in 'dash-details.\n"
 msgstr ""
 
-#: convertrules.py:2853
+#: convertrules.py:2854
 msgid ""
 "Autobeaming rules have changed.  override-auto-beam-setting and\n"
 "revert-auto-beam-setting have been eliminated.\n"
 msgid ""
 "Autobeaming rules have changed.  override-auto-beam-setting and\n"
 "revert-auto-beam-setting have been eliminated.\n"
@@ -584,27 +588,27 @@ msgid ""
 "template replaced by new `Dynamics' context."
 msgstr ""
 
 "template replaced by new `Dynamics' context."
 msgstr ""
 
-#: convertrules.py:2867
+#: convertrules.py:2868
 msgid "    Autobeam settings are now overriden with \\overrideBeamSettings.\n"
 msgstr ""
 
 msgid "    Autobeam settings are now overriden with \\overrideBeamSettings.\n"
 msgstr ""
 
-#: convertrules.py:2872
+#: convertrules.py:2873
 msgid "    Autobeam settings are now reverted with \\revertBeamSettings.\n"
 msgstr ""
 
 msgid "    Autobeam settings are now reverted with \\revertBeamSettings.\n"
 msgstr ""
 
-#: convertrules.py:2878
+#: convertrules.py:2879
 msgid ""
 "    beatGrouping with a specified context must now be accomplished with\n"
 "   \\overrideBeamSettings.\n"
 msgstr ""
 
 msgid ""
 "    beatGrouping with a specified context must now be accomplished with\n"
 "   \\overrideBeamSettings.\n"
 msgstr ""
 
-#: convertrules.py:2884
+#: convertrules.py:2885
 msgid ""
 "alignment-offsets has been changed to alignment-distances: you must now "
 "specify the distances between staves rather than the offset of staves.\n"
 msgstr ""
 
 msgid ""
 "alignment-offsets has been changed to alignment-distances: you must now "
 "specify the distances between staves rather than the offset of staves.\n"
 msgstr ""
 
-#: convertrules.py:2895
+#: convertrules.py:2896
 msgid ""
 "Remove obsolete engravers/translators: Note_swallow_translator,\n"
 "Rest_swallow_translator, Skip_event_swallow_translator, Swallow_engraver,\n"
 msgid ""
 "Remove obsolete engravers/translators: Note_swallow_translator,\n"
 "Rest_swallow_translator, Skip_event_swallow_translator, Swallow_engraver,\n"
@@ -612,47 +616,47 @@ msgid ""
 "New vertical spacing variables."
 msgstr ""
 
 "New vertical spacing variables."
 msgstr ""
 
-#: convertrules.py:2926
+#: convertrules.py:2927
 msgid ""
 "Vertical spacing no longer depends on the Y-extent of a VerticalAxisGroup.\n"
 msgstr ""
 
 msgid ""
 "Vertical spacing no longer depends on the Y-extent of a VerticalAxisGroup.\n"
 msgstr ""
 
-#: convertrules.py:2932
+#: convertrules.py:2933
 msgid "Unify fetaNumber and fetaDynamic encodings"
 msgstr ""
 
 msgid "Unify fetaNumber and fetaDynamic encodings"
 msgstr ""
 
-#: convertrules.py:2937
+#: convertrules.py:2938
 msgid "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves"
 msgstr ""
 
 msgid "\\RemoveEmpty*StaffContext -> \\*Staff \\RemoveEmptyStaves"
 msgstr ""
 
-#: convertrules.py:2948
+#: convertrules.py:2949
 msgid "\\cresc etc. are now postfix operators"
 msgstr ""
 
 msgid "\\cresc etc. are now postfix operators"
 msgstr ""
 
-#: convertrules.py:2960
+#: convertrules.py:2961
 msgid ""
 "Eliminate beamSettings, beatLength, \\setBeatGrouping, "
 "\\overrideBeamSettings and \\revertBeamSettings.\n"
 "\"accordion.accEtcbase\" -> \"accordion.etcbass\""
 msgstr ""
 
 msgid ""
 "Eliminate beamSettings, beatLength, \\setBeatGrouping, "
 "\\overrideBeamSettings and \\revertBeamSettings.\n"
 "\"accordion.accEtcbase\" -> \"accordion.etcbass\""
 msgstr ""
 
-#: convertrules.py:2978
+#: convertrules.py:2979
 msgid "Use \\set beamExceptions or \\overrideTimeSignatureSettings.\n"
 msgstr ""
 
 msgid "Use \\set beamExceptions or \\overrideTimeSignatureSettings.\n"
 msgstr ""
 
-#: convertrules.py:2982
+#: convertrules.py:2983
 msgid "Use \\set beamExceptions or \\revertTimeSignatureSettings.\n"
 msgstr ""
 
 msgid "Use \\set beamExceptions or \\revertTimeSignatureSettings.\n"
 msgstr ""
 
-#: convertrules.py:2986
+#: convertrules.py:2987
 msgid "Use baseMoment, beatStructure, and beamExceptions.\n"
 msgstr ""
 
 msgid "Use baseMoment, beatStructure, and beamExceptions.\n"
 msgstr ""
 
-#: convertrules.py:2990 convertrules.py:2994
+#: convertrules.py:2991 convertrules.py:2995
 msgid "Use baseMoment and beatStructure.\n"
 msgstr ""
 
 msgid "Use baseMoment and beatStructure.\n"
 msgstr ""
 
-#: convertrules.py:2999
+#: convertrules.py:3000
 msgid ""
 "Woodwind diagrams: Move size, thickness, and graphic from argument list to "
 "properties.\n"
 msgid ""
 "Woodwind diagrams: Move size, thickness, and graphic from argument list to "
 "properties.\n"
@@ -660,117 +664,121 @@ msgid ""
 "instead."
 msgstr ""
 
 "instead."
 msgstr ""
 
-#: convertrules.py:3004
+#: convertrules.py:3005
 msgid ""
 "Move size, thickness, and graphic to properties.  Argument should be just "
 "the key list.\n"
 msgstr ""
 
 msgid ""
 "Move size, thickness, and graphic to properties.  Argument should be just "
 "the key list.\n"
 msgstr ""
 
-#: convertrules.py:3012
+#: convertrules.py:3013
 msgid ""
 "Rename vertical spacing variables.\n"
 "Add fretboard-table argument to savePredefinedFretboard."
 msgstr ""
 
 msgid ""
 "Rename vertical spacing variables.\n"
 "Add fretboard-table argument to savePredefinedFretboard."
 msgstr ""
 
-#: convertrules.py:3030
+#: convertrules.py:3031
 msgid "Rename vertical spacing grob properties."
 msgstr ""
 
 msgid "Rename vertical spacing grob properties."
 msgstr ""
 
-#: convertrules.py:3046
+#: convertrules.py:3047
 msgid "Remove \\paper variables head-separation and foot-separation."
 msgstr ""
 
 msgid "Remove \\paper variables head-separation and foot-separation."
 msgstr ""
 
-#: convertrules.py:3050
+#: convertrules.py:3051
 msgid "Adjust settings for top-system-spacing instead.\n"
 msgstr ""
 
 msgid "Adjust settings for top-system-spacing instead.\n"
 msgstr ""
 
-#: convertrules.py:3054
+#: convertrules.py:3055
 msgid "Adjust settings for last-bottom-spacing instead.\n"
 msgstr ""
 
 msgid "Adjust settings for last-bottom-spacing instead.\n"
 msgstr ""
 
-#: convertrules.py:3060
+#: convertrules.py:3061
 msgid ""
 "Rename space to basic-distance in various spacing alists.\n"
 "Remove HarmonicParenthesesItem grob."
 msgstr ""
 
 msgid ""
 "Rename space to basic-distance in various spacing alists.\n"
 "Remove HarmonicParenthesesItem grob."
 msgstr ""
 
-#: convertrules.py:3067
+#: convertrules.py:3068
 msgid "HarmonicParenthesesItem has been eliminated.\n"
 msgstr ""
 
 msgid "HarmonicParenthesesItem has been eliminated.\n"
 msgstr ""
 
-#: convertrules.py:3068
+#: convertrules.py:3069
 msgid "Harmonic parentheses are part of the TabNoteHead grob.\n"
 msgstr ""
 
 msgid "Harmonic parentheses are part of the TabNoteHead grob.\n"
 msgstr ""
 
-#: convertrules.py:3073
+#: convertrules.py:3074
 msgid ""
 "Remove context from overrideTimeSignatureSettings and "
 "revertTimeSignatureSettings.\n"
 msgstr ""
 
 msgid ""
 "Remove context from overrideTimeSignatureSettings and "
 "revertTimeSignatureSettings.\n"
 msgstr ""
 
-#: convertrules.py:3080
+#: convertrules.py:3081
 msgid ""
 "Change stringTunings from a list of semitones to a list of pitches.\n"
 "Change tenor and baritone ukulele names in string tunings.\n"
 "Generate messages for manual conversion of vertical spacing if required."
 msgstr ""
 
 msgid ""
 "Change stringTunings from a list of semitones to a list of pitches.\n"
 "Change tenor and baritone ukulele names in string tunings.\n"
 "Generate messages for manual conversion of vertical spacing if required."
 msgstr ""
 
-#: convertrules.py:3123
+#: convertrules.py:3124
 msgid "Vertical spacing changes might affect user-defined contexts."
 msgstr ""
 
 msgid "Vertical spacing changes might affect user-defined contexts."
 msgstr ""
 
-#: convertrules.py:3129
+#: convertrules.py:3130
 msgid "Replace bar-size with bar-extent."
 msgstr ""
 
 msgid "Replace bar-size with bar-extent."
 msgstr ""
 
-#: convertrules.py:3141
+#: convertrules.py:3142
 msgid "Woodwind diagrams: Changes to the clarinet diagram."
 msgstr ""
 
 msgid "Woodwind diagrams: Changes to the clarinet diagram."
 msgstr ""
 
-#: convertrules.py:3145
+#: convertrules.py:3146
 msgid "Clarinet fingering changed to reflect actual anatomy of instrument.\n"
 msgstr ""
 
 msgid "Clarinet fingering changed to reflect actual anatomy of instrument.\n"
 msgstr ""
 
-#: convertrules.py:3155
+#: convertrules.py:3156
 msgid "Handling of non-automatic footnotes."
 msgstr ""
 
 msgid "Handling of non-automatic footnotes."
 msgstr ""
 
-#: convertrules.py:3159
+#: convertrules.py:3160
 msgid ""
 "If you are using non-automatic footnotes, make sure to set footnote-auto-"
 "numbering = ##f in the paper block.\n"
 msgstr ""
 
 msgid ""
 "If you are using non-automatic footnotes, make sure to set footnote-auto-"
 "numbering = ##f in the paper block.\n"
 msgstr ""
 
-#: convertrules.py:3164
+#: convertrules.py:3165
 msgid "Change in internal property for MultiMeasureRest"
 msgstr ""
 
 msgid "Change in internal property for MultiMeasureRest"
 msgstr ""
 
-#: convertrules.py:3168
+#: convertrules.py:3169
 msgid ""
 "This internal property has been replaced by round-up-to-longer-rest, round-"
 "up-exceptions and usable-duration-logs.\n"
 msgstr ""
 
 msgid ""
 "This internal property has been replaced by round-up-to-longer-rest, round-"
 "up-exceptions and usable-duration-logs.\n"
 msgstr ""
 
-#: convertrules.py:3173
+#: convertrules.py:3174
 msgid ""
 "Creation of a Flag grob and moving of certain Stem properties to this grob"
 msgstr ""
 
 msgid ""
 "Creation of a Flag grob and moving of certain Stem properties to this grob"
 msgstr ""
 
-#: convertrules.py:3209
+#: convertrules.py:3210
 msgid ""
 "consistent-broken-slope is now handled through the positions callback.\n"
 msgstr ""
 
 msgid ""
 "consistent-broken-slope is now handled through the positions callback.\n"
 msgstr ""
 
-#: convertrules.py:3210
+#: convertrules.py:3211
 msgid ""
 "input/regression/beam-broken-classic.ly shows how broken beams are now "
 "handled.\n"
 msgstr ""
 
 msgid ""
 "input/regression/beam-broken-classic.ly shows how broken beams are now "
 "handled.\n"
 msgstr ""
 
-#: convertrules.py:3368
+#: convertrules.py:3369
 msgid "beamExceptions controls whole-measure beaming."
 msgstr ""
 
 msgid "beamExceptions controls whole-measure beaming."
 msgstr ""
 
+#: convertrules.py:3584
+msgid "Flag.transparent and Flag.color inherit from Stem"
+msgstr ""
+
 #: fontextract.py:25
 #, python-format
 msgid "Scanning %s"
 #: fontextract.py:25
 #, python-format
 msgid "Scanning %s"
@@ -1184,78 +1192,78 @@ msgstr ""
 msgid "create PDF files for use with PDFTeX"
 msgstr ""
 
 msgid "create PDF files for use with PDFTeX"
 msgstr ""
 
-#: lilypond-book.py:455
+#: lilypond-book.py:460
 msgid "Writing snippets..."
 msgstr ""
 
 msgid "Writing snippets..."
 msgstr ""
 
-#: lilypond-book.py:460
+#: lilypond-book.py:465
 msgid "Processing..."
 msgstr ""
 
 msgid "Processing..."
 msgstr ""
 
-#: lilypond-book.py:465
+#: lilypond-book.py:470
 msgid "All snippets are up to date..."
 msgstr ""
 
 msgid "All snippets are up to date..."
 msgstr ""
 
-#: lilypond-book.py:467
+#: lilypond-book.py:472
 msgid "Linking files..."
 msgstr ""
 
 msgid "Linking files..."
 msgstr ""
 
-#: lilypond-book.py:487
+#: lilypond-book.py:492
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr ""
 
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr ""
 
-#: lilypond-book.py:496
+#: lilypond-book.py:501
 #, python-format
 msgid "%s is up to date."
 msgstr ""
 
 #, python-format
 msgid "%s is up to date."
 msgstr ""
 
-#: lilypond-book.py:509
+#: lilypond-book.py:514
 #, python-format
 msgid "Writing `%s'..."
 msgstr ""
 
 #, python-format
 msgid "Writing `%s'..."
 msgstr ""
 
-#: lilypond-book.py:570
+#: lilypond-book.py:577
 msgid "Output would overwrite input file; use --output."
 msgstr ""
 
 msgid "Output would overwrite input file; use --output."
 msgstr ""
 
-#: lilypond-book.py:574
+#: lilypond-book.py:581
 #, python-format
 msgid "Reading %s..."
 msgstr ""
 
 #, python-format
 msgid "Reading %s..."
 msgstr ""
 
-#: lilypond-book.py:581
+#: lilypond-book.py:588
 msgid "Dissecting..."
 msgstr ""
 
 msgid "Dissecting..."
 msgstr ""
 
-#: lilypond-book.py:592
+#: lilypond-book.py:599
 #, python-format
 msgid "Compiling %s..."
 msgstr ""
 
 #, python-format
 msgid "Compiling %s..."
 msgstr ""
 
-#: lilypond-book.py:600
+#: lilypond-book.py:607
 #, python-format
 msgid "Processing include: %s"
 msgstr ""
 
 #, python-format
 msgid "Processing include: %s"
 msgstr ""
 
-#: lilypond-book.py:611
+#: lilypond-book.py:618
 #, python-format
 msgid "Removing `%s'"
 msgstr ""
 
 #, python-format
 msgid "Removing `%s'"
 msgstr ""
 
-#: lilypond-book.py:704
+#: lilypond-book.py:711
 #, python-format
 msgid "Setting LilyPond's loglevel to %s"
 msgstr ""
 
 #, python-format
 msgid "Setting LilyPond's loglevel to %s"
 msgstr ""
 
-#: lilypond-book.py:708
+#: lilypond-book.py:715
 #, python-format
 msgid ""
 "Setting LilyPond's loglevel to %s (from environment variable "
 "LILYPOND_LOGLEVEL)"
 msgstr ""
 
 #, python-format
 msgid ""
 "Setting LilyPond's loglevel to %s (from environment variable "
 "LILYPOND_LOGLEVEL)"
 msgstr ""
 
-#: lilypond-book.py:711
+#: lilypond-book.py:718
 msgid ""
 "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
 msgstr ""
 msgid ""
 "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
 msgstr ""
@@ -1673,7 +1681,7 @@ msgstr ""
 msgid "\\applycontext argument is not a procedure"
 msgstr ""
 
 msgid "\\applycontext argument is not a procedure"
 msgstr ""
 
-#: arpeggio.cc:115
+#: arpeggio.cc:138
 msgid "no heads for arpeggio found?"
 msgstr ""
 
 msgid "no heads for arpeggio found?"
 msgstr ""
 
@@ -1694,12 +1702,12 @@ msgstr ""
 msgid "removing this vertical group"
 msgstr ""
 
 msgid "removing this vertical group"
 msgstr ""
 
-#: axis-group-interface.cc:701
+#: axis-group-interface.cc:704
 #, c-format
 msgid "\"%s\" is not a valid outside-staff-placement-directive"
 msgstr ""
 
 #, c-format
 msgid "\"%s\" is not a valid outside-staff-placement-directive"
 msgstr ""
 
-#: axis-group-interface.cc:771
+#: axis-group-interface.cc:776
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr ""
 
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr ""
 
@@ -1708,23 +1716,23 @@ msgstr ""
 msgid "barcheck failed at: %s"
 msgstr ""
 
 msgid "barcheck failed at: %s"
 msgstr ""
 
-#: beam-engraver.cc:147
+#: beam-engraver.cc:148
 msgid "already have a beam"
 msgstr ""
 
 msgid "already have a beam"
 msgstr ""
 
-#: beam-engraver.cc:230
+#: beam-engraver.cc:231
 msgid "unterminated beam"
 msgstr ""
 
 msgid "unterminated beam"
 msgstr ""
 
-#: beam-engraver.cc:266 chord-tremolo-engraver.cc:149
+#: beam-engraver.cc:270 chord-tremolo-engraver.cc:149
 msgid "stem must have Rhythmic structure"
 msgstr ""
 
 msgid "stem must have Rhythmic structure"
 msgstr ""
 
-#: beam-engraver.cc:277
+#: beam-engraver.cc:281
 msgid "stem does not fit in beam"
 msgstr ""
 
 msgid "stem does not fit in beam"
 msgstr ""
 
-#: beam-engraver.cc:278
+#: beam-engraver.cc:282
 msgid "beam was started here"
 msgstr ""
 
 msgid "beam was started here"
 msgstr ""
 
@@ -1802,12 +1810,12 @@ msgstr ""
 msgid "cannot find or create new `%s'"
 msgstr ""
 
 msgid "cannot find or create new `%s'"
 msgstr ""
 
-#: context.cc:207
+#: context.cc:228
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr ""
 
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr ""
 
-#: context.cc:406
+#: context.cc:425
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr ""
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr ""
@@ -1817,20 +1825,20 @@ msgstr ""
 msgid "custos `%s' not found"
 msgstr ""
 
 msgid "custos `%s' not found"
 msgstr ""
 
-#: dispatcher.cc:83
+#: dispatcher.cc:89
 msgid "Event class should be a list"
 msgstr ""
 
 msgid "Event class should be a list"
 msgstr ""
 
-#: dispatcher.cc:166
+#: dispatcher.cc:172
 #, c-format
 msgid "Junking event: %s"
 msgstr ""
 
 #, c-format
 msgid "Junking event: %s"
 msgstr ""
 
-#: dispatcher.cc:262
+#: dispatcher.cc:277
 msgid "Attempting to remove nonexisting listener."
 msgstr ""
 
 msgid "Attempting to remove nonexisting listener."
 msgstr ""
 
-#: dispatcher.cc:284
+#: dispatcher.cc:303
 msgid "Already listening to dispatcher, ignoring request"
 msgstr ""
 
 msgid "Already listening to dispatcher, ignoring request"
 msgstr ""
 
@@ -1985,7 +1993,7 @@ msgstr ""
 msgid "%d: %s"
 msgstr ""
 
 msgid "%d: %s"
 msgstr ""
 
-#: grob.cc:478
+#: grob.cc:488
 #, c-format
 msgid "ignored infinite %s-offset"
 msgstr ""
 #, c-format
 msgid "ignored infinite %s-offset"
 msgstr ""
@@ -2041,31 +2049,31 @@ msgstr ""
 msgid "alteration not found"
 msgstr ""
 
 msgid "alteration not found"
 msgstr ""
 
-#: ligature-bracket-engraver.cc:72 ligature-engraver.cc:104
+#: ligature-bracket-engraver.cc:72 ligature-engraver.cc:109
 msgid "cannot find start of ligature"
 msgstr ""
 
 msgid "cannot find start of ligature"
 msgstr ""
 
-#: ligature-bracket-engraver.cc:85 ligature-engraver.cc:131
+#: ligature-bracket-engraver.cc:85 ligature-engraver.cc:136
 msgid "already have a ligature"
 msgstr ""
 
 msgid "already have a ligature"
 msgstr ""
 
-#: ligature-engraver.cc:109
+#: ligature-engraver.cc:114
 msgid "no right bound"
 msgstr ""
 
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:140
+#: ligature-engraver.cc:145
 msgid "no left bound"
 msgstr ""
 
 msgid "no left bound"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:189
 msgid "unterminated ligature"
 msgstr ""
 
 msgid "unterminated ligature"
 msgstr ""
 
-#: ligature-engraver.cc:211
+#: ligature-engraver.cc:216
 msgid "ignoring rest: ligature may not contain rest"
 msgstr ""
 
 msgid "ignoring rest: ligature may not contain rest"
 msgstr ""
 
-#: ligature-engraver.cc:212
+#: ligature-engraver.cc:217
 msgid "ligature was started here"
 msgstr ""
 
 msgid "ligature was started here"
 msgstr ""
 
@@ -2074,34 +2082,34 @@ msgstr ""
 msgid "(load path: `%s')"
 msgstr ""
 
 msgid "(load path: `%s')"
 msgstr ""
 
-#: lily-guile.cc:404
+#: lily-guile.cc:412
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
 msgstr ""
 
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:407
+#: lily-guile.cc:415
 msgid "perhaps a typing error?"
 msgstr ""
 
 msgid "perhaps a typing error?"
 msgstr ""
 
-#: lily-guile.cc:414
-msgid "doing assignment anyway"
+#: lily-guile.cc:422
+msgid "skipping assignment"
 msgstr ""
 
 msgstr ""
 
-#: lily-guile.cc:426
+#: lily-guile.cc:442
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lily-lexer.cc:246
+#: lily-lexer.cc:249
 msgid "include files are not allowed in safe mode"
 msgstr ""
 
 msgid "include files are not allowed in safe mode"
 msgstr ""
 
-#: lily-lexer.cc:273
+#: lily-lexer.cc:276
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr ""
 
 #, c-format
 msgid "identifier name is a keyword: `%s'"
 msgstr ""
 
-#: lily-lexer.cc:294 lily-lexer.cc:307
+#: lily-lexer.cc:297 lily-lexer.cc:310
 #, c-format
 msgid "%s:EOF"
 msgstr ""
 #, c-format
 msgid "%s:EOF"
 msgstr ""
@@ -2126,19 +2134,19 @@ msgstr ""
 msgid "Processing `%s'"
 msgstr ""
 
 msgid "Processing `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:208
+#: lily-parser-scheme.cc:209
 msgid ""
 "ly:parser-parse-string is only valid with a new parser.  Use ly:parser-"
 "include-string instead."
 msgstr ""
 
 msgid ""
 "ly:parser-parse-string is only valid with a new parser.  Use ly:parser-"
 "include-string instead."
 msgstr ""
 
-#: lily-parser-scheme.cc:239
+#: lily-parser-scheme.cc:240
 msgid ""
 "ly:parse-string-expression is only valid with a new parser.  Use ly:parser-"
 "include-string instead."
 msgstr ""
 
 msgid ""
 "ly:parse-string-expression is only valid with a new parser.  Use ly:parser-"
 "include-string instead."
 msgstr ""
 
-#: lily-parser.cc:108
+#: lily-parser.cc:107
 msgid "Parsing..."
 msgstr ""
 
 msgid "Parsing..."
 msgstr ""
 
@@ -2418,12 +2426,12 @@ msgstr ""
 msgid "Time signature with more than 255 beats.  Truncating"
 msgstr ""
 
 msgid "Time signature with more than 255 beats.  Truncating"
 msgstr ""
 
-#: midi-stream.cc:39
+#: midi-stream.cc:38
 #, c-format
 msgid "cannot open for write: %s: %s"
 msgstr ""
 
 #, c-format
 msgid "cannot open for write: %s: %s"
 msgstr ""
 
-#: midi-stream.cc:55
+#: midi-stream.cc:54
 #, c-format
 msgid "cannot write to file: `%s'"
 msgstr ""
 #, c-format
 msgid "cannot write to file: `%s'"
 msgstr ""
@@ -2436,12 +2444,12 @@ msgstr ""
 msgid "Calculating page breaks..."
 msgstr ""
 
 msgid "Calculating page breaks..."
 msgstr ""
 
-#: multi-measure-rest.cc:153
+#: multi-measure-rest.cc:154
 msgid ""
 "usable-duration-logs must be a non-empty list.  Falling back to whole rests."
 msgstr ""
 
 msgid ""
 "usable-duration-logs must be a non-empty list.  Falling back to whole rests."
 msgstr ""
 
-#: multi-measure-rest.cc:343
+#: multi-measure-rest.cc:364
 msgid "Using naive multi measure rest spacing."
 msgstr ""
 
 msgid "Using naive multi measure rest spacing."
 msgstr ""
 
@@ -2466,7 +2474,7 @@ msgid ""
 "defaulting to hairpin."
 msgstr ""
 
 "defaulting to hairpin."
 msgstr ""
 
-#: new-dynamic-engraver.cc:233
+#: new-dynamic-engraver.cc:233 slur-proto-engraver.cc:119
 #, c-format
 msgid "unterminated %s"
 msgstr ""
 #, c-format
 msgid "unterminated %s"
 msgstr ""
@@ -2597,27 +2605,27 @@ msgid ""
 "values"
 msgstr ""
 
 "values"
 msgstr ""
 
-#: page-layout-problem.cc:403
+#: page-layout-problem.cc:402
 msgid ""
 "A page layout problem has been initiated that cannot accommodate footnotes."
 msgstr ""
 
 msgid ""
 "A page layout problem has been initiated that cannot accommodate footnotes."
 msgstr ""
 
-#: page-layout-problem.cc:732
+#: page-layout-problem.cc:731
 msgid ""
 "cannot fit music on page: ragged-spacing was requested, but page was "
 "compressed"
 msgstr ""
 
 msgid ""
 "cannot fit music on page: ragged-spacing was requested, but page was "
 "compressed"
 msgstr ""
 
-#: page-layout-problem.cc:735
+#: page-layout-problem.cc:734
 #, c-format
 msgid "cannot fit music on page: overflow is %f"
 msgstr ""
 
 #, c-format
 msgid "cannot fit music on page: overflow is %f"
 msgstr ""
 
-#: page-layout-problem.cc:737
+#: page-layout-problem.cc:736
 msgid "compressing music to fit"
 msgstr ""
 
 msgid "compressing music to fit"
 msgstr ""
 
-#: page-layout-problem.cc:1197
+#: page-layout-problem.cc:1199
 msgid "staff-affinities should only decrease"
 msgstr ""
 
 msgid "staff-affinities should only decrease"
 msgstr ""
 
@@ -2693,7 +2701,7 @@ msgstr ""
 msgid "program option -dpreview not supported by backend `%s'"
 msgstr ""
 
 msgid "program option -dpreview not supported by backend `%s'"
 msgstr ""
 
-#: paper-column-engraver.cc:261
+#: paper-column-engraver.cc:263
 msgid ""
 "forced break was overridden by some other event, should you be using bar "
 "checks?"
 msgid ""
 "forced break was overridden by some other event, should you be using bar "
 "checks?"
@@ -2721,7 +2729,7 @@ msgstr ""
 msgid "trying to use \\partial after the start of a piece"
 msgstr ""
 
 msgid "trying to use \\partial after the start of a piece"
 msgstr ""
 
-#: pdf-scheme.cc:50
+#: pdf-scheme.cc:65
 #, c-format
 msgid "Conversion of string `%s' to UTF-16be failed: %s"
 msgstr ""
 #, c-format
 msgid "Conversion of string `%s' to UTF-16be failed: %s"
 msgstr ""
@@ -2739,25 +2747,6 @@ msgstr ""
 msgid "MIDI output to `%s'..."
 msgstr ""
 
 msgid "MIDI output to `%s'..."
 msgstr ""
 
-#: phrasing-slur-engraver.cc:101 slur-engraver.cc:102
-#, c-format
-msgid "direction of %s invalid: %d"
-msgstr ""
-
-#: phrasing-slur-engraver.cc:175
-msgid "unterminated phrasing slur"
-msgstr ""
-
-#: phrasing-slur-engraver.cc:210
-msgid "cannot end phrasing slur"
-msgstr ""
-
-#. We already have an old slur, so give a warning
-#. and completely ignore the new slur.
-#: phrasing-slur-engraver.cc:230
-msgid "already have phrasing slur"
-msgstr ""
-
 #: piano-pedal-engraver.cc:279
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
 #: piano-pedal-engraver.cc:279
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
@@ -2774,7 +2763,7 @@ msgstr ""
 msgid "cannot find start of piano pedal bracket: `%s'"
 msgstr ""
 
 msgid "cannot find start of piano pedal bracket: `%s'"
 msgstr ""
 
-#: program-option-scheme.cc:235
+#: program-option-scheme.cc:223
 #, c-format
 msgid "no such internal option: %s"
 msgstr ""
 #, c-format
 msgid "no such internal option: %s"
 msgstr ""
@@ -2866,15 +2855,15 @@ msgstr ""
 msgid "rhythmic head is not part of a rhythmic column"
 msgstr ""
 
 msgid "rhythmic head is not part of a rhythmic column"
 msgstr ""
 
-#: rest-collision.cc:146
+#: rest-collision.cc:150
 msgid "cannot resolve rest collision: rest direction not set"
 msgstr ""
 
 msgid "cannot resolve rest collision: rest direction not set"
 msgstr ""
 
-#: rest-collision.cc:157 rest-collision.cc:266
+#: rest-collision.cc:161 rest-collision.cc:270
 msgid "too many colliding rests"
 msgstr ""
 
 msgid "too many colliding rests"
 msgstr ""
 
-#: rest.cc:192
+#: rest.cc:240
 #, c-format
 msgid "rest `%s' not found"
 msgstr ""
 #, c-format
 msgid "rest `%s' not found"
 msgstr ""
@@ -2922,21 +2911,29 @@ msgstr ""
 msgid "direction must not be CENTER in ly:skyline-pair::skyline"
 msgstr ""
 
 msgid "direction must not be CENTER in ly:skyline-pair::skyline"
 msgstr ""
 
-#: slur-engraver.cc:176
-msgid "unterminated slur"
-msgstr ""
-
-#: slur-engraver.cc:211
-msgid "cannot end slur"
+#: slur-proto-engraver.cc:51
+#, c-format
+msgid "direction of %s invalid: %d"
 msgstr ""
 
 #. We already have an old slur, so give a warning
 #. and completely ignore the new slur.
 msgstr ""
 
 #. We already have an old slur, so give a warning
 #. and completely ignore the new slur.
-#: slur-engraver.cc:231
-msgid "already have slur"
+#: slur-proto-engraver.cc:166
+#, c-format
+msgid "already have %s"
+msgstr ""
+
+#: slur-proto-engraver.cc:183
+#, c-format
+msgid "%s without a cause"
 msgstr ""
 
 msgstr ""
 
-#: slur.cc:430
+#: slur-proto-engraver.cc:244
+#, c-format
+msgid "cannot end %s"
+msgstr ""
+
+#: slur.cc:434
 #, c-format
 msgid "Ignoring grob for slur: %s.  avoid-slur not set?"
 msgstr ""
 #, c-format
 msgid "Ignoring grob for slur: %s.  avoid-slur not set?"
 msgstr ""
@@ -2982,13 +2979,13 @@ msgid "Grob count %d"
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
-#: text-interface.cc:131
+#: text-interface.cc:129
 #, c-format
 msgid "Cyclic markup detected: %s"
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
 #, c-format
 msgid "Cyclic markup detected: %s"
 msgstr ""
 
 #. TODO: Also print the arguments of the markup!
-#: text-interface.cc:144
+#: text-interface.cc:142
 #, c-format
 msgid "Markup depth exceeds maximal value of %d; Markup: %s"
 msgstr ""
 #, c-format
 msgid "Markup depth exceeds maximal value of %d; Markup: %s"
 msgstr ""
@@ -3121,150 +3118,166 @@ msgstr ""
 msgid "Too much lookahead"
 msgstr ""
 
 msgid "Too much lookahead"
 msgstr ""
 
-#: parser.yy:464 parser.yy:732 parser.yy:799
+#: parser.yy:458 parser.yy:756 parser.yy:823
 msgid "bad expression type"
 msgstr ""
 
 msgid "bad expression type"
 msgstr ""
 
-#: parser.yy:628 parser.yy:1113
+#: parser.yy:652 parser.yy:1151
 msgid "not a context mod"
 msgstr ""
 
 msgid "not a context mod"
 msgstr ""
 
-#: parser.yy:834
+#: parser.yy:858
 msgid "score expected"
 msgstr ""
 
 msgid "score expected"
 msgstr ""
 
-#: parser.yy:850
+#: parser.yy:874
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
-#: parser.yy:874
+#: parser.yy:898
 msgid "need \\paper for paper block"
 msgstr ""
 
 msgid "need \\paper for paper block"
 msgstr ""
 
-#: parser.yy:1022 parser.yy:1033
+#: parser.yy:1046 parser.yy:1068
 msgid "unexpected post-event"
 msgstr ""
 
 msgid "unexpected post-event"
 msgstr ""
 
-#: parser.yy:1038
+#: parser.yy:1076
 msgid "Ignoring non-music expression"
 msgstr ""
 
 msgid "Ignoring non-music expression"
 msgstr ""
 
-#: parser.yy:1049 parser.yy:2304
+#: parser.yy:1087 parser.yy:2373
 msgid "music expected"
 msgstr ""
 
 msgid "music expected"
 msgstr ""
 
-#: parser.yy:1317
+#: parser.yy:1355
 msgid "not a symbol"
 msgstr ""
 
 msgid "not a symbol"
 msgstr ""
 
-#: parser.yy:2008 parser.yy:2119 parser.yy:2132 parser.yy:2141
+#: parser.yy:2044 parser.yy:2158 parser.yy:2171 parser.yy:2180
 msgid "bad grob property path"
 msgstr ""
 
 msgid "bad grob property path"
 msgstr ""
 
-#: parser.yy:2099
+#: parser.yy:2138
 msgid "only \\consists and \\remove take non-string argument."
 msgstr ""
 
 msgid "only \\consists and \\remove take non-string argument."
 msgstr ""
 
-#: parser.yy:2160
+#: parser.yy:2199
 msgid "bad context property path"
 msgstr ""
 
 msgid "bad context property path"
 msgstr ""
 
-#: parser.yy:2253 parser.yy:2257 parser.yy:2272
+#: parser.yy:2300
 msgid "simple string expected"
 msgstr ""
 
 msgid "simple string expected"
 msgstr ""
 
-#: parser.yy:2413
+#: parser.yy:2318
+msgid "symbol expected"
+msgstr ""
+
+#: parser.yy:2482
 msgid "not a rhythmic event"
 msgstr ""
 
 msgid "not a rhythmic event"
 msgstr ""
 
-#: parser.yy:2509 parser.yy:2514 parser.yy:3057
+#: parser.yy:2556
+msgid "post-event expected"
+msgstr ""
+
+#: parser.yy:2565 parser.yy:2570
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:2629
+#: parser.yy:2638
 msgid "expecting string as script definition"
 msgstr ""
 
 msgid "expecting string as script definition"
 msgstr ""
 
-#: parser.yy:2724
+#: parser.yy:2733
 msgid "not an articulation"
 msgstr ""
 
 msgid "not an articulation"
 msgstr ""
 
-#: parser.yy:2796 parser.yy:2842
+#: parser.yy:2805 parser.yy:2851
 #, c-format
 msgid "not a duration: %d"
 msgstr ""
 
 #, c-format
 msgid "not a duration: %d"
 msgstr ""
 
-#: parser.yy:2859
+#: parser.yy:2868
 msgid "bass number expected"
 msgstr ""
 
 msgid "bass number expected"
 msgstr ""
 
-#: parser.yy:2973
+#: parser.yy:2967
 msgid "have to be in Note mode for notes"
 msgstr ""
 
 msgid "have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:3032
+#: parser.yy:3026
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
-#: parser.yy:3256
+#: parser.yy:3041
+msgid "markup outside of text script or \\lyricmode"
+msgstr ""
+
+#: parser.yy:3046
+msgid "unrecognized string, not in text script or \\lyricmode"
+msgstr ""
+
+#: parser.yy:3254
 msgid "not a markup"
 msgstr ""
 
 msgid "not a markup"
 msgstr ""
 
-#: lexer.ll:210
+#: lexer.ll:214
 msgid "stray UTF-8 BOM encountered"
 msgstr ""
 
 msgid "stray UTF-8 BOM encountered"
 msgstr ""
 
-#: lexer.ll:213
+#: lexer.ll:217
 msgid "Skipping UTF-8 BOM"
 msgstr ""
 
 msgid "Skipping UTF-8 BOM"
 msgstr ""
 
-#: lexer.ll:265
+#: lexer.ll:269
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr ""
 
 #, c-format
 msgid "Renaming input to: `%s'"
 msgstr ""
 
-#: lexer.ll:282
+#: lexer.ll:286
 msgid "quoted string expected after \\version"
 msgstr ""
 
 msgid "quoted string expected after \\version"
 msgstr ""
 
-#: lexer.ll:286
+#: lexer.ll:290
 msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
 msgid "quoted string expected after \\sourcefilename"
 msgstr ""
 
-#: lexer.ll:290
+#: lexer.ll:294
 msgid "integer expected after \\sourcefileline"
 msgstr ""
 
 msgid "integer expected after \\sourcefileline"
 msgstr ""
 
-#: lexer.ll:317
+#: lexer.ll:321
 msgid "\\maininput not allowed outside init files"
 msgstr ""
 
 msgid "\\maininput not allowed outside init files"
 msgstr ""
 
-#: lexer.ll:341
+#: lexer.ll:345
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr ""
 
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr ""
 
-#: lexer.ll:367
+#: lexer.ll:371
 msgid "string expected after \\include"
 msgstr ""
 
 msgid "string expected after \\include"
 msgstr ""
 
-#: lexer.ll:377
+#: lexer.ll:381
 msgid "end quote missing"
 msgstr ""
 
 msgid "end quote missing"
 msgstr ""
 
-#: lexer.ll:689
+#: lexer.ll:717
 msgid "EOF found inside a comment"
 msgstr ""
 
 msgid "EOF found inside a comment"
 msgstr ""
 
-#: lexer.ll:694
+#: lexer.ll:722
 msgid "EOF found inside string"
 msgstr ""
 
 msgid "EOF found inside string"
 msgstr ""
 
-#: lexer.ll:709
+#: lexer.ll:737
 msgid "Unfinished main input"
 msgstr ""
 
 msgid "Unfinished main input"
 msgstr ""
 
-#: lexer.ll:809
+#: lexer.ll:804
 #, c-format
 msgid "invalid character: `%s'"
 msgstr ""
 #, c-format
 msgid "invalid character: `%s'"
 msgstr ""
@@ -3274,20 +3287,25 @@ msgstr ""
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:1214
+#: lexer.ll:951
+#, c-format
+msgid "undefined character or shorthand: %s"
+msgstr ""
+
+#: lexer.ll:1247
 msgid "non-UTF-8 input"
 msgstr ""
 
 msgid "non-UTF-8 input"
 msgstr ""
 
-#: lexer.ll:1258
+#: lexer.ll:1291
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 
-#: lexer.ll:1259
+#: lexer.ll:1292
 msgid "consider updating the input with the convert-ly script"
 msgstr ""
 
 msgid "consider updating the input with the convert-ly script"
 msgstr ""
 
-#: lexer.ll:1265
+#: lexer.ll:1298
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
@@ -3302,54 +3320,54 @@ msgstr ""
 msgid "`~a' failed (~a)\n"
 msgstr ""
 
 msgid "`~a' failed (~a)\n"
 msgstr ""
 
-#: backend-library.scm:90
+#: backend-library.scm:93
 #, scheme-format
 msgid "Converting to `~a'...\n"
 msgstr ""
 
 #. Do not try to guess the name of the png file,
 #. GS produces PNG files like BASE-page%d.png.
 #, scheme-format
 msgid "Converting to `~a'...\n"
 msgstr ""
 
 #. Do not try to guess the name of the png file,
 #. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:99
+#: backend-library.scm:102
 #, scheme-format
 msgid "Converting to ~a..."
 msgstr ""
 
 #, scheme-format
 msgid "Converting to ~a..."
 msgstr ""
 
-#: backend-library.scm:137
+#: backend-library.scm:140
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
 msgstr ""
 
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
 msgstr ""
 
-#: backend-library.scm:187
+#: backend-library.scm:190
 #, scheme-format
 msgid "missing stencil expression `~S'"
 msgstr ""
 
 #, scheme-format
 msgid "missing stencil expression `~S'"
 msgstr ""
 
-#: bar-line.scm:140
+#: bar-line.scm:133
 #, scheme-format
 msgid "Bar glyph ~a not known. Ignoring."
 msgstr ""
 
 #, scheme-format
 msgid "Bar glyph ~a not known. Ignoring."
 msgstr ""
 
-#: bar-line.scm:168
+#: bar-line.scm:161
 #, scheme-format
 msgid ""
 "Annotation '~a' is allowed in the first argument of a bar line definition "
 "only."
 msgstr ""
 
 #, scheme-format
 msgid ""
 "Annotation '~a' is allowed in the first argument of a bar line definition "
 "only."
 msgstr ""
 
-#: bar-line.scm:176
+#: bar-line.scm:169
 #, scheme-format
 msgid ""
 "Replacement '~a' is allowed in the last argument of a bar line definition "
 "only."
 msgstr ""
 
 #, scheme-format
 msgid ""
 "Replacement '~a' is allowed in the last argument of a bar line definition "
 "only."
 msgstr ""
 
-#: bar-line.scm:237
+#: bar-line.scm:230
 #, scheme-format
 msgid ""
 "add-bar-glyph-print-procedure: glyph '~a' has to be a single ASCII character."
 msgstr ""
 
 #, scheme-format
 msgid ""
 "add-bar-glyph-print-procedure: glyph '~a' has to be a single ASCII character."
 msgstr ""
 
-#: bar-line.scm:808
+#: bar-line.scm:795
 #, scheme-format
 msgid "No span bar glyph defined for bar glyph '~a'; ignoring."
 msgstr ""
 #, scheme-format
 msgid "No span bar glyph defined for bar glyph '~a'; ignoring."
 msgstr ""
@@ -3365,56 +3383,66 @@ msgstr ""
 msgid "symbol ~S redefined"
 msgstr ""
 
 msgid "symbol ~S redefined"
 msgstr ""
 
-#: define-event-classes.scm:69
+#: define-event-classes.scm:73
 #, scheme-format
 msgid "unknown parent class `~a'"
 msgstr ""
 
 #, scheme-format
 msgid "unknown parent class `~a'"
 msgstr ""
 
-#: define-markup-commands.scm:1022
+#: define-event-classes.scm:107
+#, scheme-format
+msgid "Cannot redefine event class `~S'"
+msgstr ""
+
+#: define-event-classes.scm:109
+#, scheme-format
+msgid "Undefined parent event class `~S'"
+msgstr ""
+
+#: define-markup-commands.scm:1037
 msgid "no systems found in \\score markup, does it have a \\layout block?"
 msgstr ""
 
 msgid "no systems found in \\score markup, does it have a \\layout block?"
 msgstr ""
 
-#: define-markup-commands.scm:2749
+#: define-markup-commands.scm:2832
 #, scheme-format
 msgid "Cannot find glyph ~a"
 msgstr ""
 
 #, scheme-format
 msgid "Cannot find glyph ~a"
 msgstr ""
 
-#: define-markup-commands.scm:3175
+#: define-markup-commands.scm:3258
 #, scheme-format
 msgid "no brace found for point size ~S "
 msgstr ""
 
 #, scheme-format
 msgid "no brace found for point size ~S "
 msgstr ""
 
-#: define-markup-commands.scm:3176
+#: define-markup-commands.scm:3259
 #, scheme-format
 msgid "defaulting to ~S pt"
 msgstr ""
 
 #, scheme-format
 msgid "defaulting to ~S pt"
 msgstr ""
 
-#: define-markup-commands.scm:3329
+#: define-markup-commands.scm:3503
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
 
-#: define-markup-commands.scm:3540
+#: define-markup-commands.scm:3714
 #, scheme-format
 msgid "not a valid duration string: ~a - ignoring"
 msgstr ""
 
 #, scheme-format
 msgid "not a valid duration string: ~a - ignoring"
 msgstr ""
 
-#: define-music-types.scm:770
+#: define-music-types.scm:783
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "symbol expected: ~S"
 msgstr ""
 
-#: define-music-types.scm:773
+#: define-music-types.scm:786
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find music object: ~S"
 msgstr ""
 
-#: define-music-types.scm:792
+#: define-music-types.scm:805
 #, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr ""
 
 #, scheme-format
 msgid "unknown repeat type `~S'"
 msgstr ""
 
-#: define-music-types.scm:793
+#: define-music-types.scm:806
 msgid "See define-music-types.scm for supported repeats"
 msgstr ""
 
 msgid "See define-music-types.scm for supported repeats"
 msgstr ""
 
@@ -3497,7 +3525,7 @@ msgstr ""
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr ""
 
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr ""
 
-#: framework-ps.scm:686
+#: framework-ps.scm:687
 msgid ""
 "\n"
 "The PostScript backend does not support the\n"
 msgid ""
 "\n"
 "The PostScript backend does not support the\n"
@@ -3533,88 +3561,88 @@ msgstr ""
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr ""
 
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr ""
 
-#: lily-library.scm:340
+#: lily-library.scm:333
 msgid "Music unsuitable for context-mod"
 msgstr ""
 
 msgid "Music unsuitable for context-mod"
 msgstr ""
 
-#: lily-library.scm:395
+#: lily-library.scm:388
 #, scheme-format
 msgid "Cannot find context-def \\~a"
 msgstr ""
 
 #, scheme-format
 msgid "Cannot find context-def \\~a"
 msgstr ""
 
-#: lily-library.scm:411
+#: lily-library.scm:404
 msgid "Music unsuitable for output-def"
 msgstr ""
 
 msgid "Music unsuitable for output-def"
 msgstr ""
 
-#: lily-library.scm:927
+#: lily-library.scm:887
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
 "applied to function @var{getter}."
 msgstr ""
 
 msgid ""
 "Find the index between @var{start} and @var{end} (an integer)\n"
 "which produces the closest match to @var{target-val} if\n"
 "applied to function @var{getter}."
 msgstr ""
 
-#: lily-library.scm:1001
+#: lily-library.scm:958
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
-#: lily-library.scm:1026
+#: lily-library.scm:983
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 
-#: lily-library.scm:1032
-msgid "old relative compatibility not used"
+#: lily.scm:75
+msgid "call-after-session used after session start"
 msgstr ""
 
 msgstr ""
 
-#: lily.scm:63
+#: lily.scm:93
 msgid "define-session used after session start"
 msgstr ""
 
 msgid "define-session used after session start"
 msgstr ""
 
-#: lily.scm:311
+#: lily.scm:393
 msgid "Using (ice-9 curried-definitions) module\n"
 msgstr ""
 
 msgid "Using (ice-9 curried-definitions) module\n"
 msgstr ""
 
-#: lily.scm:314
+#: lily.scm:396
 msgid "Guile 1.8\n"
 msgstr ""
 
 msgid "Guile 1.8\n"
 msgstr ""
 
-#: lily.scm:373
+#: lily.scm:455
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr ""
 
-#: lily.scm:794
+#: lily.scm:878
 msgid "Success: compilation successfully completed"
 msgstr ""
 
 msgid "Success: compilation successfully completed"
 msgstr ""
 
-#: lily.scm:795
+#: lily.scm:879
 msgid "Compilation completed with warnings or errors"
 msgstr ""
 
 msgid "Compilation completed with warnings or errors"
 msgstr ""
 
-#: lily.scm:857
+#: lily.scm:941
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
-#: lily.scm:860
+#: lily.scm:944
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
-#: lily.scm:882 lily.scm:971
+#: lily.scm:966 lily.scm:1055
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
-#: lily.scm:962
+#: lily.scm:1046
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
 
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
 
-#: lily.scm:981 ps-to-png.scm:66
+#: lily.scm:1065 ps-to-png.scm:66
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr ""
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr ""
@@ -3629,7 +3657,7 @@ msgstr ""
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr ""
 
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr ""
 
-#: ly-syntax-constructors.scm:188
+#: ly-syntax-constructors.scm:200
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr ""
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr ""
@@ -3687,63 +3715,58 @@ msgstr ""
 msgid "bad grob property path ~a"
 msgstr ""
 
 msgid "bad grob property path ~a"
 msgstr ""
 
-#: music-functions.scm:765
+#: music-functions.scm:755
 msgid "Bad chord repetition"
 msgstr ""
 
 msgid "Bad chord repetition"
 msgstr ""
 
-#: music-functions.scm:800
+#: music-functions.scm:790
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
-#: music-functions.scm:1138
+#: music-functions.scm:1133
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
-#: music-functions.scm:1276
+#: music-functions.scm:1271
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr ""
 
 msgid "Add @var{octave-shift} to the octave of @var{pitch}."
 msgstr ""
 
-#: music-functions.scm:1336
+#: music-functions.scm:1331
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr ""
 
 #, scheme-format
 msgid "Unknown octaveness type: ~S "
 msgstr ""
 
-#: music-functions.scm:1337
+#: music-functions.scm:1332
 msgid "Defaulting to 'any-octave."
 msgstr ""
 
 msgid "Defaulting to 'any-octave."
 msgstr ""
 
-#: music-functions.scm:1682
+#: music-functions.scm:1677
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
 
-#: output-ps.scm:278 output-svg.scm:524
+#: output-ps.scm:278 output-svg.scm:539
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown line-cap-style: ~S"
 msgstr ""
 
-#: output-ps.scm:283 output-svg.scm:530
+#: output-ps.scm:283 output-svg.scm:545
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr ""
 
 #, scheme-format
 msgid "unknown line-join-style: ~S"
 msgstr ""
 
-#: output-svg.scm:47
-#, scheme-format
-msgid "undefined: ~S"
-msgstr ""
-
-#: output-svg.scm:157
+#: output-svg.scm:148
 #, scheme-format
 msgid "cannot decypher Pango description: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "cannot decypher Pango description: ~a"
 msgstr ""
 
-#: output-svg.scm:237
+#: output-svg.scm:228
 msgid "Glyph must have a unicode value"
 msgstr ""
 
 msgid "Glyph must have a unicode value"
 msgstr ""
 
-#: output-svg.scm:289 output-svg.scm:299
+#: output-svg.scm:280 output-svg.scm:290
 #, scheme-format
 msgid "cannot find SVG font ~S"
 msgstr ""
 #, scheme-format
 msgid "cannot find SVG font ~S"
 msgstr ""
@@ -3764,21 +3787,21 @@ msgstr ""
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:343
+#: paper.scm:347
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr ""
 
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr ""
 
-#: parser-clef.scm:164 parser-clef.scm:215
+#: parser-clef.scm:164
 #, scheme-format
 msgid "unknown clef type `~a'"
 msgstr ""
 
 #, scheme-format
 msgid "unknown clef type `~a'"
 msgstr ""
 
-#: parser-clef.scm:165 parser-clef.scm:216
+#: parser-clef.scm:165
 #, scheme-format
 msgid "supported clefs: ~a"
 msgstr ""
 
 #, scheme-format
 msgid "supported clefs: ~a"
 msgstr ""
 
-#: parser-ly-from-scheme.scm:73
+#: parser-ly-from-scheme.scm:74
 msgid "error in #{ ... #}"
 msgstr ""
 
 msgid "error in #{ ... #}"
 msgstr ""
 
@@ -3797,40 +3820,40 @@ msgstr ""
 msgid "assertion failed: ~S"
 msgstr ""
 
 msgid "assertion failed: ~S"
 msgstr ""
 
-#: translation-functions.scm:374
+#: translation-functions.scm:368
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr ""
 
 #, scheme-format
 msgid "Negative fret for pitch ~a on string ~a"
 msgstr ""
 
-#: translation-functions.scm:377
+#: translation-functions.scm:371
 #, scheme-format
 msgid "Missing fret for pitch ~a on string ~a"
 msgstr ""
 
 #, scheme-format
 msgid "Missing fret for pitch ~a on string ~a"
 msgstr ""
 
-#: translation-functions.scm:420
+#: translation-functions.scm:414
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr ""
 
 #, scheme-format
 msgid "No open string for pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:435 translation-functions.scm:447
+#: translation-functions.scm:429 translation-functions.scm:441
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 
 #, scheme-format
 msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
 msgstr ""
 
-#: translation-functions.scm:438
+#: translation-functions.scm:432
 msgid "Ignoring string request and recalculating."
 msgstr ""
 
 msgid "Ignoring string request and recalculating."
 msgstr ""
 
-#: translation-functions.scm:450
+#: translation-functions.scm:444
 msgid "Ignoring note in tablature."
 msgstr ""
 
 msgid "Ignoring note in tablature."
 msgstr ""
 
-#: translation-functions.scm:473
+#: translation-functions.scm:469
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr ""
 
 #, scheme-format
 msgid "No string for pitch ~a (given frets ~a)"
 msgstr ""
 
-#: translation-functions.scm:578
+#: translation-functions.scm:574
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"
 #, scheme-format
 msgid ""
 "No label for fret ~a (on string ~a);\n"