LoginSignup
1
1

More than 5 years have passed since last update.

El-Getでerror "Recursive load"が出た時の対処法

Last updated at Posted at 2016-09-23

El-Getとinit-loaderを組み合わせて使っていて, この問題に遭遇しました. 結局のところ気をつけなければいけないのは, init-loaderがロードするファイルの中で(el-get 'sync)を呼ばないということです.

発生条件

  • init-loaderを次のようにel-get-bundle!している.

    (el-get-bundle! 'init-loader
      (setq-default init-loader-show-log-after-init nil)
      (init-loader-load))
    
  • init-loader-loadするファイルの中で(el-get 'sync)している.

メカニズム

el-get-bundle! の第2引数以降は ディレクトリにファイルとして保存されるのですが, *Backtrace* によれば (el-get 'sync) がこのファイルをロードします. 結果として相互再帰的なロードが行われます.

同じ理由により el-get-bundle! の代わりに el-get-bundle を, (el-get 'sync) の代わりに (el-get)(el-get nil '(init-loader)) を呼んでもやはり同じエラーが出ます.

解決法

(el-get 'sync) をinit-loaderがロードするファイルの外に移動させます. 例えばel-get-bundle!の呼出しの後に記述します.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1