◀ANSI版開発トップへ
  • 3521 有効なカーソル位置の謎
    • 3547 Re: 有効なカーソル位置の謎
  • [3521] 有効なカーソル位置の謎 もか 2004年04月03日 00:28


    あと、有効なカーソル位置ってどの範囲なのか、いまいちわかりません。
    私が認識している動作は、フリーカーソルモードか、矩形選択中・終了後の位置としてEOFにまつわる位置だけに絞っても、
    1. [EOF]だけの行(データの終端は改行)は行頭以外却下。
    2. [EOF]だけのレイアウト行(データの終端は普通の文字)は行頭以外却下。
    不思議なのは、レイアウト折り返し時はインデントされないし、カーソル座標表示も変かも。。
    3. 普通の文字の後ろについた[EOF]より後ろ(正確には右側かつウィンドウ折り返し線より左側)は有効。
    で次の行(EOFマークの次の行だから存在していない行)は不正。

    あと、矩形選択で、折り返し位置にカーソルを移動しようとしても、行頭に飛ばされてしまって、最後の1文字が選択できません。
    ただし、EOFの表示のみ折り返される場合は、選択できてしまいます。
    選択できるようにすると、今度は、論理座標との双方向変換の1対1対応が保証されなくなるので、たぶんこまります。

    おそらく関係各記事
    >>2473 EOFで落ちる
    >>2718 EOFで行削除した後のカーソル位置について
    >>3239 EOF行の行番号と、空データ論理行
    >>3509 修正中のパッチ ←これ上記2.の考慮が抜けてます
    • [3547] Re: 有効なカーソル位置の謎 もか 2004年04月25日 00:28

      >あと、矩形選択で、折り返し位置にカーソルを移動しようとしても、行頭に飛ばされてしまって、最後の1文字が選択できません。
      >ただし、EOFの表示のみ折り返される場合は、選択できてしまいます。
      >選択できるようにすると、今度は、論理座標との双方向変換の1対1対応が保証されなくなるので、たぶんこまります。
      行選択しようとすると、折り返される直前の文字が含まれません。
      マウスで選択する場合も、最後の文字の右半分の位置にマウスカーソルがあれば選択できるのですが、文字より右だと最後の文字だけ選択されません。

      メモ帳とかの動作を見ると、折り返し行の右側は、有効な位置なのが普通みたいです。