[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue #5246: Make empty scores abort engraving process (issue 332470
From: |
David Kastrup |
Subject: |
Re: Issue #5246: Make empty scores abort engraving process (issue 332470043 by address@hidden) |
Date: |
Fri, 22 Dec 2017 16:11:51 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
David Kastrup <address@hidden> writes:
> Urs Liska <address@hidden> writes:
>
>> Am 22. Dezember 2017 15:42:39 MEZ schrieb David Kastrup <address@hidden>:
>>>Dan Eble <address@hidden> writes:
>>>
>>>> On Dec 21, 2017, at 23:06, address@hidden wrote:
>>>>>
>>>>> @@ -110,8 +110,7 @@ LY_DEFINE (ly_interpret_music_expression,
>>>"ly:interpret-music-expression",
>>>>>
>>>>> if (!iter->ok ())
>>>>> {
>>>>> - warning (_ ("no music found in score"));
>>>>> - /* todo: should throw exception. */
>>>>> + error (_ ("no music found in score"));
>>>>> return SCM_BOOL_F;
>>>>> }
>>>>
>>>> Looking at this in isolation, I wonder whether “no music found” is
>>>the
>>>> only reason that iter might not be OK; in other words, was the
>>>message
>>>> appropriate before you arrived?
>>>
>>>\new Voice { }
>>>
>>>_is_ arguably music. The other error message before is actually just
>>>nonsensical since LY_ASSERT_SMOB already catches the respective
>>>condition. I think we should just let this one complete properly (and
>>>thus also get an image/PDF) though with a warning.
>>>
>>>I actually thought I did change this at one time. At any rate, a
>>>_fatal_ error at least seems silly. There is no reason not to continue
>>>here.
>>
>> Yes, there may be valid reasons to compile files with no music in them.
>
> This actually doesn't trigger for files with no music in them but for
> music with no (iterable) music in it.
Actually, if I remove the premature return, I get for
\new Voice {}
-*- mode: compilation; default-directory: "/tmp/" -*-
Compilation started at Fri Dec 22 16:10:13
/usr/local/tmp/lilypond/out/bin/lilypond blabla.ly
GNU LilyPond 2.21.0
Processing `blabla.ly'
Parsing...
blabla.ly:1: warning: no \version statement found, please add
\version "2.21.0"
for future compatibility
Interpreting music...
warning: no music found in score
[0]
Preprocessing graphical objects...
programming error: No spring between column 0 and next one
continuing, cross fingers
programming error: No spring between column 0 and next one
continuing, cross fingers
programming error: didn't find a vertical alignment in this system
continuing, cross fingers
programming error: No spring between column 0 and next one
continuing, cross fingers
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
programming error: No spring between column 0 and next one
continuing, cross fingers
programming error: system with empty extent
continuing, cross fingers
Layout output to `/tmp/lilypond-vZDPJH'...
Converting to `blabla.pdf'...
Deleting `/tmp/lilypond-vZDPJH'...
Success: compilation successfully completed
Compilation finished at Fri Dec 22 16:10:14
and a visibly empty file (no idea whether there is off-screen material
getting typeset). So that's not particularly useful but at least it
touches the PDF file.
--
David Kastrup