(_rl_move_vert) [__GO32__]: fflush the stream, to make sure cursor position

is up-to-date.
(space_to_eol) [__GO32__]: Clear the screen and home the cursor.
(insert_some_chars) [__GO32__]: Don't write directly to the screen in DJGPP
versions 2.x (it doesn't work).
(delete_chars) [__GO32__]: Ditto.
This commit is contained in:
Eli Zaretskii 2000-03-15 11:41:26 +00:00
parent cd0040c11f
commit bd0856513e

View 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