2005/11/11 (金) 23:02:34 かろと  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
[4113] 選択範囲置換で行連結すると選択状態が解除される
▼ ryojiさん
> 最後に?、これはたぶん以前からだろうと思うのですが、どうやら選択範囲置換のときに選択が一部解除されてしまうことがあるんですね。
> 具体例で言うと、行選択状態で\r\nを空に変換して行を繋げると選択状態が解除されます。
> これも何とかなると嬉しいんですが...


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

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

実行形式:(1.5.8.0ベース)
http://karoto.hp.infoseek.co.jp/Archive/sakura_20051111.lzh

2005/11/12 (土) 21:33:25 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4123] Re:選択範囲置換で行連結すると選択状態が解除される
------------
1998-2001
2000-2001
------------
の2行を選択し、
\r\n -> 空
とすると、
1998-20012000-20012001
になりますが、
このとき 1998-20012000-200 までしか選択されてませんでした。

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

2005/11/15 (火) 22:08:08 かろと  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
[4140] Re2:選択範囲置換で行連結すると選択状態が解除される
▼ 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

2005/11/16 (水) 02:44:47 かろと  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
[4141] Re3:選択範囲置換で行連結すると選択状態が解除される
自己フォローです。

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

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

まずいパターン
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

2005/11/19 (土) 17:49:48 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4150] Re4:選択範囲置換で行連結すると選択状態が解除される
お疲れ様です。
まだあまり試せていないのですが、気がついたところだけ報告します。
------------
1998-2001
2000-2001
------------
の先頭から2行目の2000までを選択し、
\n -> abc
とした場合に、
------------
1998-2001
abc2000-2001
------------
2行目のabc2までしか選択が残らないようです。

2005/11/19 (土) 22:52:51 かろと  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
[4151] Re5:選択範囲置換で行連結すると選択状態が解除される
▼ 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

2005/11/26 (土) 14:51:36 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4166] Re6:選択範囲置換で行連結すると選択状態が解除される
\r\n改行に対して、
選択前:\n
選択後:(空または任意文字列)
選択始点挿入
で「すべて置換」したときに無限に置換が行われるように
なってしまっているようです。
この際、余分に半角スペースも挿入されている感じです。

2005/11/26 (土) 15:39:30 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4168] Re7:選択範囲置換で行連結すると選択状態が解除される
すいません。
誤って現行バージョン(1.5.8.0)のほうを動かしていたみたいです。
[4166]の報告は無視してください。m(__)m

2005/11/26 (土) 22:22:32 ryoji  
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
[4170] Re6:選択範囲置換で行連結すると選択状態が解除される
▼ かろとさん
> 実行形式:(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かな、とσ(^^;

2005/11/27 (日) 23:59:21 かろと  
INCM1.23a
[4178] Re7:選択範囲置換で行連結すると選択状態が解除される
>発言者: ryoji
>返事が遅れてすいませんでした。
>ようやく確認できました。(^^;
>この修正で、今回の選択状態関連、および
>>>dev:4059 「\r」が「\r\n」にマッチする件
>の一連の課題はクリアされているように思います。
>対処ありがとうございます。


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

INCM/CMT
Cyclamen v3.81
[ut:0.020][st:0.010]