起動が重くなるのを何とかしたい話(その2)

 起動が重くなる話を気にしないならMeadowを使えば良いわけで、軽さでxyzzyを選んでいる人には結構重要な問題じゃないかと。元ネタは@ITかどこかの話で見た奴ような気もするが忘れた。速度的に気になるほうなので、一応自分もsiteinit.lに殆ど書く派(ロードするときに読み込みたい奴だけ.xyzzyに書いてます)です。('∀`)←やや得意げ
で、教えてもらったautoloadのを見てみたら

関数を呼び出す側からは、元々そのファイルがロードされていたかのように実行
を続けます。めったに使わない関数をautoloadで宣言しておくとメモリ消費量を
節約できます。また、起動が速くなります。

とか書いてある。之は期待できそう。使用例に

  ;;; defs.lより
  (autoload 'search-dialog "dialogs" t)
  (autoload 'replace-dialog "dialogs" t)
  (autoload 'count-matches-dialog "dialogs" t)
  (autoload 'goto-line-dialog "dialogs" t)
  (autoload 'open-file-dialog "dialogs" t)

と書いてあって、search-dialogとかが随時呼び出しされていた?とか色々思ってみた。しかし、多少疑問も。例えばshellは「defs.l」に

(export 'shell)
(autoload 'shell "shell" t)

こんな風に書いてあるわけだけど、shell.lも同時にlispディレクトリに存在しているわけで、どちらから先に読み込まれるかとかどういう風に判別するんだろうとか。defs.lだけ別物?それともバイトコンパイルする時に自動で判断されるんだろうか。
これが単純にsiteinit.lに書けばいいだけなら自分が使わなさそうなのを設定しまくれば、色々軽く出来そう。