* utf7.el (utf7-get-u16char-converter): Revert BOM workaround for
authorkaoru <kaoru>
Sat, 1 Aug 2009 03:22:00 +0000 (03:22 +0000)
committerkaoru <kaoru>
Sat, 1 Aug 2009 03:22:00 +0000 (03:22 +0000)
Mule-UCS (to-utf-16).
(utf7-utf-16-coding-system): Change preference when Mule-UCS on
Emacs 23.

elmo/ChangeLog
elmo/utf7.el

index 1749e76..1057b61 100644 (file)
@@ -1,3 +1,10 @@
+2009-08-01  TAKAHASHI Kaoru  <kaoru@kaisei.org>
+
+       * utf7.el (utf7-get-u16char-converter): Revert BOM workaround for
+       Mule-UCS (to-utf-16).
+       (utf7-utf-16-coding-system): Change preference when Mule-UCS on
+       Emacs 23.
+
 2009-07-11  Taiki SUGAWARA  <buzz.taiki@gmail.com>
 
        * utf7.el (utf7-find-coding-system-without-bom): New Function.
index 3830272..30fdb74 100644 (file)
 
 (defconst utf7-utf-16-coding-system
   (or
-   ;; Mule-UCS
-   (utf7-find-coding-system-without-bom 'utf-16-be-no-signature)
-   ;; Emacs 21.3, Emacs 22
+   ;; Emacs 22, Emacs 23
+   (utf7-find-coding-system-without-bom 'utf-16be)
+   ;;
    (utf7-find-coding-system-without-bom 'utf-16-be)
-   ;; Emacs 21.3, Emacs 22
-   (utf7-find-coding-system-without-bom 'utf-16be))
+   ;; Mule-UCS
+   (utf7-find-coding-system-without-bom 'utf-16-be-no-signature))
   "Coding system which encodes big endian UTF-16.")
 
 (defsubst utf7-imap-get-pad-length (len modulus)
@@ -210,7 +210,10 @@ Use IMAP modification if FOR-IMAP is non-nil."
            (encode-coding-region (point-min)(point-max)
                                  utf7-utf-16-coding-system)
            (set-buffer-multibyte nil)
-           (goto-char (point-min)))
+           (goto-char (point-min))
+           ;; Remove BOM (Big-endian UTF-16 FE FF) for Mule-UCS
+           (while (re-search-forward "\376\377" nil t)
+             (delete-region (match-beginning 0) (match-end 0))))
        (lambda ()
          (goto-char (point-min))
          (decode-coding-region (point-min) (point-max)