GNU LilyPond – Utilisation des programmes: 2.1 LilyPond est une langue vivante

## 2.1 LilyPond est une langue vivante

La syntaxe de LilyPond change de temps en temps, que ce soit pour rendre les fichiers plus faciles à lire et à écrire, ou pour intégrer de nouvelles fonctionnalités.

En voici un exemple flagrant :

Tous les noms des propriétés de `\paper` et `\layout` sont libellés sous la forme `premier-deuxième-troisième`. Nous avons constaté, une fois la version 2.11.60 mise à disposition, que la propriété `printallheaders` ne respectait pas cette convention. Aurions-nous dû la laisser telle que, au risque de dérouter les nouveaux utilisateurs par cette exception au formatage, ou bien la modifier – ce qui allait obliger ceux qui l’avaient déjà utilisée à se mettre en chasse ?

Pour ce cas d’espèce, nous avons décidé de changer le nom de cette propriété en `print-all-headers` et de permettre à ceux qui avaient utilisé l’ancienne syntaxe de modifier automatiquement leurs fichiers à l’aide de notre utilitaire `convert-ly`.

Malheureusement, `convert-ly` ne peut pas réaliser toutes les modifications. Par exemple, dans les versions de LilyPond antérieures à la 2.4.2, les accents et les lettres non anglaises étaient entrées en utilisant LaTeX – par exemple, `No\"el`. À partir de la version 2.6, le caractère `ë` doit être entré directement dans le fichier LilyPond comme caractère UTF-8. `convert-ly` ne peut pas changer tous les caractères LaTeX en caractères UTF-8 ; vous devez mettre à jour vos vieux fichiers LilyPond manuellement.

Les règles de conversion de `convert-ly` reposent sur la recherche et le remplacement de motifs textuels plutôt que sur les capacités intellectuelles de LilyPond, en conséquence de quoi :

- La fiabilité de la conversion dépend de la qualité même de chaque jeu de règles ainsi que sur la complexité des modifications respectives à apporter. Certaines conversions peuvent donc requérir une intervention manuelle ; la version de « départ » devrait toujours rester disponible pour comparaison.
- Seules des conversions à une syntaxe plus récente sont possibles ; aucune règle ne permet de revenir en arrière. La copie de travail d’un fichier LilyPond ne devrait donc être mise à jour que lorsque la version sur laquelle il repose n’est plus maintenue. Des système de gestion de version tels que Git permettent de se tenir à jour sur plusieurs versions.
- LilyPond, ainsi que Scheme, gèrent plutôt bien l’emplacement ou l’absence d’espaces ; les règles utilisées par `convert-ly` tendent cependant à effectuer certains postulats en matière de style. Suivre le style adopté dans les différent manuels est un gage de mise à jour sans problème si l’on considère que ces manuels sont eux-même mis à jour avec `convert-ly`.

#### LilyPond — Utilisation des programmes v2.24.4 (branche stable).