2006/7/10 (月) 22:31:41 tis  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[4511] 全て選択後、選択終了桁を取得すると 1が返る
バグらしき箇所を発見しましたので、ご報告致します。

内容は、全て選択後、選択終了桁を取得すると 1が返る、というものです。
マウスドラッグやカーソル移動では、意図した結果が返ってきます。

環境はこちら
SakuraEditor 1.5.10.1 (初回起動時の iniファイルを使用)
PPA 1.24


内容が不適切、板違い等ございましたら、削除致します。

2006/7/11 (火) 01:20:30 maru  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
[4512] Re:全て選択後、選択終了桁を取得すると 1が返る
▼ tisさん
> 内容は、全て選択後、選択終了桁を取得すると 1が返る、というものです。
> マウスドラッグやカーソル移動では、意図した結果が返ってきます。

最終行に改行が無いときとに
「すべて選択」をすると再現します。

2006/7/13 (木) 01:26:26 tis  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
[4516] Re2:全て選択後、選択終了桁を取得すると 1が返る
▼ maruさん
> 最終行に改行が無いときとに
> 「すべて選択」をすると再現します。


つまり、以下の文章のような、
最終行が空行で終わる形、ということでしょうか?

Line1[CrLf]
Line2[CrLf]
[EOF]

確かに上記の文章だと、範囲終了桁に 1が返るのも納得できます。
しかし、以下の文章のような、
最終行に文字入力があって終わる形でも 1が返ってきます。

Line1[CrLf]
Line2[EOF]

上記文章だと、範囲終了桁は 6が返るはずです。
マクロリファレンスを見る限りでは、
そのはずだと思うのですが、如何でしょうか?

2006/7/13 (木) 06:46:29 げんた  
INCM1.23c
[4517] Re3:全て選択後、選択終了桁を取得すると 1が返る
ソースコードを見ると,「すべて選択」では
SetSelectArea( 0, 0, m_pcEditDoc->m_cLayoutMgr.GetLineCount(), 0 );
と総行数+1を無条件で選択しています.
このように広めにとっても画面上では問題ないのでしょうが,マクロではこのとき指定したままの値が返ってしまいます.

「すべて選択」の末尾の判定を厳密に行わないとだめですね.

2006/7/29 (土) 12:53:18 げんた  
INCM1.23c
[4531] Re4:全て選択後、選択終了桁を取得すると 1が返る
>「すべて選択」の末尾の判定を厳密に行わないとだめですね.
Patches #1530740 にパッチを出しました.

Command_GOLINEEND()を参考にしたのですが,足したり引いたり奇妙なことをやっていてよくわかりませんでした.
なので,シンプルに最後の位置を求めるだけにしたので何か特別なケースが抜けているかもしれません.

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