検索時、検索文字列が(?<!\\);になるNo.42078
ANACOSTIA さん 25/07/17 13:48
 
 検索時、毎回ではないのですが、[正規表現(R)]にチェックが入り、検索文字列欄
に"(?<!\\);"が入力された状態で検索ダイアログが開きます。
 勿論、前回検索ダイアログを閉じる際は、[正規表現(R)]のチェックが外れ、検索
文字列欄に別の文字列が入力されている状態です。
 動作環境において、[前回の検索文字列を使う(B)]と[正規表現の状態を覚える(G)]
にはチェックが入っています。
 検索ヒストリの消去を実行しても症状は変わりません。
 このような動作にならないようにはならないでしょうか?

[ ]
RE:42078 検索時、検索文字列が(?<!\\);にNo.42079
ANACOSTIA さん 25/07/17 13:50
 
検索文字列欄のバックスラッシュは、実際には円記号です。

[ ]
RE:42079 検索時、検索文字列が(?<!\\);にNo.42081
秀丸担当 さん 25/07/17 16:49
 
検索ダイアログの各種検索条件は、前回のものを使う設定になっている場合、記憶さ
れているものを使います。

[正規表現の状態を覚える(G)]などの各種チェックのところには、「ONの場合、記憶
状態がマクロによって変更されることがあります。」とあるのですが、これは検索文
字列でも同様でした。
検索文字列のところにも書いておきます。

つまり、記憶状態とは、検索ダイアログ用に別の記憶領域があるのではなく、現在の
検索文字列/検索オプションを変えることなくそのまま出しています。

現在の検索文字列/検索オプションはマクロによって検索条件が変わった場合にも影
響があります。
検索条件を変えるマクロがあって、それで変わっているのかもしれません。
もし検索条件を変えるマクロがあって、特定できたら、マクロ先頭付近でsetcompati
blemodeをすることによって影響を与えないようにすることができます。
setcompatiblemode 0x00020000;

[ ]
RE:42081 検索時、検索文字列が(?<!\\);にNo.42082
ANACOSTIA さん 25/07/18 08:09
 
 言われてみれば、"(?<!\\);"を別の文字列に置換するマクロを実行しておりました。
 マクロ構文中に"setcompatiblemode"を追加する件、試してみます。

[ ]