Emacs 22.1.1 インストールノート on Ubuntu 7.04@ガンダム風
Emacs 21.4.1 + mule-ucs 遅いぞ、何やってんの!!(by ブライト@ガンダム)
今まで、Ubuntu 日本語化チームが用意してくれた Emacs 21.4.1 (+ emacs-env-ja + mule-ucs + その他の el パッケージ) を apt-get install して使用していたが、遅すぎるのと grep-find した時にしょっちゅう固まるのに常々不満を持っていた。
開発業務に戻ったこともあり、ここは心機一転して、実に5年半ぶりにリリースされたメジャーバージョン22.1.1を使用してみることにした(2007年6月にリリース)。まだ Ubuntu のレポジトリには入っていないので、FSF からソースをダウンロードしてきてコンパイル & インストールする。エラーもなく configure && make && sudo make install で成功。
Emacs 22.1.1 立て、立ってくれよぉー!!(by アムロ@ガンダム)
GNU Emacs
http://www.gnu.org/software/emacs/emacs.html
GNU Emacs 22.1 released
http://lists.gnu.org/archive/html/info-gnu-emacs/2007-06/msg00000.html
いろいろ入れた .el パッケージと混在するのも嫌なので、心機一転のついでに OS も再インストールすることにした。以下はインストール直後からコンパイル環境もふくめた手順。
- 1. Ubuntu 7.04をインストールする。
- 2. Emacs 22 のコンパイルに必要な下記のパッケージをインストールする。注意したいのは libx11-6 関連のライブラリとヘッダで、これらを入れないとコンパイルは通るがX Window System上での起動ができない(デフォルトでemacs -nwのように端末内での起動になってしまう)。
$ sudo apt-get install gcc gcc-doc g++ --yes $ sudo apt-get install libc6 libc6-dev glibc-doc --yes $ sudo apt-get install libpthread20 libpthread-dev --yes $ sudo apt-get install libncurses5 libncurses5-dev --yes $ sudo apt-get install libx11-6 libx11-dev --yes
$ md5sum emacs-22.1.tar.gz 6949df37caec2d7a2e0eee3f1b422726 emacs-22.1.tar.gz $ tar zxvf emacs-22.1.tar.gz $ cd emacs-22.1/ $ ./configure $ make $ sudo make install
以上で、インストールは完了。
見せてもらおうか。Emacs 22.1.1 の新機能とやらを!!(by シャア@ガンダム)
リリースページにもあるが個人的に気づいた点を大小問わず挙げてみる。
- 1. Unicode サポートが標準になった。これで普通に UTF8 が使え、メチャ重い mule-ucs の暗黒時代から脱け出すことができた。かなり嬉しい。
- 2. X Window System からのドラッグ&ドロップに対応。けっこう嬉しい。
- 3. Dired モードでマウスをファイルにあわせるとウィンドウが分割されてファイルの内容が下半分のウィンドウに表示。ディレクトリの場合は ls -l の内容を表示。なかなか、嬉しい。
- 4. M-x のキーバインドで呼び出す時に、ミニバッファが青色。嬉しい、かな。
- 5. emacs -nw で端末内で起動させて日本語入力すると必ず落ちる。これ、どうしたもんかな。
Emacs 21.4.1 とは違うのだよ、21.4.1 とは!!(by ランバ・ラル@ガンダム)
今まで入っていた Emacs 21.4.1 + .el パッケージ群。ずいぶんいろいろ入れていたので起動もメチャ遅かった。
BEFORE)
$ dpkg -l | grep emacs | awk '{print $2}' apel emacs emacs-el emacs-env-ja emacs-goodies-el emacs21 emacs21-bin-common emacs21-common emacs21-el emacsen-common xemacs21 xemacs21-basesupport xemacs21-bin xemacs21-mule xemacs21-mulesupport xemacs21-support $ $ time emacs real 0m17.801s user 0m0.204s sys 0m0.036s $
OS 再インストールとともにソースからコンパイル & インストールした Emacs 22.1.1。速い!つーか、通常の 3 倍(スマン)どころじゃない速さ。ザク…じゃなくて 21.4.1 とは違うな、やっぱり。
AFTER)
$ dpkg -l | grep emacs | awk '{print $2}' $ $ time emacs real 0m2.825s user 0m0.252s sys 0m0.016s
認めたくないものだな。自分自身の…若さゆえの過ちというものを。(by シャア@ガンダム)
必要のない .el パッケージをなんでもかんでも apt-get install で放りこんで速度&安定性ともに犠牲にしていた前回を深く反省した。これからは .el ファイルは必要なものだけ site-lisp 配下に格納していく予定。
戦いとは、いつも2手、3手先を考えて行うものだ。(by シャア@ガンダム)
また、"lisp", "site-lisp" など load-path で見に行く .el ファイル群が Ubuntu だと /usr/share/emacs/[emacs-version] 配下にインストールするが、ソースからだと /usr/local/share/emacs/[emacs-version] 配下にインストールされる。configure の prefix を変えればいいのだろうけど、管理を自前でしたいので、これからは Ubuntu から src.deb だけ DL して展開したものを /usr/local/share/emacs[emacs-version] に格納していくことにする。
今のところ、gtags.el(global に付属)とxscope.el(cscopeに付属)をsite-lisp 配下に持ってきている。ここに置いておけば normal-top-level-add-subdirs-to-load-path (subdirs.el の中)が自動的に load-path に加えておいてくれるので便利。