From bd0856513e8ff76014ea70e3d2cefefcf69111f6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 15 Mar 2000 11:41:26 +0000 Subject: [PATCH] (_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. --- readline/display.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/readline/display.c b/readline/display.c index 3f6fe71b02..3215a94cd1 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 -- 2.34.1