[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs20.7
での
compile
>>>>> In [emacs-w3m : No.03167]
>>>>> Katsumi Yamaoka <yamaoka@jpl.org> wrote:
山岡> [1] ぼくは何が何でも cl を常駐させないようにするために、Mule-UCS
山岡> の x0213-csys.el で
山岡> -(require 'cl)
山岡> +(eval-when-compile (require 'cl))
山岡> という改造を行なって、runtime cl の駆逐に成功しています。し
山岡> たがって、この環境には w3m-proc.el が使っている cl の関数で
山岡> ある gensym が無いので、Emacs 20 で絵を出すには cl を load
山岡> しなければなりませんでした。
山岡> ところが Emacs 21 では、やはり cl は無いのに emacs-w3m を動
山岡> 作させる上で支障はありません。これってなぜでしょう?
これに関連して。
cl は load せずに gensym だけを定義して Emacs 20 で動作させると
Signaling: (void-function labels)
(labels ((post-body ... ...) (post-handler ... ...)) (let (...
(let ((--this-handler---42100 handler) (--temp-buffer---421...
(w3m-process-do-with-temp-buffer (type (w3m-retrieve url ni...
[...]
w3m-toggle-inline-images(nil)
というエラーが起きました。labels は cl が提供する macro ですが、
あたかも w3m-process-do-with-temp-buffer の中身が展開されず、
byte-compile もされていないような感じです。と言うのは、このエラー
が起きた後で cl を load するとちゃんと動作してしまうから。
;; 本命は Mule 2.3 の inline image 対応なんですが、Emacs 20 でも
;; 問題無いことをその都度確認しながらやっているために、こういう
;; 不思議な現象で楽しませてもらっています。:-)
--
Katsumi Yamaoka <yamaoka@jpl.org>