ダブルクリックからドラッグ時の単語選択No.01693
Buckeye さん 08/02/07 18:55
 
秀丸担当さん、

    さきほど投稿したら、コメント元が古すぎて書き込みエラーになってしまっ
    たので、新規発言として投稿し直します。

もう2年近く前なのですが、#11864で以下のようなコメントをいただきまして、
よくなったと喜んでいたのですが……

>>ついでなのですが、前に出した要望で、そのうちに実現したいとの回答をいただ
>>いており、かつ、Ver.6.06では実現されていない下記の項目も、可能であれば、
>>メジャーバージョンアップでいろいろと作り直す中に入れていただければ幸いで
>>す。
>>
>>「ダブルクリックからドラッグ時の単語選択動作」(#11105)
>>「欄外ダブルクリックからのドラッグ」(#11200)
>
>V6.50βでやっているので試してみてください。

いつの間にか、前の状態に戻っているようです。Ver.7.07では、#11105で指摘し
た形にしかなりません。

念のため、#11105を末尾に添付します。

Best regards,
Buckeye

------------#11105
いつもお世話になっています。

久しぶりに秀丸のマクロを作っていて、ダブルクリックからドラッグしたときの
単語選択動作が少しおかしいと感じました(β40です)。

たとえば、"##HidemaruMacro"という変数があったとします。

・最初の"#"でダブルクリックすると、"##"が選択されます。
・そのまま右にドラッグすると、最初の"#"は選択解除され、"#HidemaruMacro"
  が選択されます。

・2番目の"#"でダブルクリックすると、2番目の"#"だけが選択され、最初の"#"
  は選択されません。
・もちろんというか、そのまま右にドラッグすると、"#HidemaruMacro"が選択さ
  れます。

おかしいなと感じるのは2点です。

・最初の"#"なら"##"、2番目の"#"なら2番目の"#"だけが選択されるのはおかし
  い。"##"を単語とみなすなら、2番目の"#"をダブルクリックしても"##"が選択
  されるべきだし、単語とみなさないなら、最初の"#"をダブルクリックでも最
  初の"#"だけを選択すべき。
・上側の例で、いったん選択された最初の"#"が、ドラッグすると選択解除され
  るのはおかしい(とうぜん、選択されていると思って、何度か、変数名のコ
  ピーミスをしました)。

私個人としては、一番自然なのは……最初の"#"でも2番目の"#"でも、ダブルク
リックすれば"##"が選択され、そのままドラッグしたら選択範囲が単語単位で広
がっていくって形です。"#$"のようなパターンはどちらでもいいのですが、"##"
や"$$"のように同じ記号が並んでいるケースは、まとめて単語だとみなすのが自
然だと感じます。アルファベットやひらがな、漢字などで同じ文字がならんでい
れば、ひとまとまりで単語だとみなされますからね。

特に、"##"と"$$"は秀丸マクロでもよく使いますし、グローバルな"#"と"$"とも
紛らわしいので、ダブルクリックで選択できないと、マクロ作成時にかなり神経
を使うことになってしまいます(タイプミスを防ぐため、選択範囲をマクロをコ
ピーしています)。

なお、"##HidemaruMacro"の"HidemaruMacro"側を最初にダブルクリックし、その
まま左にドラッグして選択範囲を広げていくときは、"#"がひとつずつ、広がっ
ていきます。こちらの動作も同じように統一する必要があると思います。

Best regards,
Buckeye
------------

[ ]
RE:01693 ダブルクリックからドラッグ時のNo.01697
秀丸担当 さん 08/02/08 11:37
 

>>>ついでなのですが、前に出した要望で、そのうちに実現したいとの回答をいただ
>>>いており、かつ、Ver.6.06では実現されていない下記の項目も、可能であれば、
>>>メジャーバージョンアップでいろいろと作り直す中に入れていただければ幸いで
>>>す。
>>>
>>>「ダブルクリックからドラッグ時の単語選択動作」(#11105)
>>>「欄外ダブルクリックからのドラッグ」(#11200)
>>
>>V6.50βでやっているので試してみてください。
>
>いつの間にか、前の状態に戻っているようです。Ver.7.07では、#11105で指摘し
>た形にしかなりません。

これは、その後の

 turukame.3:00679| RE 00670 英語における単語単位の選択
 http://www.maruo.co.jp/turukame/3/x00670_.html#679

のBuckeyeさんのご意見により、V6.00と同じように戻して欲しいということで、
戻したので、それに伴ってダブルクリックからのドラッグは元に戻っています。

昔の動作には戻さずに、やっぱり新しい動作ということにして、

abc(半角スペースひとつ)def

という場合の半角スペースの場合はまた特別に対策するということにすれば、と
りあえず両方の動作については直ります。

この他にも新しい動作にすることによって、今までと違うので戻して欲しいとい
うことにならなければいいですが。

[ ]
RE:01697 ダブルクリックからドラッグ時のNo.01706
Buckeye さん 08/02/09 10:21
 
秀丸担当さん、

つまり、「abc(半角スペースひとつ)def」をダブルクリックからドラッグした
とき、英単語、間の空白、次の英単語という動作をさせたければ、#11105で指摘
した以下の問題

-----#11105

たとえば、"##HidemaruMacro"という変数があったとします。

・最初の"#"でダブルクリックすると、"##"が選択されます。
・そのまま右にドラッグすると、最初の"#"は選択解除され、"#HidemaruMacro"
  が選択されます。

・2番目の"#"でダブルクリックすると、2番目の"#"だけが選択され、最初の"#"
  は選択されません。
・もちろんというか、そのまま右にドラッグすると、"#HidemaruMacro"が選択さ
  れます。

おかしいなと感じるのは2点です。

・最初の"#"なら"##"、2番目の"#"なら2番目の"#"だけが選択されるのはおかし
  い。"##"を単語とみなすなら、2番目の"#"をダブルクリックしても"##"が選択
  されるべきだし、単語とみなさないなら、最初の"#"をダブルクリックでも最
  初の"#"だけを選択すべき。
・上側の例で、いったん選択された最初の"#"が、ドラッグすると選択解除され
  るのはおかしい(とうぜん、選択されていると思って、何度か、変数名のコ
  ピーミスをしました)。

-----#11105ここまで

は解消できないということでしょうか。

    どうしてそうなるのか私にはちょっと理解できませんが、それはまあ、理解
    する必要はないと思うので、説明はしていただかなくてけっこうです。

もし、上記の私の理解が正しいとすれば、それはちょっと困ったなぁと思ってし
まいます。なぜなら、どちらも、ユーザーから見たとき自然な動作だと思うから
です。

「単語を区切りとした範囲選択」として統一的な動きをさせるためには、「abc
(半角スペースひとつ)def」をダブルクリックからドラッグしたとき、英単語、
間の空白、次の英単語という動作をさせる必要があります。理由は、「abc(半
角スペース複数)def」のとき、英単語、間の空白、次の英単語と選択範囲が広
がるからです。

    統一という意味では、「abc(半角スペース複数)def」のとき、abc、abc
    (半角スペース複数)defと広げるようにしちゃうって手もありますが、テ
    キストを編集するツールという意味からこれがまずいのは#679に書いたとお
    りです。

最初の"#"なら"##"、2番目の"#"なら2番目の"#"だけが選択されるのはおかしい
というのも、「単語を区切りとした範囲選択」として統一性がないからです。
「abc(#ひとつあるいは複数)def」の場合にabc、間の#、defと広がることを考
えても(テキスト編集という意味ではこうなるのが自然)、最初の"#"でも2番目
の"#"でも"##"が選択されるべきでしょう。

ダブルクリックでいったん選択された部分がドラッグすると選択解除されるとい
う点は(前の"#"がもっと多くても、ドラッグしたとき選択範囲に残るのは最後
のひとつだけです)、「単語を区切りとした範囲選択」として統一的な動きをさ
せるうんぬん以前の問題として、問題だと思います。

このあたり、うまく処理することはできないでしょうか。

Best regards,
Buckeye

[ ]
RE:01706 ダブルクリックからドラッグ時のNo.01707
秀丸担当 さん 08/02/09 22:45
 
V7.08β11で修正してみたので、試してみてください。
ダブルクリック自体の動作は互換性のため今までどおりですが、ドラッグは変えまし
た。
仕様が転々としたり、仕様が変化することによってまた希望に沿わない部分が出てく
ることがあるのではないかということが心配で、問題があること自体はこちらの不手
際ですので、申し訳ありません。


[ ]
RE:01707 ダブルクリックからドラッグ時のNo.01708
Buckeye さん 08/02/13 09:57
 
秀丸担当さん、

#1690と#1693の両方とも、おっしゃるとおりに修正されていることを確認しまし
た。ありがとうございます。

    ダブルクリックからドラッグしたとき、半角文字(#とか半角スペースと
    か)が続いていると、ドラッグ方向によって動作が異なります。つまり左か
    ら右にドラッグでは最初のひとつにかかった瞬間に全体を選択、右から左に
    ドラッグではカーソル位置以降だけが選択で並んでいる半角文字、ひとつず
    つ選択範囲が広がっていく(シングルクリックからのドラッグと同じ動作)
    になります。これはダブルクリック時の選択範囲をママとしたことに伴う仕
    様という理解でいいでしょうか。

ダブルクリックの動作は……シングルクリックとの使い分けというか、なぜ、シ
ングルクリックとダブルクリックで違う動作をするのかという意味から現状はお
かしいと私は思いますが、互換性というのもそれはそれで大きいですからね。ま
あ、私のような意見もあるということを頭の隅に置いておいてくださいませ。

Best regards,
Buckeye


[ ]
RE:01708 ダブルクリックからドラッグ時のNo.01709
秀丸担当 さん 08/02/13 17:40
 

>    ダブルクリックからドラッグしたとき、半角文字(#とか半角スペースと
>    か)が続いていると、ドラッグ方向によって動作が異なります。つまり左か
>    ら右にドラッグでは最初のひとつにかかった瞬間に全体を選択、右から左に
>    ドラッグではカーソル位置以降だけが選択で並んでいる半角文字、ひとつず
>    つ選択範囲が広がっていく(シングルクリックからのドラッグと同じ動作)
>    になります。これはダブルクリック時の選択範囲をママとしたことに伴う仕
>    様という理解でいいでしょうか。

空白の連続の中の途中でダブルクリックした場合はまだおかしいようですね。
少なくとも最初にダブルクリックして選択された部分は常に確保されるように、
さらに修正してみようと思います。

[ ]