【コラム】
Time Capsuleがアップデート、2TBモデルが追加されました。価格は従来の1TBモデルと同じ50,800円、新しい1TBモデルは30,800円ということで、事実上の値下げ。こまめにシステムのバックアップを行うべく、導入を検討しようかと思います。
さて、今回は「Emacs 23.1」について。言わずと知れた多機能テキストエディタの最新版、時代の要請に応じた最新フィーチャーが盛り込まれている。ここでは、その全体像から見てみよう。
Emacs 23.1は、2007年6月にリリースされたv22.1以来約14カ月ぶりとなる、安定版としてのメジャーバージョンアップだ。全プラットフォーム共通の変更点もあれば、OS X限定の新機能もあり、OS XにおけるEmacsユーザにとっては看過できないリリースとなっている。
まずは、全プラットフォーム共通の変更点から。内部のエンコーディング形式が従来のemacs-muleから、UTF-8互換の「utf-8-emacs」に変更された。Emacs LispファイルもUTF-8が適用されるため、v22以前に生成されたelcファイルはバイトコンパイルし直したほうがいい (読み込み可能だが時間がかかる)。
特筆すべきは「DocViewモード」 (doc-view.el) の追加だろう。PDF / DVI / PostScriptに対応、Diredなどからファイルを開く操作を行うとモードが開始され、ビューアとして機能する。筆者が数十のPDFで試した限りでは開けないものも多く、互換性は完璧とはいえない状況だが、"Emacsの環境で生きる"ユーザにとってはありがたい新機能といえるだろう。なお、メジャーモードではRuby (ruby-mode.el) も標準装備されている。
フォントに関する実装も変更された。バックエンドにはfreetypeとfontconfigがサポートされ、フォント名にはfontconfigとGTKの2種類が利用できるようになった。Xftによるアンチエイリアス処理も可能となり、表示品質が向上している。
ほかにも、GnuPGのフロントエンドとして機能するEasyPGの標準装備や、行番号の表示をON/OFFする「linum.el」などパッケージの追加が行われている。
OS X向けの新機能だが、Cocoa APIを利用する通称「Cocoa Emacs」のコードが採用されたことが挙げられる。ソースコード内のnextstep/READMEを読めばわかるように、1990年頃から存在するソースコードツリーの復活であり、2005年頃から再びメンテナンスされ始めて現在に至る。CarbonからCocoaへの移行をAppleが推奨していることもあり、Emacsにおいてもその流れはいわば必定。Snow Leopard目前のいま、Cocoa Emacsと慣れ親しんでおく必要があるのだ。
後述するが、よくメンテナンスされていたCarbon APIベースのコード (Carbon Emacs) に比べ、Cocoa Emacsは若干安定性に欠ける。フォント周りの実装もCarbon Emacsとは異なるため、等幅フォントの設定が難しい (筆者も検証中) など、これまで蓄積したノウハウを生かせない部分がある。Cocoaへの移行は時代の流れとして受け入れざるをえないが、実用性を考慮すると、もうしばらくはCarbonにとどまる必要がありそうだ。
Emacs 23.1は、本稿執筆時点ではソースコードのみ配布されている。OS Xで利用する場合、開発環境 (Xcode Tools) が必須となるので、事前にADC経由などで入手しておくこと。ソースコードは、負荷集中を避けるためGNU本家ではなく、日本のRing Server (HTTPまたはFTP) 経由でダウンロードしてほしい。
準備が完了したらいざビルド……その前に、日本の有志ユーザが開発したインライン入力パッチの適用を検討しよう。このパッチを当ててからビルドすれば、ことえりやATOKなどのIMEを利用するとき、カーソル位置に変換候補を表示しつつ入力できるようになる。
configure実行時には、「--with-ns」と「--without-x」の2つのオプションを指定すること。前者ではOS Xに適したアプリケーション形式を (バンドル内にリソースを収録) 、後者では描画にX Window Systemを使用しない (Aquaのみサポート) ことを指示し、その結果「Emacs.app」がnextstepサブディレクトリに生成されることになる。
なお、このインライン入力パッチでは、Snow Leopardで削除が見込まれるAPIが使用されている。9月にリリース予定のSnow Leopardでは、このパッチは利用できない可能性が高いことをお伝えしておく。ここで紙幅が尽きたため、「.emacs.el」の設定など続きは次回。
$ tar xzf emacs-23.1.tar.gz
$ tar xzf inline_patch-20090617.tar.gz
$ cd emacs-23.1
$ patch -p0 < ../inline_patch-20090617/emacs-inline.patch
$ ./configure --with-ns --without-x
$ make bootstrap
$ make install
| エレコム、トラックボール搭載でBluetooth 3.0対応の小型無線キーボード [15:06 2/7] |
| 米Microsoft、Windows 8 Consumer Previewで「スタートボタン」を廃止か [14:40 2/7] |
| デル、秋葉原に「ALIENWARE」のオンラインゲームスポットを2月18日オープン [12:02 2/7] |
| 【レビュー】15.6型フルHD搭載で5万円台! 豊富なBTOも魅力 - KOUZIRO「NDシリーズ」 [10:00 2/7] |
| 米Intel、リード最大550MB/secの新型SSD「Intel SSD 520シリーズ」を発表 [02:00 2/7] |
|
TVアニメ『聖闘士星矢Ω』、4月放送開始! 新作CG映画はさとうけいいち監督 [17:39 2/7] ホビー |
|
ニコン、42倍ズームレンズ搭載機など「COOLPIX P」シリーズ2モデルを発表 [17:38 2/7] 家電 |
|
第117回 まもなく40歳。キャリアは一貫しているもののなかなか次の仕事が見つかりません [17:07 2/7] キャリア |
|
あの腕章やメガネがモチーフに - ペルソナシリーズのシルバーアクセサリー [17:00 2/7] ホビー |
|
卵を割って中身を捨てた……。疲れているなぁと思うエピソード集 [17:00 2/7] キャリア |