lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On the ly: prefix...


From: Jean Abou Samra
Subject: On the ly: prefix...
Date: Sun, 02 Apr 2023 20:31:04 +0200
User-agent: Evolution 3.46.4 (3.46.4-1.fc37)

I am writing a patch (related to all the recent talks on font selection)
where I want to have `grob-interpret-markup` written in C++. I can
of course define it with LY_DEFINE, except that this makes it named
ly:grob-interpret-markup instead.

I can do

(define-public grob-interpret-markup ly:grob-interpret-markup)

like we already have for assoc-get aka ly:assoc-get, but it seems
clumsy.

grob-interpret-markup is widely used. Renaming it only because of this
would be a pity.

Having ly: or not mostly distinguishes functions implemented in C++ from
functions implemented in Scheme (though a few Scheme-defined ones have
ly: too), but that distinction is not very relevant from the user point of
view. And I've heard about people confused about ly:markup? not working
in music function signatures.

Any thoughts on the following options?

1. Keep existing functions as they are, but allow new C++ functions to
   be defined without this prefix.

2. Remove the ly: prefix from C++ functions. Avoid breaking the world
   by doing the equivalent of

   #(use-modules (lily)
                 ((lily) #:prefix ly:))

   which makes *all* functions (including those defined in Scheme) available
   both with and without ly: prefix.

   We would need to rename those few for which both a ly: and a non-ly:
   variant exist (I'm thinking about 
(ly:)side-position-interface:y-aligned-side.)

   Also, we would need to decide whether we rewrite our own base
   of Scheme code to remove those 'ly:'s. I'm not really looking
   forward to doing that, especially while I'm busy with fonts,
   so I am unlikely to work on it myself in the immediate future at
   least.

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]