emacs-devel
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]