[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: --with-icondir
こんにちは山岡と申します。
>>>>> In [emacs-w3m : No.03912]
>>>>> Masao Uebayashi <uebayasi@pultek.co.jp> wrote:
上林さん> configure のオプションに
上林さん> --with-icondir=/usr/local/share/emacs/site-lisp/w3m/icons
上林さん> などと指定してインストールすると、インストール先としては正し
上林さん> く指定されますが、w3m-icon-directory のデフォルトの値には反
上林さん> 映されず、手動で指定する必要があるようです。*.el の値にも
上林さん> configure で指定した値が反映されるようになると簡単でうれしい
上林さん> です。
あまり一般的ではないような気がしますが、できたら便利ですね。個人
的にインストールする場合だけでなく、コンパイル済みのパッケージを
作るときも。
ただ、CVS で checkout したその場で configure; make install する
人も少なくないと思うので、w3m.el そのものを改変してしまうのはちょっ
とまずい。誰か開発者が checkin するたびにデフォルト値がコロコロ
変わってしまいますから。:-p
そこで、もっと一般的ではないと思うのですが、環境に即したデフォル
ト値を w3m.elc が持つようにするのはどうでしょう。→ developers
;;; condifure.in の最後の行
AC_OUTPUT(Makefile w3micondir)
;;; 新設する w3micondir.in
(setq w3micondir "@ICONDIR@")
;;; w3mhack.el の (require 'cl) の前
(let (w3micondir)
(if w3mhack-nonunix-icondir
(setq w3micondir w3mhack-nonunix-icondir)
(load "w3micondir" t t t))
(if (and w3micondir
(not (string-equal w3micondir "NONE")))
(put 'defcustom 'byte-optimizer
(lambda (form)
(if (eq 'w3m-icon-directory (nth 1 form))
(setcar (cdr form) w3micondir))
form))))
この byte-optimizer は defcustom の第一引数が w3m-icon-directory
だったら byte-compile する直前に第二引数を configure で指定され
た icondir で置き換えるという意味です。動作未確認。
--
Katsumi Yamaoka <yamaoka@jpl.org>