Hi,
This very basic program reproduce the issue:
#(error "test")
\relative {
c'1 |
}
With Lilypond 2.20, the compilation produces:
Processing `scheme_err.ly'
Parsing...
scheme_err.ly:1:2: error: GUILE signaled an error for the expression
beginning here
#
(error "test")
scheme_err.ly:1: warning: no \version statement found, please add
\version "2.20.0"
for future compatibility
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `/tmp/lilypond-Cgqpyv'...
Converting to `scheme_err.pdf'...
Deleting `/tmp/lilypond-Cgqpyv'...
test
fatal error: failed files: "scheme_err.ly"
and the//`lilypond` process returns 1.
With Lilypond 2.22 & 2.23, the compilation produces:
Processing `scheme_err.ly'
Parsing...
scheme_err.ly:1:2: error: GUILE signaled an error for the expression
beginning here
#
(error "test")
scheme_err.ly:1: warning: no \version statement found, please add
\version "2.22.2"
for future compatibility
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Converting to `scheme_err.pdf'...
test
Success: compilation successfully completed
and the `lilypond` process returns 0.
Note that if the `-V` flag is used, then all versions of Lilypond fail
and in that case no PDF is generated at all.
Here is a quick summary of the outputs of the different versions:
| version | -V | rc | PDF |
|---------+-----+----+-----|
| 2.23.8 | no | 0 | yes |
| 2.23.8 | yes | 1 | no |
| 2.22 | no | 0 | yes |
| 2.22 | yes | 1 | no |
| 2.20 | no | 1 | yes |
| 2.20 | yes | 1 | yes |
Is this intentional that the newer versions don't fail anymore on some
Scheme errors?
What is the rationale for this change?
Thanks!
Stéphane SOPPERA
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond