Emacs の設定を複数のマシンの共有するときに面倒なのが、require しているパッケージがあったりなかったりすること。例えば、slime を require している .emacs をマシン A とマシン B で共有しているとする。マシン A には slime があり、マシン B には slime がないと、マシン B では .emacs の読み込みに失敗してしまう。 これを軽減するひとつの策として、require を必ず成功させるという方法がある。require には 3 つまで引数を渡すことができて、第 3 引数に t を渡すと、require に失敗しても error を吐かないようになる。 (require 'slime-autoloads nil t) (slime-setup) これを色んなところに書くのはあんまりなので、以下の require-safe 関数で実現する。