aboutsummaryrefslogtreecommitdiff
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
commitbd0856513e8ff76014ea70e3d2cefefcf69111f6 (patch)
tree9b85f721ea5cf51b2d26d5918d5c1f79a7f927dc /readline
parentcd0040c11f57567dc452ce86dd209e2d3bc2ab36 (diff)
downloadfsf-binutils-gdb-bd0856513e8ff76014ea70e3d2cefefcf69111f6.zip
fsf-binutils-gdb-bd0856513e8ff76014ea70e3d2cefefcf69111f6.tar.gz
fsf-binutils-gdb-bd0856513e8ff76014ea70e3d2cefefcf69111f6.tar.bz2
(_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 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