2^3
通りの状態を表現できる)を使うというのは事態を実際以上に複雑に見せていないだろうか。もちろん単独の整数や enumを使ったところでそれをビットフラグにするなら同じことだけど、そうでない使い方も一般的なわけで。すべての bool変数を初期化するために3回の比較を行うのからして冗長では?「enum { DEFAULT, FORCECLEAR, SETLASTMARK, SETNOCHANGEMARK } ope = flag & 0x03;」とか?解除コードの重複を嫌うなら「enum { SETSELECTED, CLEAR,... 」にして初期化に選択状態を考慮してひと手間加えるとか。■フラグ2とフラグ3の違い。フラグ3は他のビュー・他のタブの影響を受けない。フラグ2は「次検索相当」という文言通り、次検索(F3)と同じように「次・前検索で他のビューでの検索条件変更を引き継ぐ」設定の影響を受けて、他のビュー・他のタブを含めて最後に行った検索結果がハイライトされたり、そうでなくそのビューで最後に行った検索結果がハイライトされたり(フラグ3相当)する。だよね? この比較的新しいオプションによってユーザーが自然だと考える検索条件の影響範囲が明らかにされているのだから、消すならフラグ3かな。強硬なフラグ3派(※実はこれが従来挙動の一部。検索条件は共有するがハイライトはビューに固有だというのが従来の仕様)が現れるかな。ややこしくてもいろいろ用意してヘルプドキュメントに期待かな。