[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
- Lilypond 2.22 & 2.23 return 0 when a Scheme error occurs.,
Stéphane SOPPERA <=