+2008-05-29 Kenichi Handa <handa@m17n.org>
+
+ * international/mule-conf.el (utf-8-sig, utf-8-auto): New coding
+ systems.
+
+ * international/mule.el (define-coding-system): Accept :bom for
+ utf-8.
+
2008-05-29 Espen Wiborg <espen.wiborg@telio.no> (tiny change)
* international/utf-7.el (utf-7-encode): Use the right escape char
:mnemonic ?M)
(define-coding-system 'utf-8
- "UTF-8."
+ "UTF-8 (no signature (BOM))"
:coding-type 'utf-8
:mnemonic ?U
:charset-list '(unicode)
:mime-charset 'utf-8)
+(define-coding-system 'utf-8-sig
+ "UTF-8 (with signature (BOM))"
+ :coding-type 'utf-8
+ :mnemonic ?U
+ :charset-list '(unicode)
+ :bom t)
+
+(define-coding-system 'utf-8-auto
+ "UTF-8 (auto-detect signature (BOM))"
+ :coding-type 'utf-8
+ :mnemonic ?U
+ :charset-list '(unicode)
+ :bom '(utf-8-sig . utf-8))
+
(define-coding-system-alias 'mule-utf-8 'utf-8)
(define-coding-system 'utf-8-emacs
+2008-05-29 Kenichi Handa <handa@m17n.org>
+
+ * coding.h (enum define_coding_utf8_arg_index): New enum.
+ (enum coding_attr_index): Change coding_attr_utf_16_bom to
+ coding_attr_utf_bom.
+ (enum utf_bom_type): Renamed from utf_16_bom_type.
+ (struct utf_16_spec): Adjusted for the above change.
+ (struct coding_system): Add utf_8_bom in `spec' union.
+
+ * coding.c (CODING_UTF_8_BOM): New macro.
+ (enum coding_category): Delete coding_category_utf_8, add
+ coding_category_utf_8_auto, coding_category_utf_8_nosig, and
+ coding_category_utf_8_sig.
+ (CATEGORY_MASK_UTF_8): Delete it.
+ (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
+ (CATEGORY_MASK_UTF_8_SIG): New macros.
+ (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
+ CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
+ CATEGORY_MASK_UTF_8_SIG.
+ (CATEGORY_MASK_UTF_8): New macro.
+ (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
+ (detect_coding_utf_8): Check BOM.
+ (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
+ (decode_coding_utf_16): Adjusted for the change of enum
+ utf_bom_type.
+ (encode_coding_utf_16): Likewise.
+ (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
+ (detect_coding, detect_coding_system): Handle utf-8-auto.
+ (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
+ (syms_of_coding): Fix setting up of Vcoding_category_table.
+
2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
* process.c (Faccept_process_output): If `millisec' is non-nil,