summaryrefslogtreecommitdiff
path: root/readline
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2000-03-15 11:41:26 +0000
committerEli Zaretskii <eliz@gnu.org>2000-03-15 11:41:26 +0000
commit44e17056ec76c28bd6a756c8c45d59924847b128 (patch)
tree6381432f13ca26b2459a574bafdb2acc4a302bb2 /readline
parent84fa01df0b1c267b80cde777acfb4505f9e4040d (diff)
downloadgdb-44e17056ec76c28bd6a756c8c45d59924847b128.tar.gz
(_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.
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 3f6fe71b023..3215a94cd1b 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