> How can I access the current LilyPond input file name from within a
> markup command?  Or do I have to use the (undocumented)
> `delay-stencil-evaluation` functionality?


If you mean the name of the file from which the command is called
(vs. defined), you can't — markups don't store location info,
unfortunately. If you really need a workaround, you can make
your markup command require a ly:music? argument and give {{}}
for this argument when calling it. Then you can use the 'origin
property of that music object, e.g.,

\version "2.24.2"

#(define-markup-command (foo layout props loc-provider) (ly:music?)
   (display (ly:input-file-line-char-column (ly:music-property loc-provider 
'origin)))
   empty-stencil)

\markup \foo {{}}

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to