Problème avec Guile 2.2 pour obtenir les date et heures d'exécution de LilyPond

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é dans 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

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.

C'est bon les cacahuètes :yum:

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

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