Emacs

ガイ・スティール、Dave Moon、Richard Greenblatt、Charles Frankstonらの書いた1組のTECOマクロ・エディタであるTECMACとTMACSのアイデアに触発され、1975年にリチャード・ストールマンがガイ・スティールとともに書いたTECOエディタのエディタ・マクロ (Editing MACroS) 一式がオリジナルのEMACSである。 その後、何年もの間に多くのEmacs実装が現れたが、今日よく使われているのはリチャード・ストールマンが1984年に開発を始め今日に至るまで管理しているGNU Emacsと、1991年にGNU EmacsからフォークしたXEmacsである。 強力な拡張言語であるEmacs Lispを使うことにより、コンピュータ・プログラムの編集、コンパイルから、ウェブの閲覧に至るまで様々な仕事をこなすことができる。
The GNU Emacs Manualでは、Emacs自身を「the extensible, customizable, self-documenting, real-time display editor. (拡張可能でカスタマイズ可能で、自己説明的で、リアルタイム表示を行うエディタだ。)」と説明している。
大文字で始まる「Emacs」と、小文字の「emacs」を区別する人もいる。 大文字で始まる「Emacs」は、リチャード・ストールマンの作ったエディタから派生したエディタ(特にGNU Emacs、XEmacs)を指し、小文字の「emacs」は、たくさんある個別のemacs実装を指す。 英語の"oxen"からの類推で、"emacs"という英語の複数形はemacsenとつづられる。たとえば、Debianの互換Emacsパッケージは、emacsen-commonとなっている。 Collins English Dictionaryには、emacsenという複数形だけが掲出されている。Windows用アプリケーションであるNTEmacs、Meadow、xyzzyなどもemacsenに含まれる 。
Unix文化において、Emacsとviはともに伝統的なエディタ戦争における双璧をなしている。
Emacsはエディタの範疇を超え、テキスト処理のための包括的ワークベンチ、あるいはアプリケーションソフトウェア実行環境であるといえる。Emacsは長い歴史を持っており、ゼロからの書き直しを含む改良を重ね、多くの派生エディタを生み、現在に至っている。現在主流のGNU Emacsの開発はもともとはUNIX環境とVAX/VMSを主なターゲットとしていたが、各種のOSへの移植もなされてきており、Mac OS X、Windowsなど多くの環境で利用することができる。

emacsの歴史

Emacsは、1970年代のMIT人工知能研究所(MIT AI研)で産声をあげた。 AI研のPDP-6やPDP-10のオペレーティングシステムだったIncompatible Timesharing System (ITS) への導入前の既定エディタは、TECOというラインエディタだった。 現在の一般的なテキストエディタとは違い、TECOには(後のviのような)入力・編集・表示用の別々のモードがあり、文字を入力しても即座に表示されるわけではなかった。 編集されたテキストが画面に表示されてないとき、意図した文字が挿入されるようTECOのコマンド言語で一連の命令を書かなければならなかった。 この振舞は、現在も使われているedプログラムと同じである。
リチャード・ストールマンは、1974年か1972年にスタンフォード人工知能研究所を訪れ、ラボの「E」エディタを見た。 このエディタの振舞は、今のエディタのほとんどで使われている直感的なWYSIWYGであり、彼はその機能に触発されてMITに戻った。 AI研ハッカーの一人、Carl Mikkelsenは、利用者がキー操作するたびに画面表示を更新する「Control-R」というリアルタイム表示・編集モードをTECOに追加していた。 ストールマンは、この更新が効率的に動くよう書き直し、任意のキー操作でTECOプログラムが動くように利用者が再定義できるマクロ機能をTECOの表示・編集モードに追加した。
新版のTECOはまたたく間にAI研で評判となり、マクロを意味する「MAC」や「MACS」で終わる名前のカスタム・マクロの巨大なコレクションが溜まった。 2年後、どんどんばらばらになっていくキーボード・コマンド・セットを1つに統合するプロジェクトをガイ・スティールが引き受けた。 スティールとハックしたある夜の後、ストールマンは新しいマクロ・セットの文書化や拡張の機能を含んだ実装を完成させた。 できあがったシステムは"Editing MACroS"を意味するEMACSと呼ばれることになる。 ストールマンによると、Emacsとしたのは「当時ITSでが略称に使われてなかったから」である。
また、ボストンの人気アイスクリーム屋「Emack & Bolio's(英語)」の店がMITから徒歩圏内にあったからとも言われている。 その店によく通っていたDave Moonはその後、ITSで使われたテキスト整形プログラムをBOLIOと名づけた。 このことは、ハッカー公案(英語) のEmacs and Bolioの素となっている。
過度のカスタム化や事実上の分裂の危険に気づいたストールマンは、とある使用上の条件をつけた。 彼は後に次のような文章を残している。
「EMACSは、共同参加を基として頒布される。つまり、改良点はすべて、組み入れて頒布するために、私のところへ戻ってこなければならない」
オリジナルのEmacsはTECO同様、PDPだけで動いた。 その動きはTECOと大きく異なっていた。 そして、急激にITS上の標準編集プログラムとなった。 当初、Michael McMahonによりITSから、Unixにではなく、TenexやTOPS-20オペレーティングシステムに移植された。 初期のEmacsへの貢献者には、このほかKent Pitman、Earl Killian、Eugene Ciccarelliらがいる。


PICK UP!

    Copyright(c) EMACS-USERS.JP Allrights reserved.