handlename's blog

コード片など

package + auto-install から el-get に移行する

auto-install だったり github から個別に clone していたものを el-get に一本化。

パッケージをリストアップ

requireauto-load している部分を grep して抽出。 こんな感じのインストール処理を用意。

(defvar bootstrap:packages
      '(auto-async-byte-compile
        ac-company
        ace-jump-mode
        anything
        auto-complete
        ...
        ))

(dolist (package bootstrap:packages)
  (el-get-install package))

レシピの追加

用意されていないレシピを自分で用意する。 既存のレシピを見ながら黙々と追加。

File error: Cannot open load file, PACKAGE NAME

手書きのレシピで依存関係を書き忘れていた場合、 (el-get 'sync) を手動で実行すればどのレシピから呼ばれているのかがわかる。 もっといい方法がありそう…。

エラーメッセージを見て、 該当レシピに depends を追加。

el-get-user-package-directory は使わない

el-get-user-package-directory にディレクトリのパスを設定して init-helm.el みたいなファイルを置いておくと、 パッケージごとに設定を読みこんでくれる。

が、

複数のパッケージをまたがって設定を書くこともあるので、 今までどおり init-loader に設定ファイルのロードを任せることにした。

その辺の依存関係はうまく切り分けて書けよということなのかもしれないけども。

その他細かい修正

全パッケージを最新(たぶん)のものにしたので、 yasnippet の変数関数名が変わっていたり、 org-babel の設定方法が変わっていたりで 設定ロード時にそれなりの数のエラー・ワーニングが出ていた。 まとめて修正。

ほかにもあるだろうけど見つけ次第潰すことにする。