Fix #903: a simpler syntax for note names language
This commit adds a new
\language "foo"
command, where "foo" is the (case-insensitive) name of
any supported language, e.g. "italiano", "suomi" etc.
This function may be used at top-level or anywhere else,
even in -dsafe mode.
Non-supported languages arguments are, well, not supported:
if no recognizable string is provided, ly:gulp-file will just
barf its standard error message.
To preserve full compatibility with existing code, this patch
leaves .ly language files unchanged (therefore, the old syntax
is still perfectly valid). Since all it does is extract the
pitchnames alist from whatever file it processes, more complex
files such as "arabic.ly" are not supported and will output
an error message explaining that \include should be used instead.
In spite of this limitation, this method is a convenient way
of presenting foreign users with a simplified syntax, without
having to bloat the parser with yet another keyword. Of
course, it may be superseeded in the future with a more
specialized implementation, possibly doing away with .ly files
(if we reach a point where preserving compatibility is no
longer an issue).