lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Warning avec compilation au terminal sur la 2.23.82 sous macos


From: Jean Abou Samra
Subject: Re: Warning avec compilation au terminal sur la 2.23.82 sous macos
Date: Sat, 10 Dec 2022 12:27:25 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1


Alors, j'ai refait toute une série de tests et j'ai trouvé!


En fait, c'est la manière dont l'application terminal est lancée qui pose le 
problème.

Dès lors que l'application terminal est lancée normalement par un click dans le 
dock, dans le finder ou via spotlight, tout fonctionne sans warning, même en 
passant par l'Applescript, par python3 ou directement par lilypond, etc.

Mais dès lors, que l'Applescript détecte que le terminal n'est pas lancé, et 
qu'il se charge lui-même de le lancer, le warning apparaitra systématiquement, 
peu importe que je passe ensuite par l'Applescript, python3 ou directement 
lilypond

Et si j'utilise l'instruction 'open -a Terminal', j'ai le même problème que 
quand le terminal est lancé par l'Applescript.


Effectivement, c'est une explication cohérente.


J'ai bien essayé de jouer avec l'option "encoding" de l'instruction python 
check_output, mais cela ne change rien.



Ça, c'est normal. Le paramètre encoding="utf-8" ne change en rien
la manière dont la commande est exécutée, seulement la manière
dont Python en décode la sortie. Cela aurait une importance pour
la valeur que vous récupérez en Python si le log de LilyPond
contenait des caractères accentués.


Donc en attendant, la meilleure solution est bien de lancer FC_LANG=C lilypond, 
et peu importe comment le terminal est lancé, cela fonctionne.


Absolument. Ou bien d'ignorer tout simplement le warning, qui
est inoffensif.



Le 09/12/2022 à 15:42, Eulogia a écrit :
Et j'ai refait un dernier test qui me permet d'accuser Frescobaldi ou peut-être 
même la version python de Frescobaldi:

Si je quitte l'application terminal, et que j'exécute ce script depuis 
Frescobaldi:

-*- set: Ben; menu: Générer; python; indent: no;

import subprocess

def Executer_SH( commande ):
proc = subprocess.check_output( commande, shell=True, encoding='utf-8' )
return proc
Executer_SH( 'open -a Terminal' )

Puis que je compile dans le terminal, il y aura le warning.


Ensuite, si je quitte l'application terminal, et que j'exécute ce script depuis 
TextMate:

#!/usr/local/bin/python3.11

import subprocess

def Executer_SH( commande ):
proc = subprocess.check_output( commande, shell=True, encoding='utf-8' )
return proc
Executer_SH( 'open -a Terminal' )

Puis que je compile dans le terminal, il n'y aura pas le warning!


Je doute que Frescobaldi soit en cause, il ne fait que transmettre son
environnement aux processus qu'il lance. La différence entre Frescobaldi
et TextMate vient, plus vraisemblablement, soit de la manière dont
vous lancez l'un ou l'autre, soit des paramètres de langue du système
pour chacune de ces applications, ou que sais-je encore. Je connais
peu macOS, mais c'est sûr que c'est le système qui à un moment
donné règle LC_CTYPE à une valeur pas très standard.

Cordialement,
Jean

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]