◀一般トップへ
  • 5411 短形選択中の空白挿入挙動
    • 5414 RE: 短形選択中の空白挿入挙動
      • 5415 Re2: 短形選択中の空白挿入挙動
      • 5416 Re2: 短形選択中の空白挿入挙動
        • 5417 Re3: 短形選択中の空白挿入挙動
  • [5411] 短形選択中の空白挿入挙動 neko 2006年09月01日 12:18

    一文字も選択してない状態の短形選択(わかりにくいですね)でスペースを押すと、次の二パターンの動作をします。
    一度選択範囲が変わってしまうのはバグだと思うのですが、修正していただけませんか?
    1.行末以外
     スペースが挿入されず、短形選択範囲されている行の短形選択範囲より後ろが選択されます。その後、もう一度押すと空白が挿入されます。
     以下サンプル。
     |が短形選択範囲をしている部分。スペースを一度押すと、各行のdefが選択され、二回目のスペースで空白が入ります。

    step 1
     abc|def
     abc|def
     abc|def

    step 2(defが選択される)
     abc|def
     abc|def
     abc|def

    step 3(スペースの挿入。アンダーバーで表現)
     abc_|def
     abc_|def
     abc_|def

    2.行末
     短形選択範囲されている行の短形選択範囲より後ろが選択されるまでは同じですが、その後短形選択範囲の行がすべて選択されてしまい、もう一度スペースを押すと行頭に空白が入ってしまう。
     以下サンプル。
     |が短形選択範囲をしている部分。スペースを一度押すと、各行の行末より後ろが選択され、二回目のスペースで行全体が選択され、三回目のスペースで"行頭に"空白が入ります。

     step 1
     abcdef|
     abcdef|
     abcdef|

     step 2(行末から後ろが選択されている)
     abcdef|
     abcdef|
     abcdef|

     step 3(行全体が選択される)
     abcdef
     abcdef
     abcdef

     step 4(先頭に空白が挿入される。アンダーバーで表現)
     _abcdef
     _abcdef
     _abcdef

    選択範囲の変化、および望んでいない部分への空白の挿入はバグだと思いますので、修正お願いします。
    • [5414] RE: 短形選択中の空白挿入挙動 すい 2006年09月06日 00:27

      >一文字も選択してない状態の短形選択(わかりにくいですね)でスペースを押すと、次の二パターンの動作をします。
      >一度選択範囲が変わってしまうのはバグだと思うのですが、修正していただけませんか?
      >1.行末以外
      > スペースが挿入されず、短形選択範囲されている行の短形選択範囲より後ろが選択されます。その後、もう一度押すと空白が挿入されます。
      > 以下サンプル。
      > |が短形選択範囲をしている部分。スペースを一度押すと、各行のdefが選択され、二回目のスペースで空白が入ります。

      1回目のスペースで、スペースが入力されないのは仕様ですね。
      矩形選択の入力で、インデント(半角スペースorタブ文字)入力時は
      インデント揃えも出来るよう、特別な動作仕様になっています。

      詳細は >>dev:4103 を一通り目を通してください。

      その特別な動作仕様のため、矩形選択の選択幅が 0 の場合はインデント文字は
      入力されません。

      で、スペース入力時、矩形選択の幅が広がる動作の方ですが、こちらは恐らくですが、

      「選択幅が 0 だとスペースは入力できなくなる仕様なのに、その幅 0 の状態で
       スペースがキー入力された→スペースを入力したいのだろうから
       選択幅を広げて次回からスペースが入力できるようにしてあげよう」

      という親切機能なのかな?と推測しています。

      >2.行末
      > 短形選択範囲されている行の短形選択範囲より後ろが選択されるまでは同じですが、その後短形選択範囲の行がすべて選択されてしまい、もう一度スペースを押すと行頭に空白が入ってしまう。

      こちらも仕様だったと記憶しています。
      なぜかは分かりませんが、
      行末に対してインデント文字を矩形入力する事は出来ない、
      行末に対してインデント文字を矩形入力しようとすると、
      行頭へのインデント入力になる、という仕様。

      わざとそういう作りになっていたと思いました。
      でも、なぜそういう動作に されたのか?は私にも不明です。

      私も行末に矩形入力でインデント文字を入力したい事がよくあるのですが、
      それが出来ずに苦労します。
      こちらは、仕様通りの動作ではあるらしいのですが、私個人にとっては困る仕様なのですが。
      どういう理由があってこういう動作になっているのでしょうかねぇ?
      • [5415] Re2: 短形選択中の空白挿入挙動 げんた 2006年09月06日 01:24

        私も経緯がよくわかりませんが,ソースコードに
        // From Here 2001.12.03 hor
        /* SPACEorTABインンデントで矩形選択桁がゼロの時は選択範囲を最大にする */
        ってのがありますので,意図的でしょうね.

        機能的にはこれを削除すれば済む話かと思いますが,どういう意図なんでしょうかね?
      • [5416] Re2: 短形選択中の空白挿入挙動 neko 2006年09月06日 02:26

        > 1回目のスペースで、スペースが入力されないのは仕様ですね。
        > 矩形選択の入力で、インデント(半角スペースorタブ文字)入力時は
        > インデント揃えも出来るよう、特別な動作仕様になっています。
        >
        > 詳細は >>dev:4103 を一通り目を通してください。

        なるほど、ちゃんと意図があったのですね。
        少々面倒ですが、二回押せばいいので、この部分は仕様ということで我慢します。
        (できれば設定で変更できるといいのですが。でもどんな名前にするか悩みますね)


        ▼ すいさん
        > 私も行末に矩形入力でインデント文字を入力したい事がよくあるのですが、
        > それが出来ずに苦労します。
        > こちらは、仕様通りの動作ではあるらしいのですが、私個人にとっては困る仕様なのですが。
        > どういう理由があってこういう動作になっているのでしょうかねぇ?
        ▼ げんたさん
        > 私も経緯がよくわかりませんが,ソースコードに
        > // From Here 2001.12.03 hor
        > /* SPACEorTABインンデントで矩形選択桁がゼロの時は選択範囲を最大にする */
        > ってのがありますので,意図的でしょうね.
        >
        > 機能的にはこれを削除すれば済む話かと思いますが,どういう意図なんでしょうかね?

        特に理由がないのなら、削除したほうが理想的な動作をする気がしますね。
        ひとまずソースを落としてきて、その行をコメントアウトして使って見ます。
        • [5417] Re3: 短形選択中の空白挿入挙動 neko 2006年09月06日 02:48

          > 特に理由がないのなら、削除したほうが理想的な動作をする気がしますね。
          > ひとまずソースを落としてきて、その行をコメントアウトして使って見ます。
          コメントアウトして使ってみました。
          結果、選択文字がない短形選択でスペースを押しても空白が入らないという自体に、、、
          ちゃんとソースを追っかけて直したほうがよさそうです。