On Mon, Oct 26, 2020 at 4:35 PM Thomas Morley <thomasmorle...@gmail.com>
wrote:

> Hi Carl,
>
> Am Mo., 26. Okt. 2020 um 23:04 Uhr schrieb Carl Sorensen <
> c_soren...@byu.edu>:
> >
> > Try this:
>
> > \defineBarLine ".|:-|." #'("|." ".|:" "")
>
> Though, \defineBarLine ".|:-|." #'("|." ".|:" #f) _should_ work as well.
>
> It's a bug in 'ly:bar-line::calc-anchor' in bar-line.scm, triggered by
> the RehearsalMark requiring an anchor.
> The anchor-calculating procedure compares the span-glyph using
> string=? which bombs out if span-glyph is not a string.
> One should likely use equal? here.
>

Thanks, Harm!  Sometimes it's almost as good to be lucky as to be good.
You are absolutely right, of course, and were I not too lazy to do so, I'd
have looked up the  line where the actual error was.  Instead I just saw
that #f didn't work, so I changed to "",

Also, Mike, while my comment about \define always going at the top level,
that same thing is NOT true in general for functions of the form
\defineXXX.  I can't think of any cases where it causes problems to put
them at the top level.  But it's not strictly required, and the use of
\defineBarLine inside the music expression was not the cause of the errors.

I just wanted to clear up my possibly confusing statement.

Thanks,

Carl

Reply via email to