ae for EPOC32 MARM (console version) 1997年9月20日 近藤玲史 (reishi@anet.ne.jp) IOCCC '91 の入賞作品である超小型エディタ ae (Anthony's Editor) を Psion 5 に移植しました。 【特徴】 ・小さく、軽い ・vi に似た操作体系 (hjkl な人向け) 【問題点】 ・今のところ日本語が通らない (日本語ファイルを読ませるとパニックします) ・表示が、他のアプリケーションで現在有効なフォントに左右される (日本語フォントを使っていたりすると悲惨) ・バッファのサイズは 64KB で、これ以上大きなファイルを開くと 警告無しに後ろが千切れる ・vi ではないので、有用と思われる機能のほとんどが存在しない ・EPOC32/EIKON の標準的なインタフェース (ツールバー等) を無視している ・Extras bar に出ない 【インストール】 (1) aeengine.dll, aeview.dll, tuiedit.dll を、c:\system\libs にコピーします。 (2) aetui.exe を、適当なディレクトリにコピーします。 【使用方法】 System で、aetui.exe をダブルクリック (またはフォーカスをあわせて Enter) すると、起動します。 起動時に、ファイル名を入力します。 ファイルが存在すれば開き、無ければ新規作成となります。 操作は全てキーで行います。ペンは使えません。 h 左 H 左の単語 j 下 J 次ページ k 上 K 前ページ l 右 L 右の単語 [ 行頭 ] 行末 t ファイルの先頭 b ファイルの末尾 i 挿入モード (終了は Ctrl-L または ESC) x 一文字消去 W ファイルに保存 R 全体を再描画 Q 終了 ・i による挿入ではバックスペースキーによる削除が有効ですが、 vi と異なり挿入の始点を超えて削除できます。 ・W によるファイル保存は、起動時に指定したファイル名に書き込まれます。 ファイルが正しく書けたかどうかのチェックは行っていません。 ・Q で終了する際は、保存したか否かに関わらず、確認も無しに終了します。 通常は、終了する前に必ず W で保存して下さい。 【移植】 本プログラムの移植元は、IOCCC 入賞作そのものではなく、 スポイラー版と呼ばれる「読んで解る」版です。 「あり?」1.00 の配布ファイルに含まれていたものを使用しました。 移植に当たって、オリジナルの ae から以下の点を変更しています。 ・ファイルの改行コードは CRLF ($0d $0a) です。 開くファイルは LF だけでも大丈夫ですが、保存時には勝手に CRLF で書かれます。 ・挿入モードの終了は、Ctrl-L の他に ESC も許しています。 これは、Psion series 5 のキーボードでは、Ctrl-L が押しにくいためです。 【コンパイル】 ae ディレクトリ以下を、EPOC32 の開発用ドライブのルート直下に展開します。 \ae\tuiedit の中に、\boss\tuiedit (SDK に付属のサンプル) の中身をコピーします。 その後、\ae へ移動して buildmarm.bat を実行してください。 【著作権】 オリジナルソースである ae_spoiler.c は、Public Domain に置かれています。 以下に、ソースの先頭部分を引用します。 /* * ae.c Anthony's Editor IOCCC '91 * * Public Domain 1991 by Anthony Howe. All rights released. */ tuiedit.dll は EPOC32 C++ SDK に含まれており、Psion software plc. が 著作権を持っています。以下に、ソースの先頭部分を引用します。 // TUIEDIT.CPP // // Copyright (c) 1997 Psion Software plc. All rights reserved. // その他の EPOC32 への移植に関しては、近藤が著作権を留保します。 使用・配布等は、GPL (GNU General Public License) に従って下さい。 【無保証】 移植者である近藤は、本プログラムを使った、あるいは使わなかったことによる いかなる損害に関しても責任を負いません。本プログラムは無保証です。 【今後の予定】 EPOC32 と C++ の勉強のために移植したので、コンソール版は これ以上の改良の予定はありません。 今後、EIKON 版を作成する予定はあります。 【謝辞】 楽しさに満ちた素晴らしいエディタを書かれた Anthony Howe 氏に感謝します。