>> The name "sip" is a bit weird; looking in the commit that added the >> code 19 years ago, it looks like it was meant as "smob input" >> (where smob = Scheme object = LilyPond C++ object made available to >> Scheme).
Quickly written documentation by an insider. It should be eventually replaced with better wording... > The technical glossary > (https://lilypond.org/doc/v2.24/Documentation/notation/technical-glossary) > does include smob but not sip. ... so that we don't have to explain it. > And I had misinterpreted *location* as either an attempt at emphasis > in email and/or short for insert-your-location-here rather than > literally executable scheme code. > > Is that construct (*location*) a general scheme syntax (so that some > *foo* could be also be meaningful), or perhaps is it a reserved > word? Yes, `*` is nothing special – in Scheme you can use almost all characters for function and variable names. You might try LilyPond's Scheme sandbox: ``` lilypond scheme-sandbox [...] scheme@(#{ g125}#)> *location* $1 = #<procedure *location* ()> scheme@(#{ g125}#)> (*location*) $2 = #<location .../scheme-sandbox.ly:34:2> scheme@(#{ g125}#)> (ly:input-file-line-char-column (*location*)) $3 = (".../scheme-sandbox.ly" 34 1 1) ``` And of course, documentation for `*location*` is missing, too. You might open an issue for this. Werner