[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Avoid compile warnings (Re: core dump)
>>>>> In [emacs-w3m : No.00240]
>>>>> Katsumi Yamaoka <yamaoka@jpl.org> wrote:
山岡> XEmacs で let で拘束された obsolete var に対する警告の抑制...
XEmacs は `file-coding-system' のような obsolete な変数が let で
束縛されて使われていても警告を出します。
例えば Gnus は `byte-compile-warnings' に `obsolete' を含めない
ことで簡単に対処していますが、ちょっとがんばって optimizer を作っ
てみました。
これで少なくともぼくの環境ではあまり役に立たない warnings を完全
に抑制できたので、今後何か不具合があるとよく目立つはずです。:-)
Optimizer は w3mhack.el の `w3mhack-byte-optimize-letX' がそれで、
以下のような変換をソースレベルで行なわせています。
;;From
(let ((coding-system-for-read 'binary)
(file-coding-system-for-read *noconv*))
(insert-file-contents FILE))
;;To
(let ((coding-system-for-read 'binary))
(insert-file-contents FILE))
;;From
(let* ((codesys 'utf-8)
(file-coding-system codesys)
(coding-system-for-write file-coding-system))
(save-buffer))
;;To
(let* ((codesys 'utf-8)
(coding-system-for-write codesys))
(save-buffer))
たぶん `let' が special form だということになっているためか、普
通の方法では optimize できなかったので、本来の optimizer 関数を
advise しているのが苦しいところ。
;; そんなことやっちゃいかん、ということかもしれませんが。(^^;;)
--
Katsumi Yamaoka <yamaoka@jpl.org>