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

@w3m-dev/w3m-dev Summary モードで日 本語の部分が化ける



  User-Agent な環境で (多分 Emacs 21 が影響しているんでしょうが)
@w3m-dev/w3m-dev を読むと Summary モードで日本語の部分が化け化けになる
ので、色々調べていたのですが、どうも、

(1)shimbun-retrieve-url → w3m-decode-buffer を経由してコールされる
   w3m-detect-coding-region で euc-japan が shift_jis として認識される
   ので化ける。

(2)shimbun-retrieve-url で NO-DECODE して sb-w3m-dev.el (or sb-fml.el)
   で自前で decode しようとしても、shimbun-retrieve-url の中で
   *w3m-work* を insert-buffer した時点で enable-multibyte-characters
   が t になっており、Emacs が euc-japan を UTF-8 (?) として誤認識して
   しまう。

という状況のようです。

shimbun-retrieve-url で NO-DECODE するようなときは、sb server 側で自前
で decode するのが前提だと思うので、NO-DECODE を指定したら
(set-buffer-multibyte nil) しては駄目でしょうか?

P.S. shimbun-w3m-dev-coding-system で 'euc-japan なんて入れたら Mule2
   の人達は使えないんですね...。emacs-w3m のどこで互換性を維持するのか
   な?

P.S.2 shimbun-retrieve-url で w3m-with-work-buffer を使うのは
      (unless no-decode の後が良いような気がしますが、素人がいじるとや
      やこしいので余計なことをしませんでした。

        (unless (eq (current-buffer)
  		  (get-buffer w3m-work-buffer-name))

      を

        (unless (eq (current-buffer)
  		  (w3m-get-buffer-create w3m-work-buffer-name))

      にしなきゃならないかどうかも分かりませんでしたし...。

Attachment: shimbun.el.diff
Description: Binary data

Attachment: sb-fml.el.diff
Description: Binary data

Attachment: sb-w3m-dev.el.diff
Description: Binary data

Attachment: ChangeLog
Description: Binary data

-- 
中島幹夫 <minakaji@osaka.email.ne.jp>
         <m-nakajima@descente.co.jp>
http://www.asahi-net.or.jp/~gy2m-nkjm/