20000-05-19 H.J. Lu (hjl@gnu.org)
[binutils-gdb.git] / readline / display.c
index 3f6fe71b023403c2498372d8fd68f74d90c37dc9..3215a94cd1bb44a2fda70504071cbec0a63af91e 100644 (file)
@@ -1126,8 +1126,10 @@ _rl_move_vert (to)
   {
     int row, col;
 
+    i = fflush (rl_outstream); /* make sure the cursor pos is current! */
     ScreenGetCursor (&row, &col);
     ScreenSetCursor ((row + to - _rl_last_v_pos), col);
+    delta = i;
   }
 #else /* !__GO32__ */
 
@@ -1377,7 +1379,10 @@ space_to_eol (count)
 void
 _rl_clear_screen ()
 {
-#if !defined (__GO32__)
+#if defined (__GO32__)
+  ScreenClear ();      /* FIXME: only works in text modes */
+  ScreenSetCursor (0, 0);  /* term_clrpag is "cl" which homes the cursor */
+#else
   if (term_clrpag)
     tputs (term_clrpag, 1, _rl_output_character_function);
   else
@@ -1392,6 +1397,7 @@ insert_some_chars (string, count)
      int count;
 {
 #if defined (__GO32__)
+#ifndef __DJGPP__
   int row, col, width;
   char *row_start;
 
@@ -1400,7 +1406,7 @@ insert_some_chars (string, count)
   row_start = ScreenPrimary + (row * width);
 
   memcpy (row_start + col + count, row_start + col, width - col - count);
-
+#endif /* !__DJGPP__ */
   /* Place the text on the screen. */
   _rl_output_some_chars (string, count);
 #else /* !_GO32 */
@@ -1445,6 +1451,7 @@ static void
 delete_chars (count)
      int count;
 {
+#if !defined (__DJGPP__)
 #if defined (__GO32__)
   int row, col, width;
   char *row_start;
@@ -1473,6 +1480,7 @@ delete_chars (count)
          tputs (term_dc, 1, _rl_output_character_function);
     }
 #endif /* !__GO32__ */
+#endif /* !__DJGPP__ */
 }
 
 void