Implement cursor on the left fringe for R2L lines.
authorEli Zaretskii <eliz@gnu.org>
Sat, 10 Apr 2010 16:28:30 +0000 (19:28 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 10 Apr 2010 16:28:30 +0000 (19:28 +0300)
commitf951a50681995aa58a427f0be801c682df6e5baa
tree69f31a04e8f3ad5bd98b15703999200332ebc718
parent2204f4de61e2b10832e13748f36d705854f7bd56
Implement cursor on the left fringe for R2L lines.

 xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): For R2L lines,
 consider the left fringe, not the right one.
 (set_cursor_from_row): Don't reverse pos_before and pos_after for
 reversed glyph rows.  Set cursor.x to negative value when the
 cursor might be on the left fringe.
 (extend_face_to_end_of_line): Append the stretch glyph only if its
 width is positive.
 (notice_overwritten_cursor, draw_phys_cursor_glyph)
 (erase_phys_cursor): For reversed cursor_row, support cursor on
 the left fringe.
 w32term.c (w32_draw_window_cursor): For reversed glyph rows,
 draw cursor on the left fringe.
 xterm.c (x_draw_window_cursor): For reversed glyph rows, draw
 cursor on the left fringe.
 fringe.c (draw_fringe_bitmap): For reversed glyph rows, allow
 cursor on the left fringe.
 dispnew.c (update_text_area): Handle reversed desired rows when
 the cursor is on the left fringe.
 (set_window_cursor_after_update): Limit cursor's hpos by -1 from
 below, not by 0, for when the cursor is on the left fringe.
src/ChangeLog
src/dispnew.c
src/fringe.c
src/w32term.c
src/xdisp.c
src/xterm.c