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

Re: problèmes accents emacs



Wed, 16 Oct 2002 15:32:12 +0200, Yannick Roehlly a écrit :
> (re)Bonjour,
> 
> Je profite de ce fuseau pour poser une question à propos d'emacs
> et des lettres "circonflexées".
> 
> Si mon texte contient des é ET des ê, emacs ne veut pas
> enregistrer avec l'encodage iso-8859-15 mais me propose des
> encodages "avec échapement".
> 
> Si j'utilise emacs pour rédiger mes mails dans sylpheed,
> l'enregistrement sous un encodage "avec échappement" produit des
> résultats du style :
> 
> ê => -bê-A
> 
> De plus en plus étrange, si je fais un copier/coller de cette suite
> de caractères, j'obtient : ê !
> 
> Si quelqu'un a un lien vers le mysticisme des encodages du
> fichier sous GNU/Linux, je suis preneur...
> 
> La vérité est ailleurs...
> 
> Yannick
> 
> PS: si jamais le caractère qui suit le ê => ci dessus apparaît
> comme un ê chez vous, merci de ne pas m'envoyer les urgences
> psychiatriques...

Salut,

Le problème ne vient-il pas du mode par défaut d'Emacs (modifié avec la
fonction set-language-environment) ?

En effet, lorsque l'on ouvre un fichier, Emacs utilise cette valeur pour
définir le mode du fichier, mais lorsque l'on entre de nouvelles données
dans le fichier, il les insère suivant le mode "Emacs". Le problème se
pose alors à la sauvegarde, où les lettres accentuées entrées ne sont pas
codées avec le bon système.

Prenons un exemple pour être plus clair :
 0. LANG=fr_FR@euro, les locales sont correctes ;
 1. j'ai un fichier avec peu d'accents (seulement 'é') ;
 2. la fonction set-language-environment n'est pas appelée dans
   mon .emacs ;
 3. j'ouvre mon fichier avec Emacs, la barre de statut m'indique "--"
   comme système d'entrée et d'enregistrement (c'est une option du la
   `modeline') ;
 4. j'entre des lettres accentuées (type 'ê' ou 'œ') ;
 5. je veux sauvegarder : iso-8859-15 ne fonctionne pas.

Solution 1), très contraigante : ajouter un point 3,5
  3,5. changer le codage (menu options/mule/set coding system) du fichier
   avant de taper un accent ;
La `modeline' m'indique alors "-0" (latin0 == latin9).

Solution 2), beaucoup plus simple : remplacer le point 2
  2. (set-language-environment "latin9") dans le .emacs ;
De cette façon, la `modeline' m'indique "-0" dès le chargement du fichier.

En bref, il faut bien définir sa configuration d'Emacs et faire très
attention aux changements de version : vérifier notamment que les
fonctions «qui marchaient bien» font toujours leur job (des choses comme
'display-standard-european qui ne servent plus mais qui ne génère aucun
problème si l'on s'en sert encore, etc.).

Si quelqu'un a une configuration minimale et motivée (c.-à-d. avec une
raison d'utiliser telle ou telle commande ou valeur pour une variable), je
crois qu'il trouveras beaucoup de considération en la publiant ;o)

-- 
| Sylvain Sauvage, doctorant/ATER [IAD & SMA]  | bzz        ?        .o:.
|   GREYC -- CNRS UMR 6072, Université de Caen |   ` %    ^..^___§  o::o::
|   tél://+33 (0)2 31 56 74 31                 |       @  (oo)   )  ::o::o
|__ http://www.info.unicaen.fr/~sauvage _______| _____`|'___WW¯WW_____][__



Reply to: