Nicolas Sceaux wrote:
> Inside the #{ ... #} construct, you have to use #$variable
> where a scheme token is required, but you use $variable
> where \variable could be used. Behind the scenes,
> $variable is actually replaced by something like \tmpvar
> before being parsed.
Can you provide an example of a case where #$ is required
within #{ #} ? I can't find one. $ seems to always work.
In fact, I'm probably missing something obvious, but I'm
unable even to find a case where a scheme token (with #) is
actually required in a regular music block. I've found I
can even do such bizarre things as this:
voiceCtx = Voice
noteGrob = NoteHead
colorSym = #'color
redVal = #red
{ \override \voiceCtx.\noteGrob \colorSym = \redVal c'' }
and by extension, I can also do this (without using `#$'):
overrideAlias =
#(define-music-function
(parser location ctx grob prop-sym prop-val)
(scheme? scheme? scheme? scheme?)
#{
\override $ctx . $grob $prop-sym = $prop-val
#})
{ \overrideAlias Voice NoteHead #'color #red c'' }
So, two things:
1) what is a case where omitting the # causes an error?
2) what is the danger of omitting the # otherwise?
Thanks!
- Mark
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel