>>>> In <yosu7l7mdv5e.fsf(a)jpl.org>,
>>>> Katsumi Yamaoka <yamaoka(a)jpl.org> wrote:
でも、なぜ
`vm' is an interactive compiled Lisp function
-- loaded from "vm-startup"
(vm &optional FOLDER READ-ONLY)
の "vm-startup" のように、出どころが表示されないのでしょう?
See [tm-en:1991]
... ではほとんどの人が確認できないと思うので説明します.
(defun foo () ...)
のような一番外側の defun は
(defalias 'foo #[...])
のように defalias に byte-compile されるのですが,
(or (fboundp 'foo) (defun foo () ...))
のような内側にある defun は
(byte-code "...")
の中で (fset 'foo ...) に相当する byte-code に byte-compile されます.
defalias は load history を update しますが, fset は update しません.
describe-function 等は「出どころ」を load history で調べています.
APEL の def*-maybe は load history の update をするようになっているの
ですが, 何らかの理由で def*-maybe を使うことができない場合には自前で
update してやらなければいけません.
ではなぜ APEL の require の定義が load history を update していないか
というと... すでに記憶がないのですが, 多分単に忘れていただけでしょう.
(^^;
2000-10-06 Shuhei KOBAYASHI <shuhei(a)aqua.ocn.ne.jp>
* poe.el (require): Update `current-load-list'.
require が load history に登録されると, (unload-feature 'poe) により
require が消えてしまうのですが, この変更以前から他にも致命的なものが
消えてしまうようになっているみたいなので気にしないことにします(^^;
--
Shuhei KOBAYASHI