Subject: [LilyPond] [Général] Problème avec Guile 2.2 pour obtenir les date et heures d'exécution de LilyPond

From: Jacques Menu via LilyPond <[email-masked]>
Date: Tue, 21 Nov 2023 07:41:24 +0000

Bonjour,

Ce code qui était accepté auparavant ne passe plus avec Lily 2.25 :

```
\version "2.24.0"

#(define comml           (object->std::string (command-line)))
```

donne :

```
> lilypond GuileTest.ly

GNU LilyPond 2.25.8 (running Guile 2.2)

Processing `GuileTest.ly'

Parsing...

GuileTest.ly:6:2: error: Guile signaled an error for the expression beginning here

#

(define comml (object->std::string (command-line)))

Unbound variable: object->std::string

Note: compilation failed and \version outdated, did you

update input syntax with convert-ly?

https://lilypond.org/doc/v2.25/Documentation/usage/updating-files-with-convert_002dly

fatal error: failed files: "GuileTest.ly"
```

convert-ly ne fait auccun changement, et je n'ai rien trouvé des les documentations ni sur Internet.

Voici le code complet que j'utilise pour avoir la version de Lily et les date et heure de son exécution :

```
%%%%%%%
#(define comml           (object->std::string (command-line)))
#(define loc             (+ (string-rindex comml #\space ) 2))
#(define commllen        (- (string-length comml) 2))
#(define filen           (substring comml loc commllen))
#(define siz             (object->std::string (stat:size (stat filen))))
#(define ver             (object->std::string (lilypond-version)))
#(define dat             (strftime "%d/%m/%Y" (localtime (current-time))))
#(define tim             (strftime "%H:%M:%S" (localtime (current-time))))
#(define modTime         (stat:mtime (stat filen)))
#(define modTimeAsString (strftime "%d/%m/%Y - %H:%M:%S" (localtime modTimeSignature)))
%%%%%%%
```

Merci pour votre aide!
JM

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/probleme-avec-guile-2-2-pour-obtenir-les-date-et-heures-dexecution-de-lilypond/5540/1).

Pour créer un nouveau sujet, écrivez à [[email-masked]](mailto:[email-masked]) ou visitez la [page d'accueil de lilypond.community](https://lilypond.community).

---

From: Jean Abou Samra via LilyPond <[email-masked]>
Date: Tue, 21 Nov 2023 09:05:14 +0000

Il n'existe pas et n'a jamais existé de fonction `object->std::string`. Par contre, il existe bien une fonction `object->string`. Je parie dix mille cacahuètes que tu as fait un `sed 's/string/std::string/g`' sur ton code C++, et que tu as accidentellement modifié tes fichiers Scheme au passage.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/probleme-avec-guile-2-2-pour-obtenir-les-date-et-heures-dexecution-de-lilypond/5540/2).

---

From: Sebastien Richard via LilyPond <[email-masked]>
Date: Tue, 21 Nov 2023 09:14:21 +0000

[quote="jeanas, post:2, topic:5540"]
Je parie dix mille cacahuètes
[/quote]

C'est bon les cacahuètes :yum:

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/probleme-avec-guile-2-2-pour-obtenir-les-date-et-heures-dexecution-de-lilypond/5540/3).

---

From: Jacques Menu via LilyPond <[email-masked]>
Date: Tue, 21 Nov 2023 09:57:25 +0000

Bravo Jean!

En fait, ce code est généré dans le code LilyPond produit par xml2ly par une option, et il est donc stocké dans une chaîne de caractères dans mon code C++.

Et il y a bien eu un remplacement de string par std::string il y a quelque temps...

Les cacahuètes, en paquets de combien?
JM

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/probleme-avec-guile-2-2-pour-obtenir-les-date-et-heures-dexecution-de-lilypond/5540/4).

---

From: Gilles via LilyPond <[email-masked]>
Date: Tue, 21 Nov 2023 13:44:36 +0000

Ça doit bien faire une bonne dizaine de kilos de cacahuètes !!!
:stuck_out_tongue_winking_eye:

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/probleme-avec-guile-2-2-pour-obtenir-les-date-et-heures-dexecution-de-lilypond/5540/5).