Chapter 10

おまけ:飛び道具たち

zk_phi
zk_phi
2020.09.24に更新

本文では紹介しなかった離れ技たちのアイデアだけ、最後に紹介しておきます。

難しいしちゃんと動く保証もないのでオススメはしません。

コンパイル時パッケージ読み込み

「起動時に必須なパッケージ」をせめて効率よくロードするために試したテクニックです。

ロード対象のパッケージのコードをコンパイル中に読み込んでしまって、コンパイル結果の init.elc に直接埋め込んでしまいます。

これによりファイルを開きにいくコストが削減できると思いました。

効果はわりとシステムによってまちまちのようで、 Windows ではかなり効果がでたものの、他はイマイチでした。 Windows 機を使うことが減ったのと、いかんせんかなりワイルドなテクニックで動作も不安定なところがあったので使うのはやめました。

一応 setup.el に名残のコードがあるので、興味のある方は読んだり使ったりしてみてください。自前で load-history をメンテしたり、なかなか過激なコードになっているので面白いとは思います。

ポータブルダンパー

Emacs 27 から unexec に代わって使われるようになった pdump を悪用するアイデアです。

「起動時に必須なパッケージ」のロードが終わった状態の Emacs を作って、それを pdump します。

そもそも「カスタマイズ後の Emacs を正しく pdump することは目標としていない」と明言されているので、かなり工夫して使う必要はありそうですが、もしうまくいけば相当な効率化が期待できます。

やってみたいなとは思いつつまだできていません。