On Sun, Feb 9, 2025 at 2:01 AM Saul Tobin <saul.james.to...@gmail.com> wrote:
>>
>> Instead of the old interface use this deprecated new interface,
>> instead of just: Use the same interface, but you will need to add a type
>> conversion.
>
>
> The deprecated properties aren't intended for end users to write in their 
> code. New human written code should use the non-deprecated names and just use 
> exact rationals instead of calls to make-moment. The deprecated properties 
> provide a way for convert-ly to modify code so it still compiles without 
> requiring automatic conversions applied to potentially arbitrary Scheme code. 
> It also means that once code is converted with convert-ly, compiling it will 
> print deprecation errors so that users are aware they need to convert the 
> values to exact rationals going forward. The goal being not that users wrap 
> their code in type conversions, but actually update the type used.
>

Sorry but I disagree. It can easily happen, as it happened to me, that
a library in a project is updated and only later the code that uses
that library is updated. Consequently it is normal routine to write to
the user a message like the one I mentioned in these cases ("X is
deprecated and will be removed. Use Y instead"). It is not my idea but
it is really a very common practice.

>
> Lastly, Paolo, unless your code is a library that specifically needs to be 
> agnostic to LilyPond version and support multiple versions, you should simply 
> update your code to use an exact rational rather than make-moment. There is 
> no need to include version checking logic in a file that you will only ever 
> compile on one version of LilyPond.
>

My project is exactly aimed at being agnostic of the LilyPond version
and supports multiple LilyPonds:

https://github.com/paopre/Spontini

For this reason I asked the question and because of the problem
reported in this thread I am forced to add the workaround that
Valentin pasted, while I could have left the code as it is and ignored
the appropriate warning

Cheers,
P

Reply via email to