Hi, it's really not a big deal since I have a work-around (ignore the exit code in my Makefile)
I understand that specifying and checking the version can be useful. I am just saying that the actual message and behaviour (exit code) is surprising. >From the compilers I know (say, gcc) there's a clear difference between: * a warning (processing continues, exit code 0) * an error (processing stops, no output, exit code != 0) Where is the semantics of "\version" documented? (It's not in the index? http://www.lilypond.org/doc/v2.18/Documentation/notation/lilypond-index - It appears in the PDF version of the notation manual, but without explanation) Is it something like the following? "If lilypond version X reads "\version Y" in the input, then if X < Y, it prints an "error" message and sets exit code to 1, else it is silent. It will continue processing in both cases." Why am I doing this - I have a bunch of 2.18 files that still need to be converted to 2.19, that's why I am using 2.18. In an ideal world, 2.19 would respect the "2.18" specification in the file and behave accordingly ... but I guess that would require a lot of work - basically keep all the old/buggy behaviour in addition to the new/fixed one. Since we don't have this, a 2.19 executable should also warn if it reads a 2.18 file? Because output could be different - that's the same reason for the warning as in the other case. That would give a lot of warnings. Then they could be turn-on/offable ( -Wversion? ) - J. _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user