On Thu, Mar 12, 2026 at 9:14 AM David Nalesnik <[email protected]>
wrote:

> Hi Lukas,
>
> On Thu, Mar 12, 2026 at 5:39 AM Lukas-Fabian Moser <[email protected]> wrote:
>
>> Hi David,
>>
>> I'd love to work it into the codebase.  I'm unsure though whether it
>>> would be best to leave the TextSpanner engraver in C++ or replace it with a
>>> Scheme engraver like this one.
>>>
>>> I think we shouldn't have duplicate code between C++ and Scheme. The
>>> Text_spanner_engraver is fairly simple, it would be a very reasonable first
>>> step to move it to Scheme so that the infrastructure can be built into what
>>> you're working on.
>>>
>>> Should I do this?
>>>
>>
>> Definitely - I'd appreciate this.  That would be a cleaner first step
>> than adding this engraver wholesale, since it's a port of the regular
>> engraver with extras.
>>
>> I just noticed we have input/regression/scheme-text-spanner.ly written
>> by Mike Solomon.
>>
>> Before I start digging and comparing: Do you happen to know its
>> relationship to the standard Text Spanner infrastructure in the C++
>> codebase?
>>
>> While it is certainly an instructive example how to create such a thing
>> from scratch, it would seem a bit redundant to keep this around unchanged...
>>
> I believe it is a test of Scheme engraver functionality, which was new at
> the time.  Are there other regtests related to Scheme engravers which would
> fulfill this goal?  I also believe it is a replacement for the standard
> engraver, as it was at the time.  It may have diverged in the meantime from
> the standard engraver.  Maybe it is more suitable for the wiki or for the
> Extending documentation?
>
> My engraver builds on Mike's code.
>

oops - sorry - I was going by my memory - the regtest is a demonstration of
building a grob in Scheme (which has had a contentious history).  The
engraver itself is equivalent to the default engraver, as far as I know.

Reply via email to