Bonjour,

Suite � la discussion qu'on a eue il y a un mois pour la configuration
d'Emacs en UTF-8, je crois que j'ai mieux... Je l'ai test� chez moi,
mais il faudrait voir si �a fonctionne aussi ailleurs.

Le but ici est de dire d'Emacs de s'adapter aux locales. C'est donc
cens� marcher partout. Voil� ce qu'il faut mettre dans son .emacs:

(set-locale-environment nil)

Le nil indique que l'environnement est sp�cifi� par les locales.

Mais il y a une chose que �a ne fait pas: modifier les I/O quand
Emacs tourne dans un terminal texte (e.g. xterm). Pour cela:

(when (not window-system)
  (set-keyboard-coding-system locale-coding-system)
  (set-terminal-coding-system locale-coding-system)
)

Maintenant, pour ceux qui veulent aller plus loin en travaillant
avec des codages mixtes:

Pour reconna�tre automatiquement le jeu de caract�res d'un fichier
(dans les limites du possible, �videmment):

(and (boundp 'coding-category-utf-8)
     (set-coding-priority
      '( coding-category-utf-8
         coding-category-iso-8-1
         coding-category-iso-8-2
         coding-category-raw-text )))

C'est ce que m'avait donn� Laurent Wacrenier en d�cembre 2002
dans le groupe fr.comp.applications.emacs; cf

  http://groups.google.fr/groups?selm=slrnb0lr5o.15ge.lwa%40victor.teaser.fr

Il y a "prefer-coding-system" pour dire � Emacs quel codage il doit
utiliser pour le fichier lorsque le codage par d�faut ne suffit pas.
Par exemple, si vous avez (prefer-coding-system 'latin-1) dans votre
.emacs, lorsque vous �ditez un texte ASCII et que vous ajoutez un
caract�re accentu�, le fichier va �tre sauv� en iso-8859-1, quelles
que soient vos locales. �a peut toujours �tre utile, �ventuellement
dans des cas particuliers (e.g. fichier HTML pour serveur web ne
d�clarant que de l'iso-8859-1).

Et pour changer le codage du fichier � la vol�e:

(defun sbfcs-latin1 ()
  "Set file coding system to latin-1"
  (interactive)
  (set-buffer-file-coding-system 'latin-1)
)

(defun sbfcs-utf8 ()
  "Set file coding system to utf-8"
  (interactive)
  (set-buffer-file-coding-system 'utf-8)
)

(define-key global-map "\C-x\C-m1" 'sbfcs-latin1)
(define-key global-map "\C-x\C-mu" 'sbfcs-utf8)

-- 
Vincent Lef�vre <[EMAIL PROTECTED]> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA

Répondre à