>> 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

Reply via email to