以下のマクロにて折り返しで表示している行を選択すると右端の1文字が選択されません。
S_GoLineTop(1);
S_GoLineEnd_Sel();
(NG) 折り返された行
(OK) 改行のある行
(OK) [EOF]のある行
Command_GOLINEEND()を下記のように修正すると問題が無くなると思います。
ただし、SJIS,CRLF改行でしか確認していません。
== ここから ==
--- sakura_core\CEditView_Command.cpp.orig Sun Oct 07 02:33:08 2007
+++ sakura_core\CEditView_Command.cpp Mon Oct 08 14:53:28 2007
@@ -1288,21 +1288,11 @@
while( !it.end() ){
it.scanNext();
if ( it.getIndex() + it.getIndexDelta() > pcLayout->GetLengthWithoutEOL() ){
- nPosX += it.getColumnDelta();
break;
}
it.addDelta();
}
- nPosX += it.getColumn() - it.getColumnDelta();
- if( it.getIndex() >= (pcLayout ? pcLayout->GetLengthWithEOL() : 0) ){
- if( m_nCaretPosY + 1 == m_pcEditDoc->m_cLayoutMgr.GetLineCount() ){
- /* 改行で終わっているか */
- if( EOL_NONE != pcLayout->m_cEol ){
- }else{
- nPosX += it.getColumnDelta();
- }
- }
- }
+ nPosX += it.getColumn();
MoveCursor( nPosX, m_nCaretPosY, TRUE );
m_nCaretPosX_Prev = m_nCaretPosX;
== ここまで ==