I've done two things. First,
I've rewritten your code in a way that's easier for
me to read.
That's not true anymore: In recent versions (starting at some
point in the 2.19.xx series), slurs can be assigned a "name"
allowing them to be referenced, and in particular, nested (cf. http://lilypond.org/doc/v2.19/Documentation/changes/index.html):
\version "2.19.83"
\language "english"
\fixed c'
{ <<
{
f4 e8 c8~( c4 e8\=inner( f8\inner) ) | % the \( and \)
are phrasing slurs.
}
\\
{
f4 e8 c~ 4~ 4 ||
}
>>
}
Though I admit that the layout engine handles the phrasing slur
better in this specific situation.
By the way, it's even possible to do
\version "2.19.82"
\fixed c' {
c\=1( d e^\=2( f\=1) g a\=2)
}
IMHO this feature alone is worth the (negligible) trouble of
switching to recent development versions.
Best
Lukas
Absolutely agree. The whole name/ID slur config is a huge game
changer. So happy that we have it! :)