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

Reply via email to