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.
