[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.
signature.asc
Description: This is a digitally signed message part
- On the ly: prefix...,
Jean Abou Samra <=