Issue 2929: Allow \tweak to act as a stand-in for \once\override
Making tweak optionally accept a grob specification instead of music
to tweak makes it compatible with the behavior of functions such as
\footnote and \shape, and actually serves to simplify their
implementation.
One slight complication occurs in lyrics mode, as demonstrated by the
change necessary to input/regression/lyric-tweak.ly: with
\tweak color #red reddish fish,
LilyPond tries an override for a grob named "reddish" and fails.
Tweaks in lyrics mode are highly unusual, have not been supported for
long, and their effect can usually better be accomplished in markup
mode instead. The fix here is to write
\tweak color #red \markup reddish fish,
since LilyPond does not consider explicit markup a candidate for
conversion into symbols. The same problem is inherent with other
commands using the same kind of symbol-list-or-music? interface, like
\footnote, \hide, \omit.