TeraTermProject / teraterm

Other
392 stars 33 forks source link

ダブルクリック選択範囲が期待と異なる #146

Closed sempreff closed 4 months ago

sempreff commented 4 months ago

概要

ダブルクリック選択範囲が 5.1 と 5.2 で異なります。

再現手順

事象1) echo '===###@@@' のようにして、

===###@@@

と表示します。 「###」部分をダブルクリックします。 5.1 では ### だけが選択されます。 5.2 では 行が選択されます。

事象2) echo '=== aaa ### bbb (((@@@))) ccc ===' のようにして、

===  aaa  ###  bbb  (((@@@)))  ccc  ===

と表示します。 「###」部分をダブルクリックしたとき、5.1 では ### だけが選択されますが 5.2 では 「 ### 」が選択されます。 「@@@」部分をダブルクリックしたとき、5.1 では @@@ だけが選択されますが 5.2 では「 (((@@@))) 」が選択されます。

期待の動作

5.1 の挙動のように、ダブルクリック選択が Delimiter characters に指定の文字で区切られることを期待します。

環境

Windows10 Pro 22H2 zip 展開後 ttermpro.exe をダブルクリックにて起動(デフォルト iniファイル)

nmaya commented 4 months ago

@zmatsuo #116 の対応の影響でしょうか?

zmatsuo commented 4 months ago

116 の対応の影響でしょうか?

その影響でした。失礼しました。

#aaabbbccc#

の「bbb」部分をダブルクリックするしたとき、 aaabbbccc は連続した区切り文字ではない文字なので まとめて選択されます

===###@@@

の「###」部分をダブルクリックすると、 実はデフォルトでは、"="と"#"と"@"と" "は連続した区切り文字なので、 まとめて選択されて、1行全部選択されます。 私の思った修正通りなのですが、5.1とは異なった動作ですね。

区切り文字("#"など)上でダブルクリックしたときの 期待される従来と同じ動作は マウスカーソル下の文字("#")と同一の連続した文字を まとめて選択する ですね。

===  aaa  ###  bbb  (((@@@)))  ccc  ===

の「@@@」でのダブルクリックも "(",")"も区切り文字なので 連続した区切り文字が選択されて「 (((@@@))) 」が選択されています。

それと行頭行末で必ず選択が止まるのではなくて 連続してる前の行、次の行まで選択する動作にしたほうが 4系と同等動作となりそうです。 image (cをダブルクリックするとbからdが選択される)

修正します。

nmaya commented 4 months ago

@zmatsuo 確認ありがとうございます。

連続してる前の行、次の行まで選択する動作にしたほうが

前後の行まで選択されるかどうかを制御する EnableContinuedLineCopy という設定があります。

それと行頭行末で必ず選択が止まる

行頭行末で止まるのは EnableContinuedLineCopy が off のときの動作ですが、5.2 ではそのように動作しないことを確認しました。 行をまたぐときの動作に関する話題は #148 に移動していただけるでしょうか。

zmatsuo commented 4 months ago

修正しました。

バイナリを作りました。 試してみてください。 https://ci.appveyor.com/project/teraterm/github-snapshot/builds/49352282/artifacts

sempreff commented 4 months ago

対応ありがとうございます。期待通りの動作になりました。

zmatsuo commented 4 months ago

mainにマージしました。クローズします。