2013年01月22日 更新
ver3.99NAと同じもの。
ver3.99NAと同じもの。
ver3.99NAと同じもの。
ver3.99NAと同じもの。
ver3.99NAと同じもの。
ver3.99NAと同じもの。
テキストウィンドウで表示されるテキストで、使用フォント(たとえば、Tahoma、メイリオなど)によっては漢字と制御コードの文字幅が異常に幅広に表示される。
これは以前のバグ修正が原因。
2012-04-14(ver3.99MF)[バグ修正] 2.
「テキストを表示する際、一部の文字(漢字)で文字幅の計算が正確に行われずにその文字の右半分が表示されない場合がある。」
この修正で使用フォントの最大幅を漢字と制御コードの文字幅としたが、これが原因。
サロゲートペアはver3.99NAでは扱うことはできないが、テキストにサロゲートペアが含まれていると、
サロゲートペアの上位(U+D800~U+DBFF),下位(U+DC00~U+DFFF)をそれぞれSkyBlue(#F0CAA6),LightGreen(#90EE90)の矩形(幅は漢字の半分)で表すことにする。
メニュー → オプション → 個別オプション
→ [個別オプション]ダイアログボックス:[表示]ページ
[表示1]ページ:ワードラップ(折り返し)
この中の[一行の文字数]を[指定幅]に名前を変更。
[ワークファイルリスト]リストビューで削除するかどうか確認しないで、[Delete]キーを押し下げたまま削除を連続的に実行しようとするとエラーが発生する。
CSVリストのデータをすべて、[Delete]キーで連続的に削除するとき、最後の一行でエラーが発生する場合がある。
鈴川エディタで読み込んだテキストファイルに対して
メニュー → オプション → 色分け
(or メニュー → オプション → 個別オプション)
→ [個別オプション]ダイアログボックス:[色分け]ページ
で強調文字を設定すると、そのテキストウィンドウの開閉時にエラーが発生する。
また、アクティブファイルに設定した追加強調文字がファイルを閉じて、一旦鈴川エディタを終了した後、再び鈴川エディタを起動し、そのファイルを再び開いたとき、強調文字データが残っていないことがある。
このメニューに割り当てたショートカットを実行するとき、ダイアログボックスで[ファイル名変更]チェックボックスにチェックをつけていると、保存を実行した後、[名前をつけて保存]ダイアログボックスがその必要がないにもかかわらず再度表示されるという不具合がある。
ショートカットではなくマウスでメニューを選択する場合は不具合はない。
アクティブファイルでテキストを範囲選択している状態でクリップボードデータを貼り付ける(Ctrl+V)と、選択テキストは削除されるが、その後、テキストの挿入が実行されない。さらにもう一度貼り付け(Ctrl+V)を実行すると、クリップボードのテキストデータは挿入されるのであるが、これを一回の貼り付け(Ctrl+V)操作で削除と挿入が実行されるように改善した。
テキストが選択状態にあるとき、共用ワークファイル、個別ワークファイル、メモファイルを挿入したり、キーボードで文字(改行、タブを含む)を入力する操作では削除と挿入が連続的に実行されるのであるが、この編集に対するUndoとRedoを実行するとき、1回のUndo、Redo操作では削除と挿入が連続的に実行されない。1回目のUndoで挿入に対するUndoが実行され、2回目のUndoで削除に対するUndoが実行される。Redo操作は1回目のRedoで削除が実行され、2回目のRedoで挿入が実行される。これは不具合ではないがこれを以下のように改善した。
アクティブファイルが選択状態にあるとき、クリップボード、共用ワークファイル、個別ワークファイル、メモファイル、外部ファイルを挿入(貼り付け)したり、キーボードで文字(改行、タブを含む)を入力する場合、削除と挿入を連続的に実行する。また1回のUndo、Redo操作で削除と挿入に対するUndo、Redoを連続的に実行する。そういう動作に改善した。
[検索文字列]コンボボックスで[Enter]キーを押し下げて実行させるとディスク検索を直ちに開始するが、その直後[ディスク検索中..]ダイアログボックスとその上に「ディスク検索を続けますか?」というメッセージボックスが重なって表示される。
これは[Enter]キーがその直後に表示される[ディスク検索中..]ダイアログボックスの[閉じる]ボタンに対して影響するためであるようだ。
[Enter]キーではなく、[ディスク検索]ダイアログボックスで[OK]ボタンを実行すると問題はない。
[Enter]キーでも問題がないように改善した。
[テキスト処理切替]コンボボックスで「文字コード変換」を選択すると、ダイアログボックス下部で他の処理方法で表示されていた[処理方法]コンボボックスと[←計算]ボタンは非表示になるのが本来の動作であるが、一部残る場合がある。
[ファイルを開く]、[名前をつけて保存]などのダイアログボックスで、ファイル名、フォルダ名を指定するテキストボックスの中で[Enter]キーを押し下げると、[OK]ボタンをクリックするのと同じ働きをする場合があるが、ヘルプでその旨の記述がなくユーザーがその機能を知らないことがある。ヘルプにその記述を追加した。
データフォルダを変更すると、再び[共通オプション]ダイアログボックスを表示するときエラーが発生し、[共通オプション]ダイアログボックスを閉じることもできなくなる。
鈴川エディタデータフォルダの変更に伴い、変更すべき一部データのワークフォルダが変更されないのが原因。
これは異常動作の一例である。5以降の操作によって表れる症状はいろいろあるが、1~4の操作が行われるとき必ず異常を来たす。
この不具合は以前とは少し異なる動作をさせることで解決した。
このメニューは実行に時間がかかったり、そのままいつまでも終了しなかったりする。たとえ、実行できてもテキスト行に#0(0x00 = ^@)が含まれていると、それ以降がカットされる。
これは下記の修正を行ったためにできた不具合である。
------------------------------------------------------
2011-12-04(ver3.99MA) [バグ修正] 1.
鈴川エディタでは#0を文字(^@)として表示し、#0を含むテキストについて下記に示す処理をすることができる。
[不具合]
ところが、ワークファイル文字コードがUnicode(UTF-16LE)の場合、a ~ gの操作で#0から後ろのテキストが削除されてしまう。ワークファイル文字コードがShift_JIS、UTF-8の場合、問題なく実行できる。
-----------------------------------------------------
これは下記の修正を行ったためにできた不具合である。
-----------------------------------------------------
2011-12-04(ver3.99MA) [バグ修正] 2.
アクティブファイルの最後の行(Aとする)より後ろ(下方)であれば何行目でもよいが、その行をBとする。
B行で、1桁目または2桁目以上の任意の位置で文字を入力するかテキストを連続的または箱型に挿入すると、A行の次行からB行の前行まで改行コード(CRLF、CR、LF)が自動的に挿入される。B行で2桁目以上の位置が始点になる場合はB行の1桁目から始点の左側までは半角空白かタブが自動的に挿入される。
この編集に対するUndoは問題ないが、Redoで不具合が出る。B行で2桁目以上の任意の位置が始点となる場合はRedoでも問題はないが、1桁目を始点とする場合に問題が生じる。B行の1桁目を始点として文字入力またはテキストを挿入すると、1回目のUndoでは問題ないがRedoでA行の次行からB行の前行まで自動的に挿入されるはずの改行コードが挿入されない不具合がでる。この後の編集は当然狂うことになる。
-----------------------------------------------------
[ランダム]ページ
→ [乱数の種]グループボックス
→ [C 文字列]ページ
[文字列]テキストボックスで入力される文字列の文字コードは以前はShift_JISであったが、Unicodeに変更された。
そこで、文字列を乱数の種である整数値に変換するのに一旦UnicodeからUTF-8に変換する処理を挟むことにした。
対象ファイルの最後の行をA行とすると、A行の行末が改行(CRLF、CR、LF)以外の文字またはコードである場合、「単一処理」以外の分割法で「重複行削除」を実行すると、処理結果の出力ファイル最後の行(A行)で行末の文字が一つ欠ける不具合がある。
以上の不具合は[検索文字列]で指定する文字または文字列が1つである場合であるが、指定する検索文字列が複数の文字または文字列である場合は問題なくUndoもRedoも実行される。
たとえば、[検索文字列]で、
[\c@-\cZ](#0-#27、0x00-0x1Aのコード)
を指定し実行すると、アクティブファイル内で#0から#27の文字をすべて削除し、そのUndo、Redoも問題なく実行できる。
このバージョンの鈴川エディタはDelphi 2007(Windows Vista, 32bit)で作成している。次にアップロードする予定のバージョン(32bit版と64bit版)はDelphi XE2(Windows 7, 64bit)で作成している。
XE2で修正や改良したプログラムコードを一部Delphi 2007で作成するコードに移植しているのだが、動作確認した後、他の方法を試しているうちに、正常動作する実行ファイルとアップロードした実行ファイルで動作確認の混乱があった。
この操作で複数の鈴川エディタを連続的に閉じる際、次の操作をすると、「invalid pointer operation」エラーが発生する。
この操作で複数の鈴川エディタを連続的に閉じる際、一つもファイル(テキストウィンドウ)開いていない鈴川エディタが一つ以上あると、エラーが発生する。
追加した修正コードに一部不足があったのが原因。
この操作で複数の鈴川エディタを連続的に閉じる際、[すべて閉じる → 鈴川エディタの終了]ダイアログボックスで[キャンセル]ボタンを実行して終了処理を中断すると、終了したい鈴川エディタが他にまだ残っていても一連の終了処理が終わってしまう不具合がある。
さらに、[キャンセル]で終了処理を中断した鈴川エディタが終了するまで、他の鈴川エディタを終了できなくなる不具合もある。
[鈴川エディタの終了] 今、3個の鈴川エディタが起動しています。 複数の鈴川エディタを 同時または連続的に終了することはできません。 手動で一つ一つ鈴川エディタを終了してください。しかし、このメッセージを表示することなく直ちに自動的に一つ一つの鈴川エディタを終了する処理を実行するように改善した。これは他のアプリケーションと同じ標準的な動作であるが、鈴川エディタは終了時に特殊処理を行うために同時に複数の終了処理を実行するとエラーが出る場合があり、これまではこの標準動作ができなかったものである。
クリップボードへのコピー、クリップボードからの貼り付けでは#0から後ろのテキストは削除されるので#0をテキストの一部として扱うことはできない。
[不具合]
ところが、ワークファイル文字コードがUnicode(UTF-16LE)の場合、a ~ gの操作で#0から後ろのテキストが削除されてしまう。ワークファイル文字コードがShift_JIS、UTF-8の場合、問題なく実行できる。
「鈴川エディタでは外部ファイルを読み込むと、ワークファイルの最後にEOFとして、0x1A(Shift_JISなど)または0xFFFF(UTF-16LEなど)を追加して処理する。
EOF(0x1A)を含む外部ファイルを読み込むとEOFがワークファイル最後で重複し、テキストウィンドウでもファイルの最後に二つのEOFが表示される不具合がでる。」
DSLの第1行目に検索文字列、第2行目に検索オプションを表示しているが、検索オプションの表示方法を改良した。以前は各項目名を示さず有効無効を示す○×だけを表示していたが、検索スキップコードオプションを追加して、各項目名も示すように改善した。
鈴川エディタウィンドウ下部のディスク検索リスト(DSL)で下記の操作をすると、当該行の検索ファイルに対応するテキストウィンドウで検索文字列にアクセスできる。(タグジャンプ)
タグジャンプについては下記のヘルプ参照。
ヘルプ > 目次 > いろいろな操作 > ディスク検索 > ディスク検索リストの表示
> タグジャンプ、カーソルキーによるタグジャンプ
[不具合]
ディスク検索リストで上記の操作によってタグジャンプする検索ファイルの行数が
21億行(2,147,483,647 = 2の31乗 - 1)
を越えるとエラーが発生する。
行数を示す文字列を数値に変換するプログラムコードのミスが原因。
[A文字列] [B文字] [改行コード] // 最後の行 A文字列 0個以上の文字からなる任意の文字列 B文字 任意の一つの文字 改行コード CRLF、CR、LFのいずれでもよい
[A文字列] [A改行コード] // 元の最後の行 [B文字] [B改行コード] // 新しくできた最後の行となる。
[F] = [S] * [N]
(外部ファイルから検索文字列を探し、鈴川エディタウィンドウ下部のディスク検索リスト(DSL)で、検索文字列毎にファイル名、行数、桁位置、行テキストのセットを一行ずつ列挙表示すること)
で下記の不具合がある。検索ファイルの最後の行に検索文字列(一つ以上)が含まれ、その行末が改行(CRLF、CR、LF)ではなく他の文字である場合、最後の行に含まれる検索文字列が検索されないことがある。
以下のa~dの編集とそのRedo(やり直し)でテキストの一部に食い違いが出る。
上記の編集に対するUndo(元に戻す)は問題ない。外部ファイル(単独、複数、分割)をカーソル位置に箱型に挿入またはクリップボードのテキストを箱型に貼り付ける場合も問題ない。
編集とRedoで食い違いを生じる条件
上記のa~dの編集が以下のような特殊な条件下で実行されるとき、食い違いが生じる。
編集とRedoで生じる食い違い
ファイル最後の行の次行で、編集時では複数の半角空白の後、改行コード(CRLF)があるが、Redoではこの半角空白がひとつもなく、改行コード(CRLF)だけの空行になる。
例示すると以下のようになる。
[B1 ] [C1 ] [改行] [B2 ] [C2 ] [改行] // ファイル最後の行
[B1 ] [A1 ] [C1 ] [改行] [B2 ] [A2 ] [C2 ] [改行] // ファイル最後の行 [空白] [改行] // 食い違う行 [空白] [A3 ] [改行]
[B1 ] [A1 ] [C1 ] [改行] [B2 ] [A2 ] [C2 ] [改行] // ファイル最後の行 [改行] // 食い違う行 [空白] [A3 ] [改行]
[Bi]、[Ci]は箱型に挿入前のファイルテキスト、 [Ai]は箱型に挿入されるテキスト、 [空白]は一つ以上の半角空白、 [改行]は改行コードを示す。
編集とRedoの食い違いによって、
編集 → Undo(1) → Redo(1) → Undo(2) → Redo(2)
のようにUndo、Redoを繰り返すとRedo(2)を実行後、ファイル最後の付近でテキストは乱れる。
特に上記の食い違いを生じる編集(箱型に挿入)を複数回実行すると、テキストは著しく乱れる。
編集とRedoの食い違いをなくすために
編集ではファイル最後の行の次行で[空白] + [改行]としていたが、[空白]は追加しないで[改行]だけにする。
Cと同様に例示すると、
[B1 ] [C1 ] [改行] [B2 ] [C2 ] [改行] // ファイル最後の行
[B1 ] [A1 ] [C1 ] [改行] [B2 ] [A2 ] [C2 ] [改行] // ファイル最後の行 [改行] // 問題の行 [空白] [A3 ] [改行]
この鈴川エディタ No.1 はただ今、作業中です。 作業中の鈴川エディタでできることは次のことだけです。 ................................. ................................. 速やかに、このダイアログボックスを閉じて作業を再開してください。これは、任意のメニューが終了しないうちに他のメニューを実行しようとすると表示されるメッセージであるが、ショートカットキーを押し下げたまま連続的にUndo、Redoを実行する場合は表示されないように改善した。
上記のメニューを実行するとき、必ず、[編集経過表示]ダイアログボックスを作成し、次を検索するまでに時間がかかるときはこのダイアログボックスを表示し、時間がかからないときは表示しない。このダイアログボックスの作成と破棄は「次を検索」で検索文字列を一つ検索する度に実行される。一回の作成と破棄にかかる時間は瞬間的ではあるが、集積すると、ショートカットキーを押し下げたまま連続的に検索する動作を緩慢に感じさせるほどの時間になる。
2011-07-14(ver3.99KB) 3回目
の改良でショートカットキーを押し下げたまま連続実行する場合は[編集経過表示]ダイアログボックスを作成しないことに改めた。当然このダイアログボックスが表示されることは絶対にない。これはダイアログボックスの作成と破棄に要する時間を削り検索動作を向上させるのが目的である。
ショートカットキーを1回ずつ押し下げるか[次を検索]ボタンをクリックする場合は必ず[編集経過表示]ダイアログボックスを作成し、検索までに時間がかかるときはダイアログボックスを表示し、時間がかからないときは表示しないが、この動作は以前と変わらない。
ショートカットキーを押し下げたままで連続的に「次を検索」を実行するとき、[編集経過表示]ダイアログボックスを作成しないことによって無駄な時間消費を削り、アクティブファイルの中に検索すべき文字列が近い間隔で多数分布している場合は、確かに、次々と検索しながら速やかにテキストウィンドウをスクロールさせることができるようになった。
しかし、この場合、次の検索文字列が遠く離れた位置にあり、検索時間が長くかかるときも、[編集経過表示]ダイアログボックスは作成も表示もされない。何も表示がなく、しかも中断する術がないまま、長い時間を待つのはつらいことである。
そこで、次のように改良する。
ショートカットキーを押し下げたままで連続的に「次を検索」を実行するとき、一つ一つの検索文字列毎に、検索開始から3秒以内に次の検索文字列に辿りつくことができるならば、[編集経過表示]ダイアログボックスを作成もしないし当然表示もしない。検索開始から3秒を越える時間が経過しても次の検索文字列に辿りつくことができないならば、[編集経過表示]ダイアログボックスを作成し表示する。
検索文字列(A)を置換文字列(B)に置き換えた後、そのUndoを実行すると文字列(B)は元の文字列(A)に戻るが、Undoを実行した行からカーソル(カレット)を他の行に移動しないで、文字入力、削除などの編集をすると検索文字列(A)が置換文字列(B)に戻ってしまう。
検索文字列(A)を置換文字列(B)にすべて置き換えるとき、カーソル行の中に検索文字列(A)があり、それも含めて、すべて置換した後、カーソル行で文字入力、削除などの編集をすると、カーソル行の置換文字列(B)が元の検索文字列(A)に戻ってしまう。
この不具合は、「すべて置換」に対するUndo、Redoでもみられる。
前回、エラーの全貌を把握できず、その場しのぎ的にエラーの発生位置のコードを修正したのであるが、エラーの全貌が把握できたので、そもそものエラー原因となるコードを修正した。
この修正で、「次を検索」、「置換して検索」を連続的に実行する場合、数メガバイトに分割したファイルを編集(置換)前に読み込み、編集(置換)後に保存する操作を1回省くことになり、僅かではあるが、処理速度を向上できる。
鈴川エディタはファイルを数メガバイトの小さいファイルに分割して編集するが、上記のメニューで複数の分割ファイルをまたいで検索や置換をするとエラーが発生する。
「次を検索」を実行して、複数の分割ファイルをまたいで検索した場合、検索文字列の行で編集、置換をすると、エラーが発生する。
連続選択テキストの先頭文字に設定されたしおりが削除されない。
ただし、しおりが設定された文字より一つ前の文字を先頭にテキストを選択すると、このしおりも含めて削除できる。
[検索:確認]ダイアログボックス、[置換:確認]ダイアログボックスが表示され、ダイアログボックスにフォーカスがあるときもないときも、また、ダイアログボックスが表示されていないときもショートカットキーでメニューを実行できる。
ヘルプ参照。テキストファイルのカーソル位置にテキスト(文字列)を挿入するプログラムコードの中にプログラムミスがあった。
これは、テキストファイルの行情報を管理するデータを処理する過程でメモリ上にない行情報データ(1行分)にアクセスしてしまうことになるプログラムミスである。
プログラムのデバッグと実行でこのコードを通過するとき、即座にエラーが発生することはなく、テキストファイルを閉じるとき、「invalid pointer operation」エラーが発生することがある。
「発生することがある」というのは、このエラーは必ず発生するというものではないようだ。ある限定された状況でのみ発生するようにみえる。
たとえば、まだ文字数がゼロの新規作成ファイルに対して、任意の4行のテキストをクリップボードから貼り付けると、その後、他の編集をしてもしなくてもよいが、このテキストファイルを閉じるとき、「invalid pointer operation」エラーが発生することが多い。しかし、4行ではなく、それ以外の行数のテキストを貼り付ける場合はこのエラーが発生することはないようにみえる。
この現象は、パソコンの使用状況によって異なり、一概にいえることではないかもしれない。
「テキストウィンドウで行番号エリアを上下方向にドラッグして複数行のテキストを範囲選択する場合に次の不具合がある。---」
この修正ではテキストウィンドウ内でマウスを移動する(MouseMove)イベントの処理を変更したのであるが、いろいろ不具合が出るようだ。
たとえば、テキストの貼り付けた後、そのUndo、Redoを実行する時点でカレット位置が所定の位置にもどらない。このまま実行すると、テキストも正常ではなくなる。同じ原因で他にも不具合があるかもしれない。
たとえば、
メニュー → ファイル → ワークファイルフォルダ操作
→ [ワークファイルフォルダ操作]ダイアログボックス
→ [ワークファイルリスト]リストビュー
の場合、ダイアログボックスのタイトルは
ワークファイルリストの時間表示設定
となる。
次のメニューのいずれかを実行すると閉じることができます。 a. メニュー → 検索 → ディスク検索リスト → ディスク検索リストを隠す b. 右クリック→ ポップアップメニュー → ディスク検索リストを隠す c. 「ディスク検索リストを隠す」メニューのツールボタン d. 「ディスク検索リストを隠す」メニューのショートカット(初期設定:F8)ディスク検索の実行後、ディスク検索リストが表示されるが、このとき開いているテキストウィンドウが一つもない状態で
各種ダイアログボックスで使用される「リストビュー」コントロールのヘッダー(列項目名)を右クリックするとポップアップメニューが表示される。
ここで「項目表示」メニューを選択すると、
[項目表示設定]ダイアログボックス
が表示される。
たとえば、
メニュー → ファイル → ワークファイルフォルダ操作
→ [ワークファイルフォルダ操作]ダイアログボックス
→ [ワークファイルリスト]リストビュー
の場合、ダイアログボックスのタイトルは
ワークファイルリストの項目表示設定
となる。
このダイアログボックスの中のチェックリストボックスで各行にチェックボックスと列項目名が列挙される。
数ヶ月前、このエラーを修正するためにテキストウィンドウを閉じるプログラムコードの場所を移動した。その後、エラーの原因と思しき箇所をいくつか見つけて修正した。
特に「リストビュー」コントロールを含むダイアログボックスを閉じるとき、「リストビュー」コントロールで使用した文字列のメモリを一つ一つ開放する処理を追加した後のここ数ヶ月は自分のパソコンでは同じエラーはほとんど発生しなくなった。「リストビュー」コントロールは、鈴川エディタのメインウィンドウを破棄する直前までメモリ上に残る[ワークファイルフォルダ操作]ダイアログボックスで「ワークファイルリスト」として使用している。終了時のエラーはワークファイルリストの文字列データがうまく開放されないためではないかと考えられる。
他の改良や不具合の修正を重ねるうちにまた最近同じエラーが発生するようになった。
MDIの作法に従うと不便な点があるために工夫したつもりであるが、MDIの作法から外れると解決不可能な問題が発生したことが過去2、3例ある。鈴川エディタでMDIの親ウィンドウ、子ウィンドウを閉じる手順を見直し、MDIウィンドウを閉じるプログラムコードを以前の場所に戻した。この方がMDIでウィンドウを閉じる動作に影響を与えない。実際、今のところエラーは発生しない。
現在行 / 行数を示すラベルを追加。
「各種ダイアログボックス内で「リストビュー」コントロールの現在行で、[↑Up]、[↓Dn]ボタンを実行すると、当該行は上下に移動することはないが、「No」列項目の数値を1だけ増減できる機能がある。
これに加えて、複数選択行をドラッグ&ドロップで上下に自由に移動できる機能も持たせた」
今回、上記のような「リストビュー-」コントロールで、ヘッダー(列項目名)を右クリックすると表示されるポップアップメニュー(M1)に
「No」振り直し
を追加。
ヘルプ参照。
ヘルプ > 補足説明 > 「リストビュー」コントロール:「No」振り直し
プログラムに一部不備があった。
上記の不具合修正の他に「クローン保存」で対象ファイルの名前が現在のクローン書式に基づいている場合は、保存ファイル名としてつけられるクローンファイル名はクローン番号だけを更新する方法に変更する。
例示すると次のようになる。
対象ファイル C:\Suzukawa\Test (2).txt (C:\Suzukawa\Test.txtのクローンファイル名) クローンファイル名 変更前 C:\Suzukawa\Test (2) (1).txt 変更後 C:\Suzukawa\Test (3).txtヘルプ > ダイアログボックス > ファイル系 > 複数保存:開始 > クローンファイル名 を参照
鈴川エディタのウィンドウ幅(通常サイズ)が小さく、ファイルが二つ開いているとき、
[ワークファイルフォルダ操作]ダイアログボックスのワークファイルリストでアクティブファイル行をクリックまたはダブルクリックまたは[Enter]キーでアクティブファイルを閉じた場合、残るもう一つのファイルがアクティブになるが、 そのファイルを示すウィンドウ切り替えタブがタブコントロールで表示されなくなる。しかも、スクロールボタンも表示されない.
ウィンドウ幅が狭く一つの切り替えタブの全幅を表示できない場合も、その一部だけでも表示するのが正しい動作であるが、そうならない。
[ワークファイルフォルダ操作]ダイアログボックスのワークファイルリストでアクティブファイル行をクリックまたはダブルクリックまたは[Enter]キーでアクティブファイルを閉じた場合、その後、ウィンドウ切り替えタブで他の開いているファイル(A)をアクティブファイルにすると表示中のワークファイルリストでAファイルを示す行(●行)がワークエリアに表示されていない場合は自動的にスクロールしてワークエリアに表示されるのが本来の動作であるが、そうならない。
開いているファイルをワークファイルリストで選択して[名前変更]ボタンを実行すると、
メニュー → ウィンドウ → ウィンドウ一覧表
→ [ウィンドウ一覧表]ダイアログボックス
のウィンドウリストで名前変更したアクティブファイルを示す●印(A列項目)が消えてしまう。
ワークファイルリストでアクティブファイル行(●行、A行)をダブルクリックまたはクリックまたは[Enter]キーを押すとアクティブファイルを閉じることができる。
この後、他に開いているファイル(B)がアクティブになり、ワークファイルリストでBファイルを示す行がアクティブ行(●行、B行)になる。
この場合、ワークファイルリストでA行とB行が互いに近く同時に表示されていれば問題ないが、遠く離れていて同時に表示されていないと、A行のファイルが閉じた後、新たにアクティブになったB行が表示されるように自動的にスクロールされる。
この動作は、A行の近辺の行のファイルを一時的に開いて閉じる処理をするのに不便であるから、この場合、ワークファイルリストはB行が表示されるようなスクロールなどはしないで、A行が現在行のまま表示されているようにしておく。
この中の、[検索文字列]、[検索ファイル]、[置換文字列]の各コンボボックスのリストデータが次のように操作すると失われる。
[ディスク検索リストフォルダ]グループを改良。
ディスク検索して検索文字列が見つかったファイルのリスト(検索ファイルリスト)を表示。
検索ファイルリストの選択行でダブルクリックするとディスク検索リストでその検索ファイルの先頭(最初に見つかった検索文字列を示す行)にジャンプできる。
「編集でUndo(元に戻す)、Redo(やり直し)を繰り返すなかでRedoの後(このときのカーソル位置をAとする)テキストの他の部分にカーソルを移動しテキストを変更する編集はせず確認、テキスト選択、そのコピーなどをして再びUndo、Redoで元のカーソル位置(A)に戻ると、その後のUndo、Redoで正しい位置にカーソルが移動できなくなり、正しい編集ができない。
Undoの後でカーソルを移動するのは問題ない。」
この修正はこれでよいのだが、もともと問題のなかった動作が具合が悪くなった。
Redoの後任意のテキスト位置(B位置とする)にカーソル移動をして、元のカーソル位置(A)に戻らずに、テキストを編集(B編集とする)する場合に不具合がでる。
B位置のB編集の後、続けて他の編集をしてもしなくてもどちらでよいが、Undoを繰り返してB編集より前の(古い)編集に遡り、再びRedoを繰り返して新しい編集に戻り、B編集の実行直前まで引き返したとき、カーソル位置はB位置でなければならないが、そうならない。
対処:
[ディスク検索リスト]ウィンドウ左上の×ボタンは使用不能にした。これをクリックすると「ディスク検索リストを隠す」メニューで閉じることを示すメッセージが表示される。
上下左右の4箇所に配置されるツールバーのうち、右側のツールバーを当分使用不能にする。下部のツールバーについては折り返しをできなくする。
鈴川エディタのウィンドウサイズを小さく変更する操作をするとMDIクライアントウィンドウで最大化しているテキストウィンドウが自動的に最大化が解除され元に戻される動作をする。
それだけならよいが、もっと深刻な不具合がでる。
テキストウィンドウは最大化するとテキストウィンドウ右上の三つのボタンがメニューの右端に表示される。再び元のサイズに戻すと、メニューの右端に表示されていた三つのボタンは消えて、元に戻ったテキストウィンドウ右上に三つのボタンが表示されるというのが正常な動作である。しかし、最大化したテキストウィンドウは元のサイズに戻されるが、三つのボタンはメニューの右端に残ったままで元のサイズに戻ったテキストウィンドウ右上にボタンが表示されない状態になる。このテキストウィンドウを閉じても三つのボタンはメニューの右端に残り、この状態は鈴川エディタを終了するまで変わらない。
この不具合は鈴川エディタのウィンドウサイズが変更されるのに伴って右部と下部のツールバーが自動的に折り返されてツールバーの幅と高さが変わるが、このツールバーのサイズ変更が、MDIクライアントウィンドウとテキストウィンドウに自動的に反映されないのが原因のようだ。上部と左部のツールバーはその折り返しによる幅と高さの変更がMDIクライアントウィンドウとテキストウィンドウに自動的に反映され問題は起きない。
これは次の場合も同じ。
メニュー → ファイル → ワークファイルフォルダ操作
→ [ワークファイルフォルダ操作]ダイアログボックス
→ M2ポップアップメニュー:検索
指定したファイルとフォルダをディスク検索できる。
ヘルプ参照。
メニュー → 検索 → ディスク検索
→ [ディスク検索]ダイアログボックス
[検索対象]コンボボックスで改良前の次の二項目「指定ファイル」「フォルダ検索」は廃止して、新たに「指定ファイル検索」を追加した。
三つのファイル名を設定するテキストボックスの右側の[参照]ボタンを実行すると、ファイル名を選択するダイアログボックス(Aとする)が表示される。ここでファイル名を選択すると、このときのフォルダ(Bとする)は自動的に保存され、以後[参照]ボタンでダイアログボックスAを表示するとき、初めにフォルダBが開かれる。
以前は代表ファイル名と他の二つのファイル名は、それぞれのフォルダ(二つ)が保存されていたが、今後自動的に保存されるフォルダは一つだけにして、三つの[参照]ボタンでダイアログボックスAを表示するとき、初めに開くフォルダを共通にする。この方が便利。
Test_2.txt × Shift_JIS
Test_2.txt × ワークファイルフォルダ
一つ以上のファイルを開き、このダイアログボックスを表示している状態で、ヘルプを見たり他のアプリケーションにアクセスした後、このダイアログボックスに戻りアクティブにすると、ワークファイルリストの今開いているファイルの行で、「開いた日時」「閉じた日時」「保存日時」の時間データが削除される。
この二つのメニューで一時的な最大化を使うと、一時的な最大化の位置(左上)によっては本来のスクリーンいっぱいの最大化で位置(左上)が一時的な最大化と同じ位置(左上)になり元に戻らなくなる場合がある。
一時的な最大化状態で鈴川エディタを終了するとエラーが発生する不具合も修正した。
[ツールバー]グループボックスを削除。
( これは[ツールバー表示]ダイアログボックスに追加 )
次のコントロールを追加。
このページで、[ウィンドウを閉じるときの遅延時間]グループボックス内の次のチェックボックスは初期設定ではチェックをつけないことにする。
[検索文字列]、[置換文字列]コンボボックスでドロップダウンした状態でダイアログボックスの右上の×ボタンをクリックして閉じるとダイアログボックスが隠れた後、ドロップダウンリストだけが表示されたまま残る。
[検索対象]コンボボックスで「検索フォルダ」を選択して[ワークファイルフォルダ]チェックボックスにチェックをつけて実行する場合、次の不具合が出る。
検索ファイルと同名のワークファイルフォルダを検索するとき、[ディスク検索中...]ダイアログボックスで[スキップフォルダ]ボタンが隠されて、その操作ができなくなる。
メニュー → 分割
のサブメニューで付属するビットマップ(アイコン)が想定外のものが表示される。
右クリックで表示されるポップアップメニューでも同じ不具合がある。
このダイアログボックスで特別に表示される[Get]、[Cancel]の二つのボタンが、[Get]ボタン左側の[コード]ラベルに被さる場合がある。
[Get]、[Cancel]の二つのボタンが、[コード]ラベルと一定の水平距離を保つように改善。
これは「保存確認」を「閉じるとき確認」に変更。
ヘルプ参照。
開いているワークファイルフォルダの名前変更で拡張子を個別オプションが割当てられている拡張子(A)に変更して個別オプションも同時に変更するとエラーが発生する。
拡張子(A)は次のメニューで個別オプションが割当てられている。
メニュー → オプション → 拡張子とオプション
[拡張子とオプション]ダイアログボックス
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
[設定]ボタンを実行すると[ファイルを見る]ダイアログボックスが表示される。
このダイアログボックスのテキストウィンドウ上部には[Get]、[Cancel]の二つのボタンが特別に表示されるが、▽(△)ラベルをクリックして[Set]ボタンなどのコントロールを隠している場合、[Get]、[Cancel]の二つのボタンがテキストウィンドウに一部被さる格好になる。また桁数、コード番号のラベルも二つのボタンの下に隠れる。
ここで作成する添付ファイルを一部変更。
「検索範囲のすべてを置換」を実行した場合、置換した数を表示する。
[M2]ラベルをクリックすると表示されるポップアップメニュー(M2)に、メニュー「すべて削除」を追加。
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
2010-06-07(ver3.99A) 4回目 [バグ修正] 4.
この修正で、[保存]ボタンが実行不能になった。
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
「ダイアログボックスでウィンドウ幅だけを変更できる場合にウィンドウ左右両側の縁にマウスを移動すると、マウスカーソルの形状が横棒の両端に矢印がつく形(SizeWE)に変わる。さらに上下の縁、4隅でも同様にマウスカーソルが棒の両端に矢印がつく形(SizeNS、SizeNESW、SizeNWSE)に変わるが、上下方向、斜め方向にはサイズを変更できない。サイズを変更できない外端部ではマウスカーソルの形状は矢印(Arrow)のまま変わらないようにした。」
この変更でフォームの上下辺、四隅でマウス操作に反応しないのは想定通りだが、フォームの中(クライアント領域)でも反応しない。モーダルダイアログの場合問題ないが、モードレスダイアログでは他のモードレスダイアログの下に隠された場合、タイトルバー以外の部分をクリックしてもアクティブにすることができない不具合がある。
たとえば、
「鈴川エディタは基本的に一つの鈴川エディタで同時に複数のメニューを実行することはできない。あるメニューを実行中は同じ鈴川エディタで他のメニューを実行できないことにしている。」
次のメニューが実行できるが、これは正常ではない。
ファイル比較の実行中に[閉じる]ボタンを実行すると、「ダイアログボックスを閉じますか?」というメッセージで確認する。
対象ファイル名の[参照]ボタンを実行して対象ファイル名を取得すると、[文字コード]コンボボックスの選択項目は
たとえば、
自動 → Shift_JISのようにファイル名から自動的に文字コードが計算、表示されるのが正常であるが、
自動判別が表示される。文字コードが自動計算されない。
テキスト処理の実行中、一部のメニューを除いて、他のメニューを実行できないことにしているが、それが不完全だった。
[実行]ボタンで範囲選択を実行した直後に[選択設定]、[選択先頭]、[選択最後]、[選択解除]ボタンが無効から有効に表示が変わる仕組みにした。
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
このエラーの原因は一つではない。
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
すべてのテキストウィンドウを閉じた後、鈴川エディタのメインウィンドウを閉じる処理に移る前に少なくとも10ミリ秒の時間をおくことにした。
[ワークファイルリスト]内の右クリックで表示されるポップアップメニューで、右クリックする場所がヘッダー(列項目名)部分かワークエリア部分かでメニューを分ける。
ヘルプ参照。
「テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある」
[1-1] テキストウィンドウ終了時の処理でプログラムコードの修正が不十分だった。
[1-2] 2010-05-16(ver3.99) 3回目 [バグ修正] 1
で追加した250ミリ秒の時間をおく処理については次のように変更する。
[ワークファイルリスト]の選択行がアクティブファイルで[開]列項目が●である場合に、[Enter]キーを押すか、ダブルクリックすると、このワークファイルフォルダを閉じることができる。
テキストウィンドウ終了時の処理で
2010-05-16(ver3.99) 3回目 [バグ修正] 1
で追加した250ミリ秒の時間をおく処理はそのまま残す。
テキストウィンドウを一つ以上開いている状態で鈴川エディタを終了するとエラーが発生する場合がある。
「鈴川エディタを終了するとき、メインウィンドウ、テキストウィンドウ、ディスク検索リスト以外の[ワークファイルフォルダ操作]、[しおり]、[ウィンドウ一覧表]などのモードレスダイアログボックスはテキストウィンドウを閉じる直前にすべて閉じるが、このダイアログボックスを閉じる順序にミスがあった」
この他に次のように修正した。
パソコンの起動後初めて鈴川エディタを起動した場合に、起動後初めてアクティブファイルを「上書き」または「名前をつけて保存」を実行すると、エラーが発生する。
保存が終了すると、「上書きは終了しました。」という終了メッセージを表示する。このメッセージボックスをテキストウィンドウの中心部に表示するのにその計算をしなければならない。計算に使用するテキストウィンドウのハンドルが起動後、初めてこのメッセージボックスを表示するときだけどういうわけか無効になる。
ウィンドウハンドルが無効になる原因は今のところ不明。無効の場合はテキストウィンドウではなく、鈴川エディタウィンドウの中心部にメッセージボックスを表示するように元々プログラムをつくっていたのだが、それが不十分だった。
共通操作部分の[今の設定を保存]ボタンが実行できない。
[ファイルを見る]ボタンを実行して[ファイルを見る]ダイアログボックスを表示、それを閉じると[部分的にファイルを開く]ダイアログボックスに戻る。この場合に[部分的にファイルを開く]ダイアログボックスは再表示されるが、そのタイトルの鈴川エディタ番号は2重に、[ファイル名]テキストボックスは空で表示される。
で[繰り返す]チェックボックスにチェックをつけて実行すると、実行中に表示される[編集経過]ダイアログボックスで中断処理をしても中断しないで指定回数分だけ保存作業が繰り返される。
[すべて削除]ボタンが実行できない。
aかbを実行するとその後、[→]、[←]、[↓]、[↑]、[Home]、[End]、[Ctrl]の各キーを使用してカーソル移動しても選択状態は維持される。
不具合は箱型選択している場合に[Home]、[End]、[Ctrl]+[Home]、[Ctrl]+[End]のキー操作で行頭、行末、ファイル先頭、ファイル最後にカーソル移動しないこと。
新機能追加。
編集の結果残る二つの連続する改行コードCRとLF [CR-LF]を含むキストを貼り付けるとき、[CR-LF]を一つの改行コードCRLFに変換するかどうか指定することができる。
ヘルプ参照。
新機能追加。
大きいテキストの選択をする場合に使用する。
ヘルプ参照。
新機能追加。
選択状態を維持しながらカーソル移動できる。
ヘルプ参照。
「ヘルプ:補足説明:改行コード:改行コードが混在する場合」を追加。参照。
共通操作部の[すべての変更]ボタンを実行すると、「すべてのオプション」をタイトルとする[オプション設定の変更]ダイアログボックスがボタンの下部に表示されるが、三つのラジオボタンを操作しても効果がない。この不具合を修正。
共通操作部で何もコントロールのない部分を右クリックしても「すべてのオプション」をタイトルとして、[オプション設定の変更]ダイアログボックスが表示される。これは効果的に操作できるが、ダイアログボックスが表示される位置がタブコントロール内のコントロールに重なり不便だ。共通操作部のどこを右クリックしても[すべての変更]ボタンを実行する場合と同じ位置に表示されるように改良する。
インストールで自動的にデスクトップに作られる鈴川エディタのショートカット・アイコンをクリックして鈴川エディタを起動した場合、ヘルプが表示されない。
直接プログラムフォルダのSuzukawa.exeを右クリックして作成したショートカットは問題ない。
セットアッププログラムでショートカットの作業フォルダが自動的に作成されないのが原因。
箱型選択範囲の左上の位置(先頭行)が行末の改行を超えている場合に、その選択テキストの削除で不具合がある。
箱型選択の後、初めて削除することは問題なく実行できる。さらにUndoを実行すると箱型削除したテキストは元通りになる。
ここまでは問題はないが、さらにRedoを実行すると、初めと同じ箱型削除が実行されるのが正常であるが、そうならない。
このチェックボックスにチェックをつけても、[音を鳴らす]チェックボックスにもチェックをつけないと音を鳴らさない。
この修正は間違いではないが、「すべて選択」がUndo、Redoの対象になり、Undo、Redoの途中で実行すると、Undoでそれ以前の編集は実行できるが、Redoでそれ以後の編集はできなくなる。つまり、「すべて選択」が最新の編集ということになる。これは不便、次のようにできると便利。
「すべて選択」ではない範囲選択(連続型、箱型ともに)はUndo、Redoの対象外になっている。Undo、Redoの途中で任意の位置に移動して任意の範囲のテキストを選択してもテキストを変更する編集(文字入力、挿入、削除など)をしない限り、Undo、Redoを実行すると元の位置にカレットが戻り、Undo、Redoを続行できる。
「すべて選択」も他の範囲選択と同様にUndo、Redoの対象外にする。この方が使い勝手がよい。
「テキストウィンドウを表示したまま鈴川エディタから、かなりメモリを消費する他のソフト(一つでも複数でも)に切り替えて長い間作業をした後、再び鈴川エディタに戻って鈴川エディタを終了するとき、ポインタのないメモリにアクセスした旨のエラーが発生する場合がある。」
この不具合の原因が判明。
鈴川エディタを終了するとき、メインウィンドウ、テキストウィンドウ、ディスク検索リスト以外の[ワークファイルフォルダ操作]、[しおり]、[ウィンドウ一覧表]などのモードレスダイアログボックスはテキストウィンドウを閉じる直前にすべて閉じるが、このダイアログボックスを閉じる順序にミスがあった。
テキスト内の任意の位置で任意の編集(文字入力、文字削除など)をした直後にテキストを範囲選択すると、選択テキストに対する編集(削除、コピーなど)をしてもしなくても、その後のUndoで正しい位置にカレットが戻らなくなる。
この不具合を再度修正。
鈴川エディタはテキストウィンドウを閉じるとき、次に再表示して編集するために必要なデータを個別のワークファイルフォルダに保存する。この保存するデータはメモリ上に読み込まれているので、閉じるときは直ちにメモリからHDD(またはSSD)に書き込まれる。
ところが鈴川エディタから他のソフトに作業を移してメモリを大量に消費すると、鈴川エディタのデータを保存していたメモリは他のソフトのために使われることになる。こういうメモリ不足の状態で鈴川エディタに戻って直ちに鈴川エディタを終了するメニューを実行すると、上記のようなエラーが発生するようだ。
鈴川エディタを終了する前に開いているテキストウィンドウはすべて閉じられる。閉じる前に必要データをワークファイルフォルダに保存しなければならない。メモリ不足の状態だから必要データはメモリ上にはなく一時ファイルにある。必要データは、一旦、一時ファイルからメモリに戻されて、メモリからワークファイルフォルダに書き込まれるのだが、一時ファイルからメモリに戻す動作がきちんと終了しないうちにワークファイルフォルダへの書き込み動作が始まるのがエラーの原因かもしれない。
上記のようにエラーの原因は確定ではないが、テキストウィンドウを閉じる前に必要データをワークファイルフォルダに書き込みを始めるのをわずかながら遅らせると、エラーが発生しないようだから、これで様子をみることにする。
この中の[文字コード]コンボボックスで選択した文字コードがディスク検索リストのワークファイルの文字コードになる。
この文字コードを指定してディスク検索した後、ディスク検索リストの検索データを外部ファイルに保存する場合に、保存ダイアログボックスの[制御コード]グループボックスでC0のチェックボックスは指定できるが、C1のチェックボックスについてはワークファイルの文字コードがUnicodeまたはUTF-8の場合は有効になり指定できることになっているが、無効になり指定できない。Shift_JISの場合はもともと指定できない。
このメニューを実行するとディスク検索リストが表示されてアクティブになる。このときディスク検索リストの鉛直水平のカーソルラインもアクティブ表示(初期設定では赤色)にならなければならない。ところが、テキストウィンドウを1つ以上表示している場合にこのメニューを実行すると、カーソルラインは非アクティブ表示(初期設定では青色)になる。
テキストウィンドウを一つも表示していない場合にこのメニューを実行すると、カーソルラインはアクティブ表示になり問題はない。
ディスク検索リストを分割しても一旦、「ディスク検索リストを隠す」メニューで隠して、「ディスク検索リストを表示」メニューで再表示すると、分割状態が不正常になる。
テキストウィンドウ内のテキスト(文字列)のない部分をマウスでドラッグすると、文字列はひとつも選択されてはいないが、選択モードになる。これだけでは問題はない。
鈴川エディタはファイル最後の行を超えた位置でテキストを挿入できるが、ファイル最後の行またはその次の行で、テキスト挿入位置を定めるためにマウスをドラッグする場合も同様に選択モードになる。ここでテキスト挿入を実行すると、ファイル最後と挿入位置の間に追加されるはずの改行が追加されずに目的の位置にテキストが挿入されないことがある。
ファイル最後の行より二つ以上後の行はもともと選択モードにはならないように処理しているので問題はない。
[ライセンス]ボタン
→ [ライセンス]ダイアログボックス
[ユーザー名]テキストボックスに関するヘルプ参照。
[ダブルクォート]コンボボックスの項目を変更。
ヘルプ参照。
これは 2009.09.03(ver3.94A)、[バグ修正] 1 について、さらに修正を追加したもの。
この二つの中ににある[リストの保持文字列数]を初期設定値 2048 以外の値に変更すると、文字コードがShift_JIS、UTF-16LE、UTF-16LE(BOM)のテキストファイルを読み込むときエラーが発生する。
CSVファイル編集の実行で、作成されるCSVファイルの項目(フィールド)の数が多くなると、実行中に表示される[編集経過]ダイアログボックスで、かかる時間、すぎた時間、のこり時間の表示間隔がおおまかになりがちになる。コンピュータの性能によって大きく異なるが、1秒程度の刻みで表示されるように改善した。
[CSVファイル編集]ダイアログボックス
のCSVリストの列項目「オプション」で
「コード変更」オプションを設定している場合に、
[注意]
0 <-- 135 / 7,825,624 : -72 %
今回のバージョンから、文字コードを次のように区別する。
メニュー → ヘルプ → HTML→WebPage
を実行する時点で、ウェブブラウザを未だ設定していない場合、Internet Explorerを起動して表示するようにした。
以前は、ウェブブラウザが未だ設定されていない旨のダイアログボックスを表示、次に[インターネット]ダイアログボックスが表示されて、設定を促す仕様だった。
メニュー → ヘルプ → インターネット
→ [インターネット]ダイアログボックス
モーダルダイアログからモードレスダイアログに変更。[R]、[W]ボタン、最大化、最小化のシステムボタンを追加。右クリックで表示されるポップアップメニューに「閉じる」、「表示して閉じる」メニューを追加。
メニュー → ヘルプ → インターネット
→ [インターネット]ダイアログボックス : [ウェブブラウザ]コンボボックス
ウェブブラウザを未だ設定していない場合、自動的に四つのウェブブラウザを設定するようにした。
ただし、ウェブブラウザが次のパス名の場合に限る。通常はこのパス名になっているはずだ。
メニュー → ヘルプ → 選択、履歴
→ [Exploreで開くフォルダ-選択]、[Exploreで開くフォルダ-履歴]
の二つのダイアログボックスを改良。
名前の未だついていない新規作成ファイルを「名前をつけて保存」、「分割して保存」するとき、そのダイアログボックスで[ファイル名変更]チェックボックスにチェックをつけないで実行すると、その後その新規作成ファイルは、名前がついているファイルとして扱われてしまう。
新規作成ファイルは閉じるとき、名前をつけて保存するか尋ねるダイアログボックスが表示され、名前をつけずにワークファイルフォルダを残すことはできない仕様であるが、新規作成ファイル名のまま残ってしまう。
複数の鈴川エディタが起動しているとき、
メニュー → オプション → 共通オプション
→ [共通オプション]ダイアログボックス:その他:鈴川エディタデータフォルダ
を変更すると、他の鈴川エディタにこの変更が反映されない。
複数起動しているときは、このフォルダの変更はできないように仕様変更した。
共通オプションの変更は、他の鈴川エディタの作業が終了してから実行してください。
メニュー → オプション → 共通オプション
→ [共通オプション]ダイアログボックス : ウィンドウ : ツールバー
の[折り返す]チェックボックスを常にチェックがついている設定にする。
ツールバーの折り返しが実行されると、その後「折り返しをしない」設定が実行できなくなるので、当分上記の動作にする。
「ファイルを開く」、「名前をつけて保存」などのメニューを実行するとき、Windowsの[開く]、[保存]ダイアログボックスで、ファイル拡張子を常に表示するようにする。
このダイアログボックスでの拡張子表示の如何は、Windowsのコントロールパネル:フォルダオプション:表示:詳細設定:「登録されている拡張子は表示しない」の設定と連動しているが、この設定に関係なく常に表示するようにした。
1.のダイアログボックスの[ファイル名]エディットコントロールで表示されているファイル名に拡張子が含まれていないときに[保存]ボタンをクリックした場合は、デフォルトの拡張子を自動的に追加して、拡張子はこれでよいか確認するダイアログボックスを表示する。よくなければ、もう一度ダイアログボックスを表示して拡張子を入力するようにした。このデフォルトの拡張子は[保存]ダイアログボックスを表示したときに[ファイル名]エディットコントロールに表示されるファイル名と同じ拡張子です。
[ファイルの種類]コンボボックスで選択されている拡張子は自動的に追加されません。デフォルトの拡張子と希望の拡張子が異なる場合は、拡張子も必ず入力してください。
「名前をつけて保存」、「名前変更」などのメニューを実行するとき、Windowsの保存ダイアログボックスで[ファイル名]エディットコントロールに設定したファイル名に拡張子が含まれていないと、[保存]ボタンをクリックしてこのダイアログボックスを終了しても[ファイルの種類]コンボボックスで選択されている拡張子が、[ファイル名]エディットコントロールに表示されているファイル名に自動的に追加されない。
この場合は、拡張子が指定されていないがこれでよいかどうか確認するダイアログボックスを表示する。もし指定する場合は、もう一度Windowsの保存ダイアログボックスを表示して、[ファイル名]エディットコントロールで、拡張子を手動で追加できるようにした。
本来自動的に拡張子が追加されればよいのですが、今のところ、これでご勘弁願います。
MDIの最大化している子ウィンドウを表示したり、切り替えたりするとき、メニューバーの右端にある三つのシステムボタンの他にさらに三つのボタンが表示されることがある。メモリ節約を考えて子ウィンドウ用のメニューを作らなかったのが原因だった。
今までは、一つのメニューで親ウィンドウ、子ウィンドウ、グローバル検索リストの三つを担っていたが、この方法では上記のバグを取り除くことはどうしてもできない。今度はそれぞれのメインメニューとポップアップメニューを用意した。
鈴川エディタを起動するとき、[ワークファイルフォルダ操作]ダイアログボックスの[ワークファイルリスト]、[しおり]ダイアログボックスの[しおりリスト]にデータをセットするが、このとき、列項目[No]で、あるべき番号がなく、別の番号が重複する場合がある。
巨大テキストをワードラップするとき、メモリ不足のエラーが発生しやくなる。
一部のデータのメモリが開放されていなかった。
ワードラップしていないテキストで、箱型選択部分の削除が正確にできない。
プログラムコードを不用意に変更したようだ。
ファイルを保存するとき、そのファイルと同名の分割ファイルが存在する場合はその分割ファイルをすべて削除する仕様であるが、削除するファイルが分割ファイルのひとつであるかどうか判定するプログラムにミスがあり、分割ファイルではないファイルも削除してしまう。
「名前をつけて保存」で、別の名前に変えて保存するとき、一部のワークファイルの「パス名が見つからない」エラーが発生する場合がある。
グローバル検索リストの選択部分を外部ファイルや共用ワークファイルに保存するとき表示される[編集経過表示]ダイアログボックスで、最下部の注意書きは「×ボタンをクリックしたり、Breakキーを押すと中断します」であるのが本来の仕様であるが、「処理を中断できません」と表示され、実際中断することができない。
メニュー → 検索 → ファイル比較
で比較する二つのファイルを選択するために[ウィンドウ一覧表]ダイアログボックスを表示した後、この場合以外で、[ウィンドウ一覧表]ダイアログボックスを表示すると、操作パネル部分が表示されなくなる。
「ファイルを開く」、「複数ファイルをつなげて開く」、「分割ファイルを開く」ダイアログボックス(A)で、すでにワークファイルフォルダが存在する同名ファイルを選択すると、「同名ファイルを開く」ダイアログボックス(B)が表示される。
このBダイアログボックスで、方法の「何もしない」を選択したり、[キャンセル]ボタンをクリックすると、Bダイアログボックスが閉じる。このとき、Aダイアログボックスも以前は閉じていたが、閉じないようにする。
「名前をつけて保存」、「分割して保存」ダイアログボックス(A)で、すでにハードディスクに存在する同名ファイルを選択すると、「同名ファイルを保存」ダイアログボックス(B)が表示される。このBダイアログボックスで、方法の「何もしない」を選択したり、[キャンセル]ボタンをクリックすると、Bダイアログボックスが閉じる。このとき、Aダイアログボックスも以前は閉じていたが、閉じないようにする。
「グローバル検索」を「ディスク検索」という呼び方に変更する。
外部記憶装置(ハードディスクなど)にあるテキストファイルからある文字列を検索してリストに表示することだが、ディスクは外部記憶装置を指します。
一般的には、「grep」という呼び方をする場合が多い。
「ウィキペディア」によると、grepの名の由来は、ラインエディタedのコマンドg/re/pであり、その意味するところは「ファイル全体から (global)正規表現 (regular expression) に一致する行を表示(print)する」である。
他に「ファイル検索」と呼ぶ場合もある。
複数の鈴川エディタを起動できる。
鈴川エディタは超巨大テキストを編集することができるが、それには大変長い時間がかかる。いままでは、それが終わるまで何もすることができなかった。しかし、今度は別の鈴川エディタを起動して他のファイルの編集をすることができる。
HTMLヘルプを表示できる。
鈴川エディタのウィンドウを最大化しているときに、子ウィンドウを最大化すると、Windows Vista では、子ウィンドウの右端側に隙間ができる。これは鈴川エディタ固有の現象ではなく、ほかのWindowsのMDIアプリケーションもそうなる。この隙間ができないように改良する。
テキストファイルのショートカットを[ファイルを開く]ダイアログボックスで選択すると、リンク先のフルパス名に変換して、開くことができる。
また、エクスプローラからテキストファイルのショートカットを鈴川エディタのショートカットやウィンドウにドロップファイルすることができる。以前は、ショートカットをバイナリーファイルとして、開くことはできなかった。
[ツールバーボタンの設定]、[ショートカットキーの設定]の各ダイアログボックスを、ウィンドウの幅と高さが変えられるようにする。同時にその中に配置されているリストボックスの幅と高さも変えることができ、見やすくなった。
「ファイルを開く」などのダイアログボックスで、次の点を改良する。
「ショートカットキーの設定」ダイアログボックス
設定してもコマンドを実行できないショートカットの組み合わせがいくつかあるが、設定時にその旨を表示する。
「複数ファイルをつなげて開く」ダイアログボックスでは、ウィンドウの幅と高さを変えることができる。それに応じて[つなぐファイルリスト]の幅と高さも変わる。
「個別ワークフォルダリストの編集」ダイアログボックスでは、ウィンドウの幅と高さを変えることができる。それに応じて[ワークフォルダリスト]の幅と高さも変わる。
「ワークファイルフォルダ操作」ダイアログボックスで、各コントロールはいくつかのパネルコントロールを介してウィンドウに配置していたが、そのパネルコントロールをなくして、直接ウィンドウに配置する。
「編集経過表示」ダイアログボックス
[検索]、[ディスク検索]、[置換]、[強調文字の設定]のダイアログボックスにあるUnicode用エディットコントロール、コンボボックスのエディットコントロールで、ダブルクリックすると、文字列のすべてを選択できる。
Unicode用コンボボックスでは、エディットコントロールで[↓]、[↑]キーで押すと選択項目を変更できる。
メッセージダイアログボックスの表示について、プログラムを改良した。