Subject: pb \afterGrace ? avec exemple minimaliste

From: éric BELLOCQ <[email-masked]>
Date: Sat, 8 Jan 2022 11:26:14 +0000 (UTC)

j'ai pu reproduire le pb qui venait de mon gros \include perso.
Voici :
\version "2.22.1"

 "*" = \markup { \fontsize #-2 * }

{ c' 
  \afterGrace
  c' c' }

Un problème avec le signe * donc.

Éric

---

From: Jean Abou Samra <[email-masked]>
Date: Sat, 8 Jan 2022 19:04:11 +0100

> Un problème avec le signe * donc.

Bonjour,

LilyPond est intimement lié au langage Scheme.
En particulier, les variables que vous définissez
sont placées dans un espace de nommage qui est le
même que celui du code Scheme que vous pourriez
écrire vous-même, mais aussi du code Scheme contenu
en interne dans LilyPond. Observez cet exemple :

\version "2.22.1"

maVariableDefinieEnLily = 58

% Affiche la variable, ce qui montre qu'elle est accessible en Scheme.
#(display maVariableDefinieEnLily)

% Utilise la variable définie en Scheme dans le code LilyPond.
#(define maVariableDefinieEnScheme "*")

\markup \maVariableDefinieEnScheme

(Si vous ne savez pas encore ce qu'est Scheme, consultez
https://lilypond.org/doc/v2.22/Documentation/extending/tutoriel-scheme
ou
https://tutoriel-scheme.readthedocs.io .)

Avec votre variable, vous redéfinissez l'opération
de multiplication « * » que fournit le langage.
Dès lors, toute fonction de LilyPond qui effectue
une multiplication risque fort de planter… du
moins en version 2.22. Dans les versions de développement
actuelles (2.23), les fonctions internes de LilyPond
vivent dans un espace séparé, si bien que l'opération
de multiplication est redéfinie seulement pour le
code Scheme que vous pourriez écrire vous-même,
mais pas pour les fonctions prédéfinies. Dans
la version stable 2.22, choisir un autre nom pour
cette variable vous évitera les ennuis.

Cordialement,
Jean

---

From: éric BELLOCQ <[email-masked]>
Date: Sat, 8 Jan 2022 21:35:48 +0000 (UTC)

Merci bien pour ces détails.
Éric
     Le samedi 8 janvier 2022 à 19:04:13 UTC+1, Jean Abou Samra <[email-masked]> a écrit :  

Bonjour,

\version "2.22.1"

Cordialement,
Jean