◀ANSI版開発トップへ
  • 4113 選択範囲置換で行連結すると選択状態が解除される
    • 4123 Re:選択範囲置換で行連結すると選択状態が解除される
      • 4140 Re2:選択範囲置換で行連結すると選択状態が解除される
        • 4141 Re3:選択範囲置換で行連結すると選択状態が解除される
          • 4150 Re4:選択範囲置換で行連結すると選択状態が解除される
            • 4151 Re5:選択範囲置換で行連結すると選択状態が解除される
              • 4166 Re6:選択範囲置換で行連結すると選択状態が解除される
                • 4168 Re7:選択範囲置換で行連結すると選択状態が解除される
              • 4170 Re6:選択範囲置換で行連結すると選択状態が解除される
                • 4178 Re7:選択範囲置換で行連結すると選択状態が解除される
  • [4113] 選択範囲置換で行連結すると選択状態が解除される かろと 2005年11月11日 23:02

    ▼ ryojiさん
    > 最後に?、これはたぶん以前からだろうと思うのですが、どうやら選択範囲置換のときに選択が一部解除されてしまうことがあるんですね。
    > 具体例で言うと、行選択状態で\r\nを空に変換して行を繋げると選択状態が解除されます。
    > これも何とかなると嬉しいんですが...

    ちゃんと理解できてないので、怪しいですが、
    どうやら行連結して行が減った場合の「カラム位置」の調整がうまくないようです。

    とりあえず手を入れてみましたのでお試しください。

    実行形式:(1.5.8.0ベース)
    http://karoto.hp.infoseek.co.jp/Archive/sakura_20051111.lzh
    • [4123] Re:選択範囲置換で行連結すると選択状態が解除される ryoji 2005年11月12日 21:33

      ------------
      1998-2001
      2000-2001
      ------------
      の2行を選択し、
      \r\n -> 空
      とすると、
      1998-20012000-20012001
      になりますが、
      このとき 1998-20012000-200 までしか選択されてませんでした。

      #今は見てないけど、ある行の途中から別の行の途中まで
      #選択状態だった場合とか、大丈夫かしら?
      • [4140] Re2:選択範囲置換で行連結すると選択状態が解除される かろと 2005年11月15日 22:08

        ▼ ryojiさん
        > 1998-20012000-20012001
        > になりますが、
        > このとき 1998-20012000-200 までしか選択されてませんでした。

        レイアウト行での改行文字数を数え損ねてただけでした。m(__)m
        この修正と、あと、\r\n → \n という置換の場合も変になるのを修正しました。

        > #今は見てないけど、ある行の途中から別の行の途中まで
        > #選択状態だった場合とか、大丈夫かしら?

        プログラムを解読してみましたが、
        選択範囲の最終位置を調整する必要があるのですが、
        行調整は毎置換毎に行なわないといけないが、
        桁位置調整は、最終行のみやればいいので、
        行の途中は、うまく処理できているようです。

        うまく、処理できなかったのは、
        ・最終行が行連結される場合の桁位置を負(前行の桁位置)に調整する手段がなかった。
        ・最終前行の改行を置換した結果、置換後のカーソル位置が最終行にきてしまった場合に
         最終行での置換と誤判断していた。
        というあたりのようです。


        実行形式:(1.5.8.0)
        http://karoto.hp.infoseek.co.jp/Archive/sakura_20051115.lzh

        差分:(1.5.8.0)前回の差分含みますが、差分ファイルの最後のところが今回分
        http://karoto.hp.infoseek.co.jp/Archive/sakura_R1580_1115.lzh
        • [4141] Re3:選択範囲置換で行連結すると選択状態が解除される かろと 2005年11月16日 02:44

          自己フォローです。

          ▼ かろとさん
          > ・最終行が行連結される場合の桁位置を負(前行の桁位置)に調整する手段がなかった。

          差分のコメントに書いてた最終行の行連結チェックは
          ちゃんとやらないと、以下のパターンでまずいことに
          気が付きました。
          やっぱり、手抜きは良くない・・・(--;

          まずいパターン
          2000-2001
          2001-2002
          2003-2004
          のテキストを、2001~2003まで選択して、
          「(00|\r\n)」 → 「」
          の置換で、00と改行を消すと、位置がずれる。

          を修正しました。

          実行形式:(1.5.8.0)
          http://karoto.hp.infoseek.co.jp/Archive/sakura_20051116.lzh

          差分:(1.5.8.0)前回の差分含みますが、差分ファイルの最後のところが今回分
          http://karoto.hp.infoseek.co.jp/Archive/sakura_R1580_1116.lzh
          • [4150] Re4:選択範囲置換で行連結すると選択状態が解除される ryoji 2005年11月19日 17:49

            お疲れ様です。
            まだあまり試せていないのですが、気がついたところだけ報告します。
            ------------
            1998-2001
            2000-2001
            ------------
            の先頭から2行目の2000までを選択し、
            \n -> abc
            とした場合に、
            ------------
            1998-2001
            abc2000-2001
            ------------
            2行目のabc2までしか選択が残らないようです。
            • [4151] Re5:選択範囲置換で行連結すると選択状態が解除される かろと 2005年11月19日 22:52

              ▼ ryojiさん
              > お疲れ様です。
              > ------------
              > 1998-2001
              > abc2000-2001
              > ------------
              > 2行目のabc2までしか選択が残らないようです。

              あ~、その部分は前回の方が良かったわけですね(--;

              最終行の置換時、置換前後で行位置が変わった(行連結含む)場合に、
              置換前後の桁位置の変化に、置換前の行の長さを足しこむという最初の修正方法が
              良かったようです。難しいですね。


              実行形式:(1.5.8.0)
              http://karoto.hp.infoseek.co.jp/Archive/sakura_20051119.lzh

              差分:(1.5.8.0)前回の差分含みますが、差分ファイルの最後のところが今回分
              http://karoto.hp.infoseek.co.jp/Archive/sakura_R1580_1119.lzh
              • [4166] Re6:選択範囲置換で行連結すると選択状態が解除される ryoji 2005年11月26日 14:51

                \r\n改行に対して、
                選択前:\n
                選択後:(空または任意文字列)
                選択始点挿入
                で「すべて置換」したときに無限に置換が行われるように
                なってしまっているようです。
                この際、余分に半角スペースも挿入されている感じです。
                • [4168] Re7:選択範囲置換で行連結すると選択状態が解除される ryoji 2005年11月26日 15:39

                  すいません。
                  誤って現行バージョン(1.5.8.0)のほうを動かしていたみたいです。
                  [4166]の報告は無視してください。m(__)m
              • [4170] Re6:選択範囲置換で行連結すると選択状態が解除される ryoji 2005年11月26日 22:22

                ▼ かろとさん
                > 実行形式:(1.5.8.0)
                > http://karoto.hp.infoseek.co.jp/Archive/sakura_20051119.lzh
                >
                > 差分:(1.5.8.0)前回の差分含みますが、差分ファイルの最後のところが今回分
                > http://karoto.hp.infoseek.co.jp/Archive/sakura_R1580_1119.lzh

                返事が遅れてすいませんでした。
                ようやく確認できました。(^^;
                この修正で、今回の選択状態関連、および
                >>dev:4059 「\r」が「\r\n」にマッチする件
                の一連の課題はクリアされているように思います。
                対処ありがとうございます。
                #修正コードの内容までは読めていないですけど、
                #あれこれ試した感じではOKかな、とσ(^^;
                • [4178] Re7:選択範囲置換で行連結すると選択状態が解除される かろと 2005年11月27日 23:59

                  >発言者: ryoji
                  >返事が遅れてすいませんでした。
                  >ようやく確認できました。(^^;
                  >この修正で、今回の選択状態関連、および
                  >>>dev:4059 「\r」が「\r\n」にマッチする件
                  >の一連の課題はクリアされているように思います。
                  >対処ありがとうございます。

                  いえいえ、こちらこそ、確認ありがとうございます。