(_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; int row, col;
i = fflush (rl_outstream); /* make sure the cursor pos is current! */
ScreenGetCursor (&row, &col); ScreenGetCursor (&row, &col);
ScreenSetCursor ((row + to - _rl_last_v_pos), col); ScreenSetCursor ((row + to - _rl_last_v_pos), col);
delta = i;
} }
#else /* !__GO32__ */ #else /* !__GO32__ */
@ -1377,7 +1379,10 @@ space_to_eol (count)
void void
_rl_clear_screen () _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) if (term_clrpag)
tputs (term_clrpag, 1, _rl_output_character_function); tputs (term_clrpag, 1, _rl_output_character_function);
else else
@ -1392,6 +1397,7 @@ insert_some_chars (string, count)
int count; int count;
{ {
#if defined (__GO32__) #if defined (__GO32__)
#ifndef __DJGPP__
int row, col, width; int row, col, width;
char *row_start; char *row_start;
@ -1400,7 +1406,7 @@ insert_some_chars (string, count)
row_start = ScreenPrimary + (row * width); row_start = ScreenPrimary + (row * width);
memcpy (row_start + col + count, row_start + col, width - col - count); memcpy (row_start + col + count, row_start + col, width - col - count);
#endif /* !__DJGPP__ */
/* Place the text on the screen. */ /* Place the text on the screen. */
_rl_output_some_chars (string, count); _rl_output_some_chars (string, count);
#else /* !_GO32 */ #else /* !_GO32 */
@ -1445,6 +1451,7 @@ static void
delete_chars (count) delete_chars (count)
int count; int count;
{ {
#if !defined (__DJGPP__)
#if defined (__GO32__) #if defined (__GO32__)
int row, col, width; int row, col, width;
char *row_start; char *row_start;
@ -1473,6 +1480,7 @@ delete_chars (count)
tputs (term_dc, 1, _rl_output_character_function); tputs (term_dc, 1, _rl_output_character_function);
} }
#endif /* !__GO32__ */ #endif /* !__GO32__ */
#endif /* !__DJGPP__ */
} }
void void