inselectの不具合No.00457
TAKA さん 01/12/08 00:34
 
TAKA です。

マウスで選択する場所によって、置換結果が違いますので、報告し
ます。

// テストデータ(ここから)
1TEST
2TEST
3TEST
4TEST
5TEST
[EOF]
// テストデータ(ここまで)
[EOF]はファイルの終了です。

// テストマクロ(ここから)
    replaceallfast "TEST", "test", inselect;
    endmacro;
// テストマクロ(ここまで)

まず、マウスで2行の左側をクリックして2行目だけを選択した状
態をつくります。
その状態でマクロを実行します。
すると、期待通り、2行目の「TEST」のみが「test」と置換されま
す。
この動作は、マウス選択で複数行選択でない場合でも、inselectは
効いて欲しいという要望を実装してもらっているため、正しい動作
です。

同じように3、4行目だけを選択してマクロを実行すると、期待通
り、1行だけが置換されます。

ところが、1行目を選択してマクロを実行すると、1行と2行の2
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
行が置換されてしまいます。
^^^^^^^^^^^^^

次に、5行目だけを選択してマクロを実行すると、5行目がだけが
置換されます。期待通りです。
が、その後で、2行目を選択して置換すると、なんと2行目以降が
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
すべて置換されてしまうのです。
^^^^^^^^^^^^^^

確認したのは、Ver3.13です。

[ ]
RE:00457 inselectの不具合No.00458
ひろ さん 01/12/08 13:53
 
 TAKA さん今日は、ひろです。引用順序を変えました。
> 同じように3、4行目だけを選択してマクロを実行すると、期待通
> り、1行だけが置換されます。
 これは 2 行とも置換されるのが仕様通りだと思いますし、実際そうなりま
した???

> 次に、5行目だけを選択してマクロを実行すると、5行目がだけが
> 置換されます。期待通りです。
> が、その後で、2行目を選択して置換すると、なんと2行目以降が
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> すべて置換されてしまうのです。
> ^^^^^^^^^^^^^^
 これは確かに変ですね。
> この動作は、マウス選択で複数行選択でない場合でも、inselectは
> 効いて欲しいという要望を実装してもらっている
 この仕様通りなら 2 行目以外は置換されないはずですよね。どうやら中間
色が、新たに選択した範囲より下にあると起きるようです。

 またこのテストをしていて気付いたのですが、TAKA さんのご報告の現象は、
[Shift]+[?] でも起きます。このことを理解しとしても、
(1)[Shift]+[?] では 1 行の選択では、「選択した範囲のみ」が効かない
→同様に inselect も無効
→ファイル全体の置換となり 1 行目も置換されるはず
→実際はそうならない
(2)[Shift]+[?] でもマクロ内では、論理行単位で inselect が効く
→2 行目のみ置換されるはず
→実際は 2〜5行が置換される
となり、どちらで考えても矛盾します。
 出来れば、マウスによって選択しメニューから「範囲選択した範囲のみ」
の置換と、選択方法にかかわらずマクロでの inselect の動作を同じにして
頂き、選択した範囲のみで置換をして欲しいです。ただし hidesoft.2:10498
の様な、行末方向で論理行単位になるのは仕様として理解しています。

[ ]
RE:00458 inselectの不具合No.00459
TAKA さん 01/12/08 14:00
 
TAKA です。

>> 同じように3、4行目だけを選択してマクロを実行すると、期待通
>> り、1行だけが置換されます。
> これは 2 行とも置換されるのが仕様通りだと思いますし、実際そうなりま
>した???

説明が悪かったです。
3行目だけを選択して実行しても、3行目だけが置換され、4行目
だけを選択して実行しても、4行目だけが置換されて、期待通りと
いう意味です。

[ ]
RE:00459 inselectの不具合No.00460
秀丸担当 さん 01/12/10 18:51
 
> が、その後で、2行目を選択して置換すると、なんと2行目以降が
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> すべて置換されてしまうのです。

再現させることができました。
バグでした。修正しておきます。
ありがとうございます。

ひろさんの言われている[Shift]+[?]とは何でしょう?
?が文字化けしている?

[ ]
RE:00460 inselectの不具合No.00461
ひろ さん 01/12/10 20:09
 
 秀丸担当さん今日は、ひろです。
> ひろさんの言われている[Shift]+[?]とは何でしょう?
> ?が文字化けしている?
 すいません、手抜きです。[→] 等カーソル移動系のコマンドを実行するキー
です。

[ ]
RE:00460 inselectの不具合No.00462
TAKA さん 01/12/11 00:26
 
TAKA です。

えーっと、確認なのですが、以下の件も不具合ということでかまわ
ないでしょうか?

>ところが、1行目を選択してマクロを実行すると、1行と2行の2
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>行が置換されてしまいます。
>^^^^^^^^^^^^^

[ ]
RE:00462 inselectの不具合No.00464
秀丸担当 さん 01/12/11 18:57
 
>えーっと、確認なのですが、以下の件も不具合ということでかまわ
>ないでしょうか?
>
>>ところが、1行目を選択してマクロを実行すると、1行と2行の2
>>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>行が置換されてしまいます。
>>^^^^^^^^^^^^^

すみません。実はこちらは再現できていませんでした。
てっきり2行目に中間色が残留しているなどしていて、同じ問題
なのかと思っていましたが、違う現象なのでしょうか?
こちらでは1行目だけが置換されています。

[ ]
RE:00464 inselectの不具合No.00467
TAKA さん 01/12/11 19:12
 
TAKA です。

>すみません。実はこちらは再現できていませんでした。
>てっきり2行目に中間色が残留しているなどしていて、同じ問題
>なのかと思っていましたが、違う現象なのでしょうか?
>こちらでは1行目だけが置換されています。

同じ問題のような気がしてきました。
2行目を置換後に1行目を置換しようとしたら、1行目と2行目が
置換されました。
同じように、3行目を置換後に1行目を置換しようとしたら、1〜
3行目が置換されました。

次のβが出たら、再度確認してみます。

[ ]