[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: decode-coding-regin() with utf-8



From: Hideyuki SHIRAI (白井秀行) <shirai@meadowy.org> 曰く
Subject: [emacs-w3m:07895] Re: decode-coding-regin() with utf-8
Message-ID: <20050315.190753.01432646.shirai.hideyuki@rdmg.mgcs.mei.co.jp>
Date: Tue, 15 Mar 2005 19:07:53 +0900 (JST)

> > (set-buffer-multibyte nil) が原因です。 utf-8 は
> > post-read-conversion 関数を使いますが、これは unibyte-buffer
> > ではうまく動きません。

というわけで、手元の Emacs 達はうまく動いているようなので、これ
から、

Index: w3m.el
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/w3m.el,v
retrieving revision 1.1124
diff -u -u -r1.1124 w3m.el
--- w3m.el	10 Mar 2005 12:36:34 -0000	1.1124
+++ w3m.el	15 Mar 2005 10:18:49 -0000
@@ -4034,16 +4034,15 @@
       (setq content-charset (w3m-correct-charset content-charset))
       (setq cs (w3m-charset-to-coding-system content-charset))))
     (setq w3m-current-content-charset content-charset)
-    (decode-coding-region
-     (point-min) (point-max)
-     (setq w3m-current-coding-system
-	   (or cs
-	       (w3m-detect-coding-region
-		(point-min) (point-max)
-		(if (w3m-url-local-p url)
-		    nil
-		  w3m-coding-system-priority-list)))))
-    (set-buffer-multibyte t)))
+    (setq w3m-current-coding-system
+	  (or cs
+	      (w3m-detect-coding-region
+	       (point-min) (point-max)
+	       (if (w3m-url-local-p url)
+		   nil
+		 w3m-coding-system-priority-list))))
+    (set-buffer-multibyte t)
+    (decode-coding-region (point-min) (point-max) w3m-current-coding-system)))
 
 (defun w3m-x-moe-decode-buffer ()
   (let ((args '("-i" "-cs" "x-moe-internal"))

なパッチを commit しますね。あと、調べると、

sb-palmfan.el:100:      (decode-coding-region
sb-palmfan.el:206:      (decode-coding-region
sb-rss.el:141:      (decode-coding-region (point-min) (point-max) (shimbun-rss-get-encoding))

あたりが、unibyte で decode-coding-region() しているようですね。

## いやぁ、(ぼくだけでは無いようですが :-)知らなかったよ。

-- 
白井秀行 (mailto:shirai@meadowy.org)