[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: --with-icondir
実際の実装を見て検討するために,仮に作業してみました.ファイル名は
w3m-setup.el です.configure の時点ではなく,make の時点で生成されるよ
うに変更しました.
既知の問題点が一つあります.この変更だと,w3m.el 単体を load して,
w3m-setup.el を load していない場合に設定が反映されません.w3m.el 本体
で (require 'w3m-setup) すればいい,と最初は単純に考えていたのですが,
実は結構根が深い問題なんですね….
単純に (require 'w3m-setup) するだけだと,w3m.el 本体中の defcustom で
定義されたデフォルト値とは(一般には)一致しませんから,
customize-variable でオプションを設定しようとする人の混乱を招く恐れが
あります.ですから,デフォルト値もまとめて変更しておく必要があるのです
が,トリッキーな方法はあるんですけど,まともに source の字面上とも一致
する方法がありません.すると,defcustom 自体を w3m-setup.el に移動する
必要が生じてしまうのですが,これは更に変更範囲を拡大するのであまり嬉し
くない方法です.一応,末尾にパッチをつけておきますが.
そういうわけで,「余分な分かり難い処理を伴わずに変更する」のはなかなか
難しい,ということが判明しつつあります.
>> On Wed, 25 Sep 2002 14:11:32 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:
寺> ぼくも最初は何もしなくてよいと思ったのですが、.emacs 設定の雛型を
寺> 自動生成してくれているだけ、と思えばそれはそれでいいか、と思うに至
寺> りました。
山> install-package で生成される auto-autoloads.el に対して FSF Emacs
山> 用に何も無いのは不公平なので、ぼくも反対ではありません。
実は,どちらかと言えば消極的な意見が多いですし,結構難しいということに
遅まきながら気が付いたので,私も消極派になりつつあります.
ただ,この方向で修正することのメリットをもう一つ気が付いたので,指摘だ
けしておきますが,現在は w3m-icon-directory のデフォルト値の計算式が
w3m.el と w3mhack.el に分散して存在しているので,片方だけを変更した場
合には容易に矛盾が発生するのではないでしょうか.これをきちんと一本化し
ておくのは,将来的にバグを発生し難くするという点では意味のある作業だと
思います.
山> ;; しつこく何度もすみません。03940 に書いた ;;;###autoload クッ
山> ;; キーの件が気になってどうも寝覚めが悪いもので。
make 時に生成するようにしたので,w3mhack.el にちゃんと対応コードを書け
ば,autoload クッキーを反映させることも出来るのではないかと思います.
と言うより,w3mhack.el に w3m-setup.el 生成コードを仕込まないと,
Non-UNIX 環境でインストールできなくなってしまいますね.うーん,やっぱ
り難しいなあ….
--- w3m-setup.el.in 25 Sep 2002 06:07:29 -0000 1.1
+++ w3m-setup.el.in 25 Sep 2002 06:28:00 -0000
@@ -30,13 +30,13 @@
;;; Code:
-;; Developers, you must not edit this file directly. Edit
-;; `w3m-setup.el.in' instead of this.
+;; Developers, you must edit `w3m-setup.el.in' instead of `w3m-setup.el'.
(autoload 'w3m "w3m" "\
Visit the World Wide Web page using the external command w3m, w3mmee
or w3m-m17n." t)
(autoload 'w3m-find-file "w3m" "w3m interface function for local file." t)
+(autoload 'w3m-browse-url "w3m" "w3m interface function for browse-url.el." t)
(autoload 'w3m-region "w3m" "\
Render region in current buffer and replace with result." t)
(autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGINE." t)
@@ -44,7 +44,10 @@
(autoload 'w3m-antenna "w3m-antenna" "Report change of WEB sites." t)
(autoload 'w3m-namazu "w3m-namazu" "Search files with Namazu." t)
-(setq w3m-icon-directory "@ICONDIR@")
+(defcustom w3m-icon-directory "@ICONDIR@"
+ "*Icon directory for w3m (XEmacs or Emacs 21)."
+ :group 'w3m
+ :type 'directory)
(provide 'w3m-setup)
--- w3m.el 24 Sep 2002 11:51:07 -0000 1.724
+++ w3m.el 25 Sep 2002 06:28:02 -0000
@@ -70,6 +70,7 @@
(defvar w3m-current-title nil "Title of this buffer.")
(defvar w3m-current-url nil "URL of this buffer."))
+(require 'w3m-setup)
(require 'w3m-util)
(require 'w3m-proc)
@@ -572,17 +573,6 @@
`w3m-display-inline-images' won't be changed."
:group 'w3m
:type 'boolean)
-
-(defcustom w3m-icon-directory
- (if (fboundp 'locate-data-directory)
- (locate-data-directory "w3m")
- (let ((icons (expand-file-name "w3m/icons/"
- data-directory)))
- (if (file-directory-p icons)
- icons)))
- "*Icon directory for w3m (XEmacs or Emacs 21)."
- :group 'w3m
- :type 'directory)
(defcustom w3m-broken-proxy-cache nil
"*If non nil, cache on proxy server is not used.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )