From aa453e89dc7a26c048ecaa2f7b4a45917e574c0d Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Fri, 28 Jun 2013 23:41:14 +0900 Subject: [PATCH] mule-conf.el (prefer-utf-8): New coding system. (file-coding-system-alist): Use prefer-utf-8 as default for Elisp files. --- lisp/international/mule-conf.el | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 48487b850d..a84054b498 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el @@ -1225,6 +1225,18 @@ (define-coding-system-alias 'dos 'undecided-dos) (define-coding-system-alias 'mac 'undecided-mac) +(define-coding-system 'prefer-utf-8 + "Like `undecided' but prefer UTF-8 when appropriate. +On decoding, if the source contains 8-bit codes and they all +are valid UTF-8 sequences, detect the source as UTF-8 encoding +regardless of the coding priority. +On encoding, if the source contains non-ASCII characters, encode them +by UTF-8." + :coding-type 'undecided + :mnemonic ?- + :charset-list '(emacs) + :prefer-utf-8 t) + (define-coding-system 'raw-text "Raw text, which means text contains random 8-bit codes. Encoding text with this coding system produces the actual byte @@ -1508,7 +1520,7 @@ for decoding and encoding files, process I/O, etc." (setq file-coding-system-alist (mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg))) '(("\\.elc\\'" . utf-8-emacs) - ("\\.el\\'" . utf-8) + ("\\.el\\'" . prefer-utf-8) ("\\.utf\\(-8\\)?\\'" . utf-8) ("\\.xml\\'" . xml-find-file-coding-system) ;; We use raw-text for reading loaddefs.el so that if it -- 2.39.2