An example is attached. It contains just a faulty music-function that crashes
guile (car and cdr expect a pair, not an empty list):
aa = #(define-music-function (a b) () (car '()))
{ a\aa }
In 2.12, when you had an error in some GUILE code, lilypond would print out
the error together with the location where the error occured
GNU LilyPond 2.12.3
»crash.ly« wird verarbeitet
Analysieren...
crash.ly:4:2: In procedure car in expression (car (quote ())):
crash.ly:4:2: Wrong type (expecting pair): ()
However, in lilypond 2.15.9 (and probably also some earlier versions),
lilypond suddenly only prints out the error message, but not where the error
occurred (neither file nor expression is displayed):
GNU LilyPond 2.15.9
»crash.ly« wird verarbeitet
Analysieren...
ERROR: Wrong type (expecting pair): ()
As you can imagine, from this error output it is basically impossible to find
the correct location of broken guile code somewhere in out scm/ directory (see
also my comment at issue 1.770, which I wouldn't have been able to fix without
the 2.12 error message)
Is there any way to revert GUILE's error reporting back to the 2.12 "verbose"
output?
I think this deserves a bug report with priority "High", according to the
latest GOP-8 ("anything which makes it difficult for serious contributors to
help out (e.g. difficult to find the relevant source tree(s), [...]).")
Cheers,
Reinhold
--
------------------------------------------------------------------
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
* Financial & Actuarial Math., Vienna Univ. of Technology, Austria
* http://www.fam.tuwien.ac.at/, DVR: 0005886
* LilyPond, Music typesetting, http://www.lilypond.org
\version "2.12.0"
aa = #(define-music-function (a b) ()
(car '())
(make-music 'Music))
{
a\aa
}
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond