# $Id: CHANGES.1_4,v 1.7.2.4 2003/03/02 14:25:58 amura Exp $ ============================================================================== CHANGES.new for Ng (Nihongo micro Gnu emacs) 村松 篤 (amura@tomato.sakura.ne.jp) ============================================================================== ************************************************************************** このファイルには、1.3L 以降の変更点を記載します。 Ng 1.3L までの変更履歴は CHANGES.doc を御覧ください。 ************************************************************************** [全版共通] a) mark の扱いを変更しました。今までは window に対して一つの mark を管理していましたが、これからは buffer に対して一つの mark を管 理するようになりました。(この新しい方針は GNU Emacs と同じです) *Ng 1.5alpha3 で入っていた機能です* [UNIX 版] b) canna で変換中の候補一覧が表示されないバグを修正。 [Human68k 版] c) libc を使用するとコンパイルできないのを修正。 ------------------------------------------------------------------------------ [全版共通] a) delete-char、delete-backward-char をした後 Undo すると落ちるバ グを取りました。これは 1.4.2 で入れてしまったバグです。 b) 厳格な ANSI-C コンパイラで問題を起こす表記を変更しました。また echo.c 内の内部関数名を変更しました。(この関数名の変更により、 HP-UX で正常にコンパイルできない問題が解決しました) [SystemV 版] c) termios を改善しました。いままでうまく動かなかったシステムでも 動く事が期待されます。 [UNIX 版] d) dired を改良しました。シンボリックリンクが正しく扱えるようにな り、ルートディレクトリを開く時に問題が起きなくなりました。 ------------------------------------------------------------------------------ [全版共通] a) 大きなリージョンをカットした時に発生する Undo の bug を取りまし た。また、多少の高速化もしました。本質的な改良はありませんが、実 用上問題となる部分はほぼ無くなったと思います。 b) コンパイラによってはエラーとなる typo を直しました。 [WIN32 版] c) Tillanosoft さんの Ng for Win32 0.5版 を全面的にマージしました。 これにより、TtyView::PutLine() の bugfix、メニューバーの追加、コ マンドバーの追加 (WinCE のみ) 等が行われました。 [AMIGA 版] d) input.device の Open 処理の bug を修正しました。 ------------------------------------------------------------------------------ [全版共通] a) ライセンスが変更されました。詳しくは LICENSE を御覧ください。 b) c-mode の大きな bug を取りました。 c) 従来、ファイルに関連していないバッファを kill-buffer する際も、 kill しても良いか確認を行なっていましたが、GNU Emacs と同様に確認 なしで kill するようにしました (Tillanosoft(今井 透)さん / Ng for Win32 0.5版より) d) fill-paragraph が無限ループをひき起こしたり、改行で終らないバッ ファ末の段落では末尾の数文字を消してしまうなどの問題を修正しまし た。これらの問題は 10 年間もの長い間、バグのまま放っておかれてい たようです。 (Tillanosoft(今井 透)さん / Ng for Win32 0.5版より) [UNIX 版?] e) 不適切なマクロ定義により Cygwin 環境でファイルの取り扱いに問題が 発生していたのを修正しました。 [WIN32 版] f) ttyctrl.cpp 内の TtyView::PutLine() を 1.4beta5 以前の物に戻しま した。こちらの方が高速ですが、大きな文字がずれます。これは、 1.4beta6のコードが buggy であったための暫定的な処置です。 g) shell-command がまともに動くようになりました。また、Win9x,NTにお ける iconify-frame の動作がほかのアプリと同じになりました。 (Sahf Ivyfieldさんの patch) h) suspend-emacs の実装。実際にはサスペンドではなくシェルを呼び出し ます。 i) config.h で EMACS_STYLE_BACKUP を undef すると、バックアップファ イル名が Windows の流儀になります。これは VFAT を使っているシステ ムでは Emacs 流のバックアップファイル名では問題を起こすためです。 [MSDOS 版] j) Turbo C ダイレクトコンソール I/O を多少高速化しました。 [AMIGA 版] k) 復活しました。ただし再実装されたソースの都合上、アイコン化の挙 動、メニューの表示等が 1.4beta6 以前とは異なります。詳しくは README.Ami をご覧ください。 ------------------------------------------------------------------------------ [全版共通] a) 大きな領域の yank が速くなりました。これは undo 対応コードに対策 を施したためです。 [WIN32,MSDOS,Human68k 版] b) 漢字ファイル対応でやり残していた部分を修正しました。 [AMIGA 版] c) 一時的に配布を取り止めます。これは AMIGA 版のソースコード内に、 ソースコードに書かれた配布/使用条件と反して使われていたソースが 見付かったためです。AMIGA 版はこれらのソースの代わりとなるものを 作り終えたのち、配布を再開したいと思います。 ------------------------------------------------------------------------------ [全版共通] a) auto-fill mode での undo が正常に動作するようになりました。 b) その他細かい定数などの修正。 [UNIX 版] c) System V、4.4BSD 以前の BSD ででるコンパイルエラーを修正した。 d) オプション VTCURSOR が、入力コードが JIS 以外でも有効になります。 この結果、インクリメンタルサーチ時のカーソルキーの挙動がより自然 なものとなりました。(ただし、カーソルのキーコードは*ハードコード* されています) [Human68K 版] e) EMACS style の Backup での不具合を修正。 f) XF1、XF2 を META key として認識するように改良。 [WIN32 版] g) IME で漢字を入力する時、インラインで変換するようになった。 h) TTY 周りの改良。標準フォント以外でもカーソル位置がずれなくなっ た。 i) Drag & Drop のサポート。Ng のウインドウにファイルを Drag & Drop することで、ファイルを開く事が出来ます。 (Thanks to Sahf Ivyfieldさん) ------------------------------------------------------------------------------ [全版共通] a) beta4 における SKG の大きな不具合を直しました。この不具合は undo を実装する過程で混入しました。 [UNIX 版] b) ジョブコントロール可否のチェックを、beta2 以前の方法に戻しました。 Ng がシェル以外から起動されたときに、必ずジョブコントロール不可 と判断してしまうためです。(コード自体は残っていますが無効にされ ています) ------------------------------------------------------------------------------ [全版共通] a) undo をサポートしました。ただし、{up,down}case-* の undo はできま せん。(この制限は Ng の内部構造に起因します) 完全にテストされたわ けではありません (特にメモリが足りない時の挙動が未確認です) の で、安定していないと困る方は config.h のマクロ UNDO を undef して ください。 (もっとも、私の環境では安定して動作します) b) キーボードマクロで、SKG を経由して入力した文字が記録されない不具合 を修正。 c) モードラインが消える不具合の修正。 [UNIX 版] d) {Free,Net,Open}BSD でコンパイルするとき、警告がでないようにソース を変更。(BSD/OS は未確認) (Thanks to 北川 拓郎さん) e) キーボードマクロで、CANNA を経由して入力した文字が記録されない不具 合を修正。 [WIN32 版] f) ディレクトリを扱う時にカレントドライブを考慮するように改良。 ------------------------------------------------------------------------------ [全版共通] a) バッファのパーセント表示まわりの不具合を修正。 b) vtputc 関数での致命的な不具合を修正。(Ng 1.4 でエンバグ) c) その他、細かな修正。 [UNIX 版] d) System V で画面 resize の直後に suspend すると、画面の更新が止まる 不具合を修正。 e) Linux の Distribution によっては、画面 resize に追随しない不具合を 修正。 f) ジョブコントロール可否のチェックを、POSIX に沿ったものに変更。 (Thanks to 若林さん) g) その他、System V 版で細かな修正。 [MSDOS 版] h) 前回の m) の修正でコンパイル出来なくなっていたのを修正。 [Human68K 版] i) 再びコンパイル出来るようになった。 j) ASK68k の理不尽な仕様に対応。 [Win32 版] k) Borland C++ 5.5 でコンパイル出来るようにした。(木原 英人さんの patch) 他の Borland C++、C-Builder でのコンパイルは未確認です。 ------------------------------------------------------------------------------ [全版共通] a) Query Replace のキー操作が GNU Emacs 19 以降に近くなりました。 1.3 以前と同様にしたければ config.h のマクロ EMACS_QUERY_KEYS を 無効にしてください。(新保さんからの patch) b) compile、next-error コマンドの追加。ただし、next-error は GNU Emacs そっくりというわけではありません。(小柳 洋一さんの patch を 元に改変) c) c-indent-region コマンドの追加。(小柳 洋一さんの patch) d) ファイルに結び付いていないバッファのカレントディレクトリとして、 起動時のディレクトリを保持するようになりました。 e) load、set-skg-{roman,kanji}-dictionary コマンドでファイル名補完が 効くようにしました。 f) 空のバッファで newline した時の bug を fix しました。これは、1.3 にもあった bug で、おそらく mg 2a に由来します。 g) VARIABLE_TAB 周りの bugfix。beta1 よりまともに動くはずです。 h) 表面化しなかったが、問題を起こすかも知れない表現の変更。具体的には is.. 関数を使わなくなりました。 i) コンパイルする時、問題となった表記、typo を fix。 [UNIX 版] j) ミニバッファで CANNA が使えるようになりました。これはテスト実装 で、MINIBUF_EDIT が有効になっている時のみ使用できます。また、イ ンクリメンタルサーチ中は使えません。C-\\、C-O でトグルです。(モー ドラインは変化*しません*) k) system() の返り値の評価法の変更 (十代田 浩児さんの patch) [MSDOS 版] l) Turbo C ダイレクトコンソール I/O を正式サポートしました。(コード 自体は beta1 からありましたが、buggy でした) これを使うと、DOS ジェネリックではなくなるので注意してください。 (コンパイルに使用する Turbo/Borland C/C++ によって、動作する機種 が変化します) m) 30bios/VText などの多行環境のために最大画面サイズを変更した。 (十代田 浩児さんの patch) ------------------------------------------------------------------------------ 名称が 1.4 となっていますが、吉田氏はいっさい関わっていません。 amuraがいろいろなパッチを独自にまとめて改良したものです。 以降、文面がくどくなるので人物の敬称を略させて頂きます。 * 2000/09/31 追記 i) j) を書き忘れ/間違えていました。Tillanosoft さん、ごめんさない。 [全版共通] a) C モードを改良した。今では、c-argdecl-indent 以外の定義されてい る変数全てが動作する。 b) バッファごとに表示タブ幅を変更できるようになった。 c) Simple Kanji Generator の追加。Ng 単体で日本語が入力できる。 d) 指定行へのジャンプするコマンドラインオプションの追加。 e) GNU Emacs のように、バッファごとにカレントディレクトリを保持する ようになった。 f) Buffer-menu モードをもっと本物っぽくした。 g) dired 周りの Bugfix h) find-alternate-file、copy-buffer-as-kill などの便利なコマンドの 追加。 i) 起動直後のファンクションの実行をするコマンドラインオプションの追 加。 j) 表示している部分が全体の何%ぐらいの位置にあたるかをモードラインに 表示するようにした。 k) インクリメンタルサーチ中の C-w を追加した。 l) インクリメンタルサーチでも set-case-fold-search の設定が有効となる ようにした。 m) goto-matching-fence、zap-to-char の追加 n) C モードでの中括弧のブリンクの追加。 o) C-x ` (next-error) の代用品 jump-to-error の追加。 p) minibuffer で GNU Emacs のように編集が出来る。 q) 設定ファイルを変更できるコマンドラインオプション -I の追加 r) Ng の動作を変更する next-line-add-newlines、use-c-mode の追加。 [UNIX版] s) 多くの UNIX で dired がまともに動作するようにした。 t) 入力コードを JIS にしたときでも、ファンクションキーが使える。 また、テンキーをアプリケーションモードに切り替えるようになった。 u) spawn.c で問題となる記述を変更。 v) CANNA サーバーと直接お話ができるようにした。 [MS-DOS 版] w) FEPCTRL ライブラリを最新版のバージョン 1.5 に変更。 x) J3100 版を IBMPC 版と名称変更した。 y) PC9801 版 で細かい変更。 [WIN32 版] z) Win32 版を追加した。 Win32 に準拠したOS (Windows 95/98, Windows NT 4.0,Windows CE) で動作します。 この版は伊藤 栄一郎が Ng 1.3L を英語版 WinCE に移植したものを、 Tillanosoft(今井 透)が日本語版 Win32 汎用に書き直したものです。 ただし、現状では IME 経由ではうまく日本語が入力できない場合があ ります。 [AMIGA 版] A) AMIGA 版を追加した。 Classic AMIGA もしくは UAE で動作します。 この版は H.Ohokubo が Ng 1.3.1 を AMIGA に移植したものを、小西 宏和、amura(村松 篤)が改良したものです。