第18版の公開

2007/04/02

 「主筆」第18版を公開した。公開したのはいいが、早速問題を見つけた。

まず一点は、文字列の検索時に、マッチする文字列が見つからなかったら、テキストの始めから検索し直すという機能を実装したのだが、このときに表示するメッセージが間違っていた。今までは「見つかりませんでした」という内容のメッセージを表示していたのだが、これを、機能に合わせて「見つからなかったから始めから再度検索するのか?」と、問い合わせるメッセージに変えなければならない。だが、その修正が漏れていた。

二点目は、おそらく前の物から潜在していたのだろうが、Undo機能にバグがあった。まず、何らかのファイルに対して編集を加えて、その次に別のファイルを開いて、そこでUndoを行うと、前のファイルに対して行った編集を、新しく開いたファイルに対してUndoしようとしてしまう。無論、そんなことをすれば何が起きるか判らない。最悪だ。

三点めは、これもおそらく潜在バグだろうが、発病する危険性はかなり低いと思われる。これはプラグインの管理に関わるバグだ。まず、プラグインの処理中にテキストを編集して、そのテキスト編集の後に(つまり一回の呼び出しの中で)、ファイルを開く、ないし、ファイルの保存を行い、さらに、プラグインの処理終了後にユーザが手動テキストを編集し、その上でUndoを行うと、ユーザが手動で編集したところのみならず、プラグインで行った編集内容もUndoされてしまう。バグが発病する条件が厳しいことを考えると、あまり大した影響はないと行われるが、やはりバグはバグである。

また、新しい機能も付けてみた。

まず、ファイルを保存した際にUndoを行うか否かを選択できるようにした。つまり、ファイルの保存時に、今までの編集内容を全て消すのか、あるいは残しておくのかを、リソースファイルにより設定できる。今までの挙動では、保存時にもUndoリストはそのまま残すようになっていたのだが、MS Office等を見ると、どうも一旦保存を行うと、それ以前には戻せないようになっているようなので、「主筆」でも一応そうすることができるようにしておいた。便利かどうかは判らないが。