[mew-dist 18313] UTF-8 decode failure
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2001年 7月 31日 (火) 17:56:43 JST
## mew-dist にやってきました。^^;;;
Emacs 20.7 + Mule 4.1 + Mule-UCS 0.84 で
~~~ 4.0 は確かめていません
From: =?utf-8?B?55m95LqV56eA6KGM?= <hoge at example.com>
を decode しようとして、
(mew-header-decode "utf-8" "B" "55m95LqV56eA6KGM")
とすると、結果が *ばけばけ* になってしまうという話です。
# このメールの From: が化けたらそういう組合わせです。:-)
こんなパッチでどうでしょうか?
--
白井秀行 (mailto:shirai at example.com)
*** mew-func.el.orig Tue Jul 31 17:42:58 2001
--- mew-func.el Tue Jul 31 17:28:30 2001
***************
*** 1164,1169 ****
--- 1164,1173 ----
(if (fboundp 'set-buffer-multibyte)
(if mew-unibyte-p () (set-buffer-multibyte arg))))
+ (defsubst mew-multibyte-string-p (str)
+ (when (fboundp 'multibyte-string-p)
+ (if mew-unibyte-p () (multibyte-string-p str))))
+
(defvar mew-unibyte-p
(and (boundp 'enable-multibyte-characters)
(null enable-multibyte-characters)))
*** mew-mule3.el.orig Tue Jul 31 17:43:09 2001
--- mew-mule3.el Tue Jul 31 17:48:02 2001
***************
*** 143,151 ****
(save-excursion
(set-buffer buf)
(mew-erase-buffer)
! (mew-set-buffer-multibyte nil)
(insert str)
! (mew-set-buffer-multibyte t)
(decode-coding-region (point-min) (point-max) cs)
(setq ret (buffer-substring (point-min) (point-max))))
(mew-remove-buffer buf)
--- 143,151 ----
(save-excursion
(set-buffer buf)
(mew-erase-buffer)
! (mew-set-buffer-multibyte (mew-multibyte-string-p str))
(insert str)
! (or (mew-multibyte-string-p str) (mew-set-buffer-multibyte t))
(decode-coding-region (point-min) (point-max) cs)
(setq ret (buffer-substring (point-min) (point-max))))
(mew-remove-buffer buf)
Mew-dist メーリングリストの案内