summaryrefslogtreecommitdiff
path: root/src/fringe.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2010-04-10 19:28:30 +0300
committerEli Zaretskii <eliz@gnu.org>2010-04-10 19:28:30 +0300
commitf951a50681995aa58a427f0be801c682df6e5baa (patch)
tree69f31a04e8f3ad5bd98b15703999200332ebc718 /src/fringe.c
parent2204f4de61e2b10832e13748f36d705854f7bd56 (diff)
downloademacs-f951a50681995aa58a427f0be801c682df6e5baa.tar.gz
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.
Diffstat (limited to 'src/fringe.c')
-rw-r--r--src/fringe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/fringe.c b/src/fringe.c
index 952e95a5517..335dde03c8a 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -825,7 +825,7 @@ draw_fringe_bitmap (w, row, left_p)
{
int overlay = 0;
- if (!left_p && row->cursor_in_fringe_p)
+ if (left_p == row->reversed_p && row->cursor_in_fringe_p)
{
Lisp_Object cursor = Qnil;
@@ -857,7 +857,7 @@ draw_fringe_bitmap (w, row, left_p)
int bm = get_logical_cursor_bitmap (w, cursor);
if (bm != NO_FRINGE_BITMAP)
{
- draw_fringe_bitmap_1 (w, row, 0, 2, bm);
+ draw_fringe_bitmap_1 (w, row, left_p, 2, bm);
overlay = EQ (cursor, Qbox) ? 3 : 1;
}
}