プログラム系統備忘録ブログ

記事中のコードは自己責任の下でご自由にどうぞ。

auto-installをautoloadする

init-loaderさん曰く、auto-install.elの初期化処理に2秒ほどかかっていました。
auto-installはたまににしか使いませんし、フックさせるラムダ式の変更、何らかの機能の無効化などに際にEmacsを再起動させる時間をなるべく少なくしたかったのでautoloadさせることにしました。

自分の環境では、auto-installはinit.elと、anything-startupで呼ばれるanything-auto-installの二つから呼び出されていました。
anything-startupの中身は次のように記述しました

;;; anything-auto-install.el integrates auto-install.el with anything.
(eval-after-load "auto-install"
  '(require 'anything-auto-install nil t))

init.elでは次のように記述しました

(autoload 'auto-install-batch "auto-install" nil t nil)
(autoload 'auto-install-from-emacswiki "auto-install" nil t nil)
(autoload 'auto-install-from-url "auto-install" nil t nil)
(autoload 'auto-install-from-gist "auto-install" nil t nil)

(eval-after-load "auto-install"
  (quote
   (progn
	 (setq auto-install-directory "~/.emacs.d/auto-install/")
	 (auto-install-update-emacswiki-package-name t)
	 (auto-install-compatibility-setup)
   ))

ただし、上の設定だと最初に使う関数がauto-install-from-emacswikiだと上手く動きません。しかし二回目以降の使用だと問題ないので放置しています。