Expect a warning several times

Revision as of 14:52, 28 February 2026 by Ksnortum (talk | contribs) (Inline the Scheme function URL and change to version 2.24)

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")