aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2008-05-29 23:00:20 +0000
committerKenichi Handa2008-05-29 23:00:20 +0000
commiteaf11618479c899a602cfe12a3e18a5db48d8959 (patch)
tree587be44c0487ef5b06c1c2ad658636368374c53f
parent736c927616167225eec127a77a18c224f9f8fe07 (diff)
downloademacs-eaf11618479c899a602cfe12a3e18a5db48d8959.tar.gz
emacs-eaf11618479c899a602cfe12a3e18a5db48d8959.zip
(utf-8-sig, utf-8-auto): New coding systems.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/international/mule-conf.el16
-rw-r--r--src/ChangeLog31
3 files changed, 54 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8339022aac4..b18b186f6de 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12008-05-29 Kenichi Handa <handa@m17n.org>
2
3 * international/mule-conf.el (utf-8-sig, utf-8-auto): New coding
4 systems.
5
6 * international/mule.el (define-coding-system): Accept :bom for
7 utf-8.
8
12008-05-29 Espen Wiborg <espen.wiborg@telio.no> (tiny change) 92008-05-29 Espen Wiborg <espen.wiborg@telio.no> (tiny change)
2 10
3 * international/utf-7.el (utf-7-encode): Use the right escape char 11 * international/utf-7.el (utf-7-encode): Use the right escape char
diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el
index 6fe69aa6630..43fbf2ba800 100644
--- a/lisp/international/mule-conf.el
+++ b/lisp/international/mule-conf.el
@@ -1253,12 +1253,26 @@ is treated as a character."
1253 :mnemonic ?M) 1253 :mnemonic ?M)
1254 1254
1255(define-coding-system 'utf-8 1255(define-coding-system 'utf-8
1256 "UTF-8." 1256 "UTF-8 (no signature (BOM))"
1257 :coding-type 'utf-8 1257 :coding-type 'utf-8
1258 :mnemonic ?U 1258 :mnemonic ?U
1259 :charset-list '(unicode) 1259 :charset-list '(unicode)
1260 :mime-charset 'utf-8) 1260 :mime-charset 'utf-8)
1261 1261
1262(define-coding-system 'utf-8-sig
1263 "UTF-8 (with signature (BOM))"
1264 :coding-type 'utf-8
1265 :mnemonic ?U
1266 :charset-list '(unicode)
1267 :bom t)
1268
1269(define-coding-system 'utf-8-auto
1270 "UTF-8 (auto-detect signature (BOM))"
1271 :coding-type 'utf-8
1272 :mnemonic ?U
1273 :charset-list '(unicode)
1274 :bom '(utf-8-sig . utf-8))
1275
1262(define-coding-system-alias 'mule-utf-8 'utf-8) 1276(define-coding-system-alias 'mule-utf-8 'utf-8)
1263 1277
1264(define-coding-system 'utf-8-emacs 1278(define-coding-system 'utf-8-emacs
diff --git a/src/ChangeLog b/src/ChangeLog
index f61e8c3c595..d79125ca7ee 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,34 @@
12008-05-29 Kenichi Handa <handa@m17n.org>
2
3 * coding.h (enum define_coding_utf8_arg_index): New enum.
4 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5 coding_attr_utf_bom.
6 (enum utf_bom_type): Renamed from utf_16_bom_type.
7 (struct utf_16_spec): Adjusted for the above change.
8 (struct coding_system): Add utf_8_bom in `spec' union.
9
10 * coding.c (CODING_UTF_8_BOM): New macro.
11 (enum coding_category): Delete coding_category_utf_8, add
12 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
13 coding_category_utf_8_sig.
14 (CATEGORY_MASK_UTF_8): Delete it.
15 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
16 (CATEGORY_MASK_UTF_8_SIG): New macros.
17 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
18 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
19 CATEGORY_MASK_UTF_8_SIG.
20 (CATEGORY_MASK_UTF_8): New macro.
21 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
22 (detect_coding_utf_8): Check BOM.
23 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
24 (decode_coding_utf_16): Adjusted for the change of enum
25 utf_bom_type.
26 (encode_coding_utf_16): Likewise.
27 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
28 (detect_coding, detect_coding_system): Handle utf-8-auto.
29 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
30 (syms_of_coding): Fix setting up of Vcoding_category_table.
31
12008-05-29 Stefan Monnier <monnier@iro.umontreal.ca> 322008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2 33
3 * process.c (Faccept_process_output): If `millisec' is non-nil, 34 * process.c (Faccept_process_output): If `millisec' is non-nil,