dein Vorschlag kompiliert bei mir jedenfalls nicht:
Sicher? Bei mir gehts unter 2.19.37 sowohl mit #(define FOO "2.ly") als auch mit FOO="2.ly", auch ohne #'() oder anderen Kram vorm \include. In 2.19.42 braucht man dann die define-Variante oder Kram vorm \include (und 2.18.2 verhält sich wie 2.19.37, was das angeht). Ich hab hier 2.19.37 und 2.19.42 für Linux (64bit). Und dein Jägermeister-Code ist sowieso in allen drei Versionen kein Problem.
Ich habs auch in verschiedenen Verzeichnissen probiert, um auszuschließen, dass es zufälligerweise im home-Verzeichnis keine Probleme gibt, aber in irgendwelchen Unterverzeichnissen.
Edit:
2.ly:
{ c d e f g }1.ly:
%\version "2.18.2"
%\version "2.19.37"
%\version "2.19.42"
%#(define FILENAME "2.ly")
%FILENAME="2.ly"
\include \FILENAMEAlle Kombinationen von einkommentierten Versionsangaben (Frescobaldi wählt dann wirklich die richtige Version, hab ich überprüft

) und FILENAME-Definitionen gehen. Nur
\version "2.19.42"
FILENAME="2.ly"
\include \FILENAMEnicht.
2. Edit: 2.19.40 ist die erste Version, wo nicht mehr alles geht.
3. Edit: Genauer gesagt ist es da passiert, wo ich es schon geahnt habe: Es wurde eine einfachere Syntax für Scheme-Listen eingeführt, gleichzeitig kann man jetzt Variablennamen aus solchen Listen haben, was Dinge wie „violine.1 = …“ erlaubt. Es handelt sich dabei um
diesen Commit, vielleicht sollte das dokumentiert werden in den Changes.
4. Edit: Hab nen bug report geschickt.