I like this a lot -- it's looking like real lilypond code, instead of a hack.
Thanks for doing this! Carl http://codereview.appspot.com/2699041/diff/1/Documentation/changes.tely File Documentation/changes.tely (right): http://codereview.appspot.com/2699041/diff/1/Documentation/changes.tely#newcode74 Documentation/changes.tely:74: is still supported, but might be deprecated in the future. Don't forget to add that the new syntax is compatible with safe mode (at least I think it is). http://codereview.appspot.com/2699041/diff/1/ly/catalan.ly File ly/catalan.ly (right): http://codereview.appspot.com/2699041/diff/1/ly/catalan.ly#newcode4 ly/catalan.ly:4: \version "2.12.0" Update the \version string in all of these files! http://codereview.appspot.com/2699041/diff/3001/ly/music-functions-init.ly File ly/music-functions-init.ly (right): http://codereview.appspot.com/2699041/diff/3001/ly/music-functions-init.ly#newcode365 ly/music-functions-init.ly:365: (_i "Select note names language.") It would be more like standard lilypond to have language-init.ly do something like: language-pitch-names = `((nederlands . ((ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT)) (ceh . ,(ly:make-pitch -1 0 SEMI-FLAT)) ... )) (italiano . ((....) ... )) (english . ... )) .... ) so that you have a single alist. Then, the argument to your music function would not be a string, but rather a symbol: \language #'italiano And the definition of language becomes: #(define-music-function (parser location lang) (symbol?) ... (let ((alist-def (assoc-get lang language-pitch-names '()))) ... (the rest of your stuff is the same) That way we don't have to mess with strings and string comparisons, we just use symbols. http://codereview.appspot.com/2699041/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel