aboutsummaryrefslogtreecommitdiff
path: root/readline
diff options
context:
space:
mode:
Diffstat (limited to 'readline')
-rw-r--r--readline/display.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/readline/display.c b/readline/display.c
index 3f6fe71..3215a94 100644
--- a/readline/display.c
+++ b/readline/display.c
@@ -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