byte-compile-find-cl-functions: Wrong type argument: stringp, nil

Katsumi Yamaoka yamaoka @ jpl.org
2002年 7月 29日 (月) 19:30:55 JST


;; すみませんが、まだどこが適切かわからないので、オープンではな
;; い二つの ML にポストしています。返信の際は宛先にご注意下さい。

どうやらまったく無関係だったと思われる APEL の改造に精を出してい
まして、フォローが遅くなりました。^^;;

>>>>> In [mule-ja : No.08372]
>>>>>	OHASHI Akira <bg66 @ koka-in.org> wrote:

大橋さん>> なぜ (nil) というリストが load-history に存在するのかは、
大橋さん>> まだ原因は捕めていません。

大橋さん> byte-compile された mime-view を load したら (nil) なリスト
大橋さん> が load-history に追加されました。

ぼくの環境では、最新の Emacs 21.3.50 に限らず、以下のようなもの
が普通に見られます。

(- (length load-history)
   (length (delete '(nil) (copy-sequence load-history))))
 => 1

ぼくは何かの .el ファイルに、次のようなものを書く癖があるのです
が、

(let (current-load-list)
  (defadvice 著名な関数 ...))

これは例えば bbdb-display-records-1 という関数の advice を
x-face-e21.el で行なうと、その関数の出自が bbdb.el ではなくて
x-face-e21.el になってしまうのは変だ、C-h f で advice されている
ことが表示されるのだから出自は元のままで良いではないか、という考
えに基づいています。

そして、こういうものが load-history に (nil) が含まれてしまう原
因なのではないか、すなわち犯人はぼくではないか、とさきほど
apel-ja に書いたのですが、ちょっと自信がなくなりました。

なお、

小林さん> ところが最近 rms が load-history の構造を変更するという提案
小林さん> をしたそうで, apel-ja でその対策を話し合っているところでした.

これは以下の二つの記事に端を発しているのですが、

http://mail.gnu.org/pipermail/emacs-devel/2002-July/010629.html
http://mail.gnu.org/pipermail/emacs-devel/2002-July/010684.html

今のところ先端の Emacs で current-load-list や load-history の構
造を変えるようなことは行なわれておらず、大橋さんがポストされた
bytecomp.el の対策は的を射ていると思います。

ですが、それはそれとして load-history に (nil) が含まれる直接の
原因は調べましょう。
-- 
Katsumi Yamaoka <yamaoka @ jpl.org>




More information about the APEL-ja mailing list