bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Lilypond 2.22 & 2.23 return 0 when a Scheme error occurs.


From: Stéphane SOPPERA
Subject: Lilypond 2.22 & 2.23 return 0 when a Scheme error occurs.
Date: Mon, 2 May 2022 08:50:47 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]