(_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:
parent
cd0040c11f
commit
bd0856513e
1 changed files with 10 additions and 2 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue