lilypond-user
[Top][All Lists]
Advanced

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

Error reporting and Lilypond Linting


From: Guy Stalnaker
Subject: Error reporting and Lilypond Linting
Date: Tue, 8 Aug 2017 15:48:16 -0500

All,

I ask this question knowing some of Lilypond's developers frequent this list -- is there anyway to get better error reporting/logging? I ask for several reasons.

One is that the current log output when -verbose is enabled is FULL of lines relating to font substitution. Over 80% of the output, in fact. When trouble-shooting output errors related to lilypond code, those font-related lines just obfuscate the meaningful output. Could we get something like "LOG: font substitution" "LOG: font substitution 100 more times"?

Two, we all know how the smallest error, in the case I have in mind a closing  brace } one line off, can cause an explosion of error output. In this same case every reported error referencing a lilypond source line was, of course, an error; but not one of them were related to the actual error, that misplaced brace, which was near m.20 and not m.86 which was the focus of all of the log output referencing a source file line number. There may be nothing that can be done about that, of course, but if there were some type of WARNING process that recognized (!) mal-formed, or simply bad code, our lives might be a bit easier (though lilypond developers lives might not be easier). Alternatively, do any of you know of any kind of well-formedness checking, linting, for lilypond code?

Third, some log output lines do not reference a line in the lilypond source file. Again, in this case, the eventual resolution related to multi-measure rests (that closing brace } "covered" the multi-measure rest because it was after and not before the multi-measure rest). But none of log lines which indicated a multi-measure rest error referenced a line in the lilypond source. So, though multi-measure rest errors were there, they were not of much practical use because the lilypond source is several thousand lines long and there are hundreds of multi-measure rests in the dozen-plus parts. I eventually had to resort to the binary method of breaking the source in two, commenting part B, compiling part A, etc. to slowly eliminate working source to find the failing source.

GuyS

Guy Stalnaker
address@hidden

reply via email to

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