(update_text_area): Set phys_cursor_on_p to 0 in the
authorGerd Moellmann <gerd@gnu.org>
Wed, 24 Apr 2002 17:06:09 +0000 (17:06 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 24 Apr 2002 17:06:09 +0000 (17:06 +0000)
case of writing a whole row, more or less analogous to the case of
writing only parts of a row.

src/ChangeLog
src/dispnew.c

index b5dabee..7e28431 100644 (file)
@@ -1,5 +1,12 @@
 2002-04-24  Gerd Moellmann  <gerd@gnu.org>
 
+       * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
+       case of writing a whole row, more or less analogous to the case of
+       writing only parts of a row.
+
+       * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
+       0 for NO_CURSOR.
+       
        * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
 
 2002-04-23  Colin Walters  <walters@verbum.org>
index be07517..f19f111 100644 (file)
@@ -4267,6 +4267,16 @@ update_text_area (w, vpos)
       /* Clear to end of window.  */
       rif->clear_end_of_line (-1);
       changed_p = 1;
+
+      /* This erases the cursor.  We do this here because
+         notice_overwritten_cursor cannot easily check this, which
+         might indicate that the whole functionality of
+         notice_overwritten_cursor would better be implemented here.
+         On the other hand, we need notice_overwritten_cursor as long
+         as mouse highlighting is done asynchronously outside of
+         redisplay.  */
+      if (vpos == w->phys_cursor.vpos)
+       w->phys_cursor_on_p = 0;
     }
   else
     {