grepdialog、grepのres=?US-ASCII?B?dWx0?No.08798
h-tom さん 05/11/21 00:28
 

h-tom です。

grepdialog実行時のresultですが、検索結果が"0"でも"1"を返します。
「キャンセル」時も同様に"1"が返ります。
このせいなのか、出力される行数とresultの値が一致しません。
 出力行:34 result:35
(1行の長さは2000文字に設定、折り返しなし、マッチしたのは1行に1個)
grepと同じで、resultは検索結果が入るんですよね?
resultがgrepと同じとして、検索結果"0"と「キャンセル」の区別ができれば
うれしいです。(現状でも、filetypeで判断できますが。)

あと、grepとgrepdialogでは中断時の動作が違ってます。
テストマクロで中断時、grep文ではmessage文が実行されますが、grepdialog
だと実行されません。(マクロ自体中断?)これは仕様ですか?

それと、grep文実行中に中断した場合のresultですが、"-2"が返ってきます。
"-1"ですよね?

//grepdialog;
grep "return", "*.mac", directory;
message str(result);
endmacro;

秀丸:Ver.5.11β1
OS:Windows2000SP4

[ ]
RE:08798 grepdialog、grepのres=?US-ASCINo.08804
秀丸担当 さん 05/11/21 16:40
 

>grepdialog実行時のresultですが、検索結果が"0"でも"1"を返します。
>「キャンセル」時も同様に"1"が返ります。
>このせいなのか、出力される行数とresultの値が一致しません。
> 出力行:34 result:35
>(1行の長さは2000文字に設定、折り返しなし、マッチしたのは1行に1個)
>grepと同じで、resultは検索結果が入るんですよね?
>resultがgrepと同じとして、検索結果"0"と「キャンセル」の区別ができれば
>うれしいです。(現状でも、filetypeで判断できますが。)
>
>あと、grepとgrepdialogでは中断時の動作が違ってます。
>テストマクロで中断時、grep文ではmessage文が実行されますが、grepdialog
>だと実行されません。(マクロ自体中断?)これは仕様ですか?
>
>それと、grep文実行中に中断した場合のresultですが、"-2"が返ってきます。
>"-1"ですよね?

いろいろ検証したところ、確かに言われている通りになるようです。
中断したときに-2が返ってしまうのはV5.00におけるバグでした。すみません。-
1に修正したいと思います。
grepdialog文においてヒット数よりも1つ加算されてしまうのは、従来からの動
作で、変更を加えると互換性が失われるのが心配ですが、どのみちおかしいので、
修正してしまおうと思います。

[ ]
RE:08804 grepdialog、grepの戻り値No.08820
h-tom さん 05/11/23 11:41
 

h-tom です。

>いろいろ検証したところ、確かに言われている通りになるようです。
>中断したときに-2が返ってしまうのはV5.00におけるバグでした。すみません。-
>1に修正したいと思います。
>grepdialog文においてヒット数よりも1つ加算されてしまうのは、従来からの動
>作で、変更を加えると互換性が失われるのが心配ですが、どのみちおかしいので、
>修正してしまおうと思います。
細かい事で申し訳ありませんが、念のため確認。
β版の改版履歴で、"キャンセル時は-1"となってますが、"中断時は-1"ですよね?
(grepダイアログの「キャンセル」押下時は"0"ということで。)


[ ]
RE:08820 grepdialog、grepの戻り値No.08821
Iranoan さん 05/11/23 14:39
 
 h-tom さん今日は、Iranoan です。
> β版の改版履歴で、"キャンセル時は-1"となってますが、"中断時は-1"ですよね?
 でしょうね。
> (grepダイアログの「キャンセル」押下時は"0"ということで。)
 これだと見つからなかったときと区別が出来ないので、-2 などの方が良い
かもしれませんね。

[ ]
RE:08821 grepdialog、grepの戻り値No.08823
秀丸担当 さん 05/11/24 11:19
 

> β版の改版履歴で、"キャンセル時は-1"となってますが、"中断時は-1"ですよね?

その通りでした。

>> (grepダイアログの「キャンセル」押下時は"0"ということで。)
> これだと見つからなかったときと区別が出来ないので、-2 などの方が良い
>かもしれませんね。

仕様として従来 -2 だったものが意味が変化していくのもまずいと思うので、と
りあえずこのままとしておきたいと思います。

[ ]