On Thu, Dec 15, 2022 at 10:42:42PM +0100, Jonas Hahnfeld via LilyPond user discussion wrote: > We are proud to announce the release of GNU LilyPond 2.24.0. [...]
This latest release broke one of my scores. I have reduced the problem to the following snippet: \version "2.18.2" \score { \tuplet 3/2 4 { \repeat tremolo 6 { <cis ais g e>8( } } } Lilypond produces the following error: Processing `2.ly' Parsing... Interpreting music... warning: omitting tuplet bracket with neither left nor right bound 2.ly:3:55: warning: unterminated slur \tuplet 3/2 4 { \repeat tremolo 6 { <cis ais g e>8 ( } } Preprocessing graphical objects... /usr/src/lilypond/share/lilypond/2.25.0/ly/init.ly:65:2: error: Guile signaled an error for the expression beginning here # (let ((book-handler (if (defined? 'default-toplevel-book-handler) In procedure ly:grob-array-ref: Wrong type argument in position 1 (expecting Grob_array): () I have narrowed down the offending commit using git bisect to the following: commit fd92bef058ee0fbbdaafdee0cc056316f6d4b9f9 (HEAD, refs/bisect/bad) Author: Jean Abou Samra <j...@abou-samra.fr> Date: Tue Oct 25 00:48:09 2022 +0200 Move Tuplet_bracket::parallel_beam to objects callbacks Not only does this avoid redoing the same computation several times, but it makes what happens much clearer, because previously, different calls to Tuplet_bracket::parallel_beam would non-obviously return different values depending on the caller callback since some of the callers are executed before line breaking and some after. Prior to this commit, the original score compiled correctly, albeit with the same warnings about omitting tuplet brackets. The output is correct (a slashed stem with the tuplet number written above the chord). The current release, however, does not produce any output because lilypond aborts after displaying the above error message. How do I obtain the same output without triggering this error? --T