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

w3m.el updated (rev. 1.39)



幹のw3m.elをチョコと修正しました。

基本的にwin32での使用における不具合解消で、
加えて dolist の濫用(^^; と若干のバグフィックスです。

w3m-expand-file-name はnativeな形式からcygwin形式を考慮した
expand-file-nameとして存在していましたが、この形式に直したファイル名は
Emacsからは扱えませんので、w3m-bookmark-fileやw3m-arrived-urls-fileでは
使用しないようにしました。また、w3m-expand-file-nameはexpand-file-nameと
しても存在意義が薄く、URL表現のためのディレクトリパス表現への変換と考え、
名称をw3m-expand-file-name-as-urlと変えました。また、URL表現からnativeな
パス表現へ変換するためのw3m-local-file-name を新設しました。

このあたりに絡んで w3m-view-bookmarkが動いていなかったのが動くようになり
ました。(Win32 固有)

あと、既にdolistを使っている個所があったので、意図的にdolistを使用するよ
うにしました。幾つかの既存の(while ...)ループもdolistに置き換え、すっき
りさせました。これはつまり、cl-macsの使用を解禁する、ということなので、
caarやcadrなども遠慮なく使えることになります。

## 現コードにはそれらに置き換えられる個所はありませんでした。

& などのキャラクタエンティティ(エスケープ文字)の置き換え処理をすっき
りさせました。obarrayを使用。また、最後の";"が無い場合(違法?)も考慮する
ようにバグフィックス。

## 朝日新聞のページで見かけた。

find-coding-systemはXEmacsの関数だと思います。
MeadowをはじめEmacs20にはありませんので、暫定的ですが、
APEL のpcesをrequireするようにしました。

あと、コンパイラワーニングを見て未定義変数の参照やらといった小さなバグフィ
クスを行いました。

修正はこんなところです。

で、お伺いなのですが、

 1.  cl-macsを解禁してよい?
     byte-compileした場合は不要になりますが、
     sourceでロードした場合はclおよびcl-macsがロードされることになります。

 2. APELの使い方になれていないのですが...
    
    2.1 ifで囲んで(require 'poe)とかしないで、常にrequireしても
	よいんでない? (APEL必須になってしまうあたりが議論の余地)

    2.2 find-coding-systemなどの例のような件なのですが、
	関数の選択はFSF Emacs基準でやったほうがいい? or not?
	(find-coding-systemはXEmacsの関数でそれをFSF Emacsでも
	 使うために(require 'pces)してるのが現状)

あたりでご意見募集。

以下は修正分のChangeLog (commit済)

2001-03-02  Shun-ichi GOTO  <gotoh@taiyo.co.jp>

	* w3m.el: Correcting wrong use of cygwin type filename usage,
	using dolist macro, adding handling codes html character entities,
	correct bug of w3m-view-bookmark on win32 environment, 
	fixing some small bugs, etc.
	(w3m-url-to-file-name): New function.
	(w3m-expand-file-name-as-url): Renamed from w3m-expand-file-name.
	(w3m-bookmark-file): Initialize as native filename format.
	(w3m-arrived-urls-file): Likewise.
	(w3m-charset-coding-system-alist): Use dolist macro.
	(w3m-entity-alist): New constant.
	(w3m-entity-db): New variable.
	(w3m-entity-db-size): New variable.
	(w3m-entity-db-setup): New function.
	(w3m-entity-value): New function
	(w3m-fontify): Refine html character entity decoding.
	Use dolist macro. Some bug fix.
	(w3m-exec-get-user): Simplify using dolist macro.
	(w3m-bookmark-save): Likewise.
	(w3m-local-content-type): Likewise.
	(w3m-local-retrieve): Fix filename handling considering cygwin
	convention by using w3m-local-file-name function.
	(w3m-http-retrieve): Buf fix.
	(w3m-rendering-region): Bug fix, use w3m-current-url.
	(w3m-view-bookmark): Use w3m to do initialize on interactive call.
	(w3m-find-file): Fix for renamed function.

--- Regards,
 Shun-ichi Goto  <gotoh@taiyo.co.jp>
   R&D Group, TAIYO Corp., Tokyo, JAPAN