|
For time-based footnotes without grob spec, attach to all grobs
The state before this patch is that \footnote #'(1 . 0) "xxx" \default
causes a weird error in the typesetting stage. That behavior is, at
best, confusing. For event-based footnotes, like
\footnote #'(1 . 0) "xxx" c
the behavior is to annotate only a directly caused grob, in this case
the NoteHead.
So the logically consistent thing would be to annotate grobs that can
be considered "directly caused" by a time step. Possibilities would
be
a) no grob at all. Not useful as either an error symptom or feature.
b) every grob. This is the choice taken here.
c) every grob with void cause '(). This should actually work for
grobs caused by property changes, like time signatures and clefs.
d) every grob not caused by another grob. For a single note, just the
note head, for example.
Option c) has a bit going for it as well, since it means that at a
time step creating a _single_ grob from unidentified source (like at a
clef change without time or key change), one can get by without
explicitly naming a grob.
At any rate, the current behavior is not helpful. If this combination
is to be considered an error, it should already be caught in the
\footnote command in the parser.
|