1.2.3 Débogage de code Scheme

Lorsque l’on débogue de larges portions de code Scheme, il est bien appréciable que soit mise en évidence la ligne du programme à la source même de l’erreur. Lilypond permet la localisation dans les sources pour les erreurs Scheme dès lors d’ezst ajoutée à la ligne de commande l’option -dcompile-Scheme-code. L’ajout d’une ligne #(ly:set-option 'compile-Scheme-code) en tête d’un fichier LilyPond aura le même effet.

Par ailleurs, il est possible d’obtenir encore plus d’informations au sujet de l’erreur grâce à l’option -ddebug-eval – ou une ligne #(debug-enable 'backtrace) dans le fichier. Grâce à ce mode, et dès la survenance d’une erreur, s’affiche en mode verbeux une « trace inverse » contenant des informations sur tous les appels de fonction, ce qui permet de remonter le fil jusqu’àa la pierre d’achoppement.

Problèmes connus et avertissements

En raison d’une limitation dans l’implémentation de Guile, l’option -dcompile-Scheme-code ne permet pas de compiler des fichiers LilyPond comportant au-delà de quelques milliers d’expressions Scheme.

GNU LilyPond – Extension des fonctionnalités v2.25.22 (development-branch).