X
Emacsは、GUI及びCUI環境で利用可能な
テキストエディタで、主に
Unix系
オペレーティングシステムと
Microsoft Windowsで動作します。このソフトウェアは、1980年代後半のGNU
Emacsのバージョンを基にしたフォークであり、ユーザーは
GNU General Public Licenseのもと、自由にダウンロード、利用、修正ができます。
歴史
X
Emacsの開発は、1987年から1993年の間のGNU
Emacs新バージョンのリリース遅延に起因しています。当時Lucid社が
Emacsコードの改善を担当し、新しいバージョンをリリースする必要がありました。この新バージョンは、GNU
Emacsのバージョン19を形成することを目指していましたが、その前に
フリーソフトウェア財団(FSF)が受け入れる余地がなかったため、Lucid社は自社のバージョンを開発し続けました。その後、FSFはLucid社のコードの一部を統合し、GNU
Emacsのバージョン19を出しました。
1994年にLucid社は廃業しましたが、他の開発者たちがそのコードを引き継ぎました。ただし、「Lucid」という商標の管理が不透明であったため、「X
Emacs」の「X」はその当事者間のコンセンサスを示すものです。これにより、X
Emacsは
X Window Systemとは関連がないことが明確になっています。また、X
Emacsはテキスト端末やX11以外の
ウィンドウシステムのサポートも提供しています。かつては、
シンタックスハイライトなどの機能を提供し、GNU
Emacsにはない独自の機能も搭載していました。
このように、ソフトウェア開発コミュニティでは、GNU
EmacsおよびX
Emacsとその他の類似エディタを総称して「emacsen」と呼びます。この呼称は、両者がTECO
Emacsからインスピレーションを受けていることからきています。
機能
X
Emacsは、単
語や
段落の編集、
シンタックスハイライト、ユーザー定義のキーボードマクロ機能など、多様なテキスト編集機能を提供します。また、X
Emacsのウェブサイトからはマニュアルや包括的なオンラインヘルプにアクセスできます。
X
Emacsは多数の
プログラミング言語や
マークアップ言語の編集モードをサポートし、さらには多
言語にも対応します。
Unix/
Linux、BSD、Mac OS Xといった
オペレーティングシステムで動作します。Mac OSではX11が必要ですが、ネイティブCarbonバージョンも開発が進められています。Windows版にも、ネイティブインストーラと
Cygwinパッケージが存在します。
ユーザーは
Emacs Lisp
言語を使用して、エディタの機能をほぼ全て再設定できます。これにより、Lispコードを変更する際にエディタ全体をリコンパイルする必要がなくなります。また、多くのLisp拡張も事前に用意されています。
X
Emacsは
パッケージ管理システムを持ち、ユーザーはこのシステムを利用して新機能をダウンロードし、不要なパッケージを省くことが可能です。X
Emacs 21.1以降、新機能が独立したパッケージとしても利用できるようになりました。これは、ユーザーが必要に応じて機能を選択できることを意味します。
開発
X
Emacsの開発者は、プロジェクト開始から頻繁なリリースを目指していましたが、現在では年に2、3回のリリースとなっています。X
Emacsは新しい実験的機能を導入することで、他のエディタに要素を提供し、独自性を保っています。また、コードの整合性やデータ抽象化を重視し、近代プログラミング慣行に従って広範囲にコードが書き直されています。
X
Emacsは、オープンな開発環境を持ち、コミュニティからのフィードバックを受け入れる柔軟な体制を整えています。ただし、
Unicodeのサポートについては問題があり、依存しているMule-UCSというパッケージが2005年には保守が終了しています。
X
Emacsの開発者間には、GNU
Emacsとの違いについて明確にする意見もあります。
著作権譲渡の見解が異なる点がその一つで、GNU
EmacsのFSFは
著作権譲渡を必要とする一方で、X
Emacsではその必要がなく、企業の関与を促すとしています。また、X
Emacsの開発は遅くなりつつあり、GNU
Emacsとの共通部分も増えてきています。これにより、一部のユーザーはX
Emacsの将来に疑問を持つようになりました。
2015年には、X
Emacsの開発者が将来の方針について議論し、メンテナンスモードへの移行を決定するなど、先行きが不透明な状態が続いています。X
Emacsの重要なパッケージの多くはGNU
Emacsとの両方で機能するように設計されていますが、今後の方向性が注目されています。
まとめ
X
Emacsは、テキスト編集の優れた機能を提供する一方、その開発状況は変化し続けています。ユーザーは多様な
プログラミング言語や
マークアップ言語に対応し、パッケージを通じて新しい機能を追加することも可能です。しかし、GNU
Emacsとの競争や開発者の減少など、将来的な課題も多く、それらに対してどのように対処するかが今後の焦点となるでしょう。