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

Re: ImageMagick 5.4.7 で mew-w3m.elc や w3m.elc をロードした際に "Image conversion faild" が発生する



>>>>> In [emacs-w3m : No.10048]
>>>>>	Eisaku YAMAGUCHI <eisaku@xxxxxxxxxxxxxxxxxx> wrote:

> 山口と申します.
> Emacs-w3m を便利に使わせていただいています.

こんにちは山岡と申します。山口さん、詳細な調査をありがとうござい
ます。

> 最近になって,ある環境の Emacs を 21.4 から 22.1 に更新し始めているの
> ですが,
> ImageMagick 5.4.7 (info にある 5.4.0-5 より新しいもの) と
> emacs-w3m-1.4.259 (2007/03/03) の組み合わせにおいて,"mew-w3m.elc" を
> ロードする際に決まって *Messages* buffer で

>> Image conversion failed (code `1')

> と言われることに気付きました.

手元のちょっと古いマシンに 5.4.7 があったので再現することができ
ました。これは `w3m-imagick-convert-program-available-p' という
関数が、convert プログラムが png32 という画像フォーマットを扱う
ことができるかどうかを最初の一回だけ検査するときに発生しています
ね。実際に以下の式を eval すると現れます:

(condition-case nil
    (w3m-imagick-convert-data
     "P1 1 1 1" "pbm" "png32")
  (error nil))

これが nil を返す場合、png32 ではなく単なる png を使うようになり
ますが、favicon の ico 画像が場合によってはきれいに表示されない
だけで実害はありません。暫定的な対策としては、次のようなものを
~/.emacs ファイル (~/.emacs-w3m.el ではありません) に置いておく
ことによって、警告が現れないようにすることができます。

(eval-after-load "w3m-image"
  '(put 'w3m-imagick-convert-program 'available-p 'yes))

しかし、本来あのような警告は web ページの画像が壊れている場合な
どに発するべきで、emacs-w3m が内部的に行なう処理では出ないように
しようと思います。少し時間を下さい (来週になってしまうかもしれま
せん)。
-- 
山岡