Jump to content

Expect a warning several times

From LilyPond wiki

There are times when your LilyPond source file prints warnings when compiled and you may want to suppress these warnings from the output. LilyPond has a Scheme function for this: ly:expect-warning. However, there are times when the same warning is printed several times and ly:expect-warning will only hide one warning at a time. Typing this function several times in a row is tedious.

The Scheme function below takes a string that will match some part of the warning, just like ly:expect-warning, but it also takes an integer for the number of times the warning is printed.

#(define (expect-warning-times n . arg)
   (for-each (lambda _ (apply ly:expect-warning arg))
             (iota n)))

A usage example:

#(expect-warning-times 4 "omitting tuplet bracket")