How to add elisp library on Debian

突然ですが Emacs 紹介のページで rainbow-delimiters という「対応する括弧を色付けする」elisp を見付けました。
これは早速入れるべしという事で、まずはパッケージを探したのですが案の定そんなパッケージは存在せず、泣きながら(←誇張)手動でインストールとなりました。

で、「どうせだからパッケージと同じようにシステムにインストールしよう」と(いつもと同様)唐突に思い立ち、なんとか目的を達成したのでメモしておきます。

なお、フォルダのパーミッションの都合上、以下の作業は root で行いました。
手順は windows-el パッケージを参照させて頂きました。メンテナの方に感謝です。

  1. まずは elisp ファイルをダウンロードします。しないと話が始まりません。
  2. それを /usr/share/emacs/site-lisp/ 以下に置きます。今回は 1ファイルだったのでグループ化しませんでしたが、複数ファイルの場合はフォルダを掘って入れるのが良いようです。
  3. 続いて、元と同様のフォルダ構造で /usr/share/?flavor?/site-lisp/ 以下に elisp ファイルへの symlink を張ります。「?flavor?」の部分には実際の emacs の名前を入れてください。今回は「emacs24」でした。
  4. いよいよバイトコンパイルの時間です。symlink したファイル群に対して「emacs24 -batch -q -no-site-file -f batch-byte-compile elispファイル名」を叩いてください。「emacs24」の部分は環境に合わせて読み替えて下さい。(当然ながら作業フォルダは symlink 先だった  /usr/share/?flavor?/site-lisp/ 以下ですよ)
    コンパイル時に別ファイルを読ませる必要があれば「-l ファイルパス」(←小文字のエルです。アイでも1でもありません)をコマンドラインに追加すればいいようです。
  5. 最後に /etc/emacs/site-start.d/ に、ライブラリ読み込み用の設定ファイルを作成します。今回は 50windows-el.el70rainbow-delimiters.el にコピーさせてもらって、ちょこっと編集して使いました。
    基本的には元の elisp ファイルの存在を確認した後で emacs の load-path に追加して、require しているようでした。
    1ファイルしか無い今回は load-path 設定の部分をコメントアウトして require だけにしましたが、動作したので OK ということで。

これでシステムワイドにライブラリを読み込んでくれるので、後は個人設定で add-hook するなり global-rainbow-delimiters-mode で常に ON にするなり、好きなように料理できます。

いやぁ、今日の思い付きは短時間で済んだので本人もびっくりです。持つべきものは「バラせる(←ここ重要。テストに出ます)既存品(つまり windows-el パッケージ)」ですね。