[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Two (or much more) cursors bug debugged (simple test case)
From: |
Gerd Moellmann |
Subject: |
Re: Two (or much more) cursors bug debugged (simple test case) |
Date: |
28 Nov 2001 14:14:46 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.1.30 |
Kenichi Handa <address@hidden> writes:
> Gerd, doesn't it ring a bell?
It did ring a bell with some delay. Could you please try this:
*** xterm.c 2001/11/28 12:54:38 1.688
--- xterm.c 2001/11/28 13:13:02
***************
*** 5186,5192 ****
for (s = head; s; s = s->next)
x_draw_glyph_string (s);
! if (area == TEXT_AREA && !row->full_width_p)
{
int x0 = head ? head->x : x;
int x1 = tail ? tail->x + tail->background_width : x;
--- 5186,5197 ----
for (s = head; s; s = s->next)
x_draw_glyph_string (s);
! if (area == TEXT_AREA
! && !row->full_width_p
! /* When drawing overlapping rows, only the glyph strings'
! foreground is drawn, which doesn't erase a cursor
! completely. */
! && !overlaps_p)
{
int x0 = head ? head->x : x;
int x1 = tail ? tail->x + tail->background_width : x;
***************
*** 5194,5200 ****
x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0);
x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1);
! if (!row->full_width_p && XFASTINT (w->left_margin_width) != 0)
{
int left_area_width = window_box_width (w, LEFT_MARGIN_AREA);
x0 -= left_area_width;
--- 5199,5205 ----
x0 = FRAME_TO_WINDOW_PIXEL_X (w, x0);
x1 = FRAME_TO_WINDOW_PIXEL_X (w, x1);
! if (XFASTINT (w->left_margin_width) != 0)
{
int left_area_width = window_box_width (w, LEFT_MARGIN_AREA);
x0 -= left_area_width;