[__GO32__]: Include <pc.h>.
Declare _rl_redisplay_after_sigwinch. [__DJGPP__]: Don't declare term_buffer and term_string_buffer (they are unused.) (_rl_get_screen_size) [__DJGPP__]: Call ScreenRows and ScreenCols. (_rl_init_terminal_io) [__GO32__]: Don't call them here. Instead, call _rl_get_screen_size. Set terminal_name. Return 0, to be consistent with the function's declaration. (ding) [__GO32__]: Support visual bell by calling ScreenVisualBell.
This commit is contained in:
parent
a66f60a2b1
commit
8f2eba6efa
1 changed files with 36 additions and 15 deletions
|
@ -57,6 +57,10 @@
|
|||
# include <sys/ioctl.h>
|
||||
#endif /* GWINSZ_IN_SYS_IOCTL && !TIOCGWINSZ */
|
||||
|
||||
#if defined (__GO32__)
|
||||
# include <pc.h>
|
||||
#endif
|
||||
|
||||
#include "rltty.h"
|
||||
#include "tcap.h"
|
||||
|
||||
|
@ -77,19 +81,24 @@ extern void _rl_bind_if_unbound ();
|
|||
extern void set_lines_and_columns ();
|
||||
extern char *get_env_value ();
|
||||
|
||||
/* Functions imported from display.c */
|
||||
extern void _rl_redisplay_after_sigwinch ();
|
||||
|
||||
/* **************************************************************** */
|
||||
/* */
|
||||
/* Terminal and Termcap */
|
||||
/* */
|
||||
/* **************************************************************** */
|
||||
|
||||
#ifndef __DJGPP__
|
||||
static char *term_buffer = (char *)NULL;
|
||||
static char *term_string_buffer = (char *)NULL;
|
||||
|
||||
static int tcap_initialized;
|
||||
|
||||
/* Non-zero means this terminal can't really do anything. */
|
||||
static int dumb_term;
|
||||
#endif
|
||||
|
||||
static int tcap_initialized;
|
||||
|
||||
#if !defined (__linux__)
|
||||
# if defined (__EMX__) || defined (NEED_EXTERN_PC)
|
||||
|
@ -186,7 +195,11 @@ _rl_get_screen_size (tty, ignore_env)
|
|||
if (ignore_env == 0 && (ss = get_env_value ("COLUMNS")))
|
||||
screenwidth = atoi (ss);
|
||||
|
||||
#if !defined(__DJGPP__)
|
||||
#if defined(__DJGPP__)
|
||||
tty = tty;
|
||||
if (screenwidth <= 0)
|
||||
screenwidth = ScreenCols ();
|
||||
#else
|
||||
if (screenwidth <= 0 && term_string_buffer)
|
||||
screenwidth = tgetnum ("co");
|
||||
#endif
|
||||
|
@ -199,7 +212,10 @@ _rl_get_screen_size (tty, ignore_env)
|
|||
if (ignore_env == 0 && (ss = get_env_value ("LINES")))
|
||||
screenheight = atoi (ss);
|
||||
|
||||
#if !defined(__DJGPP__)
|
||||
#if defined(__DJGPP__)
|
||||
if (screenheight <= 0)
|
||||
screenheight = ScreenRows ();
|
||||
#else
|
||||
if (screenheight <= 0 && term_string_buffer)
|
||||
screenheight = tgetnum ("li");
|
||||
#endif
|
||||
|
@ -291,7 +307,9 @@ static void
|
|||
get_term_capabilities (bp)
|
||||
char **bp;
|
||||
{
|
||||
#if !defined(__DJGPP__)
|
||||
#if defined(__DJGPP__)
|
||||
bp = bp;
|
||||
#else
|
||||
register int i;
|
||||
|
||||
for (i = 0; i < NUM_TC_STRINGS; i++)
|
||||
|
@ -305,9 +323,10 @@ _rl_init_terminal_io (terminal_name)
|
|||
char *terminal_name;
|
||||
{
|
||||
#if defined (__GO32__)
|
||||
screenwidth = ScreenCols ();
|
||||
screenheight = ScreenRows ();
|
||||
screenchars = screenwidth * screenheight;
|
||||
terminal_name = terminal_name;
|
||||
screenwidth = screenheight = 0;
|
||||
_rl_get_screen_size (rl_instream ? fileno (rl_instream) : 0, 0);
|
||||
|
||||
term_cr = "\r";
|
||||
term_im = term_ei = term_ic = term_IC = (char *)NULL;
|
||||
term_up = term_dc = term_DC = visible_bell = (char *)NULL;
|
||||
|
@ -323,7 +342,7 @@ _rl_init_terminal_io (terminal_name)
|
|||
term_forward_char = (char *)NULL;
|
||||
#endif /* HACK_TERMCAP_MOTION */
|
||||
terminal_can_insert = _rl_term_autowrap = 0;
|
||||
return;
|
||||
return 0;
|
||||
#else /* !__GO32__ */
|
||||
|
||||
char *term, *buffer;
|
||||
|
@ -510,28 +529,28 @@ ding ()
|
|||
{
|
||||
if (readline_echoing_p)
|
||||
{
|
||||
#if !defined (__GO32__)
|
||||
switch (_rl_bell_preference)
|
||||
{
|
||||
case NO_BELL:
|
||||
default:
|
||||
break;
|
||||
case VISIBLE_BELL:
|
||||
#if defined (__GO32__)
|
||||
ScreenVisualBell ();
|
||||
break;
|
||||
#else
|
||||
if (visible_bell)
|
||||
{
|
||||
tputs (visible_bell, 1, _rl_output_character_function);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
/* FALLTHROUGH */
|
||||
case AUDIBLE_BELL:
|
||||
fprintf (stderr, "\007");
|
||||
fflush (stderr);
|
||||
break;
|
||||
}
|
||||
#else /* __GO32__ */
|
||||
fprintf (stderr, "\007");
|
||||
fflush (stderr);
|
||||
#endif /* __GO32__ */
|
||||
return (0);
|
||||
}
|
||||
return (-1);
|
||||
|
@ -556,7 +575,9 @@ void
|
|||
_rl_control_keypad (on)
|
||||
int on;
|
||||
{
|
||||
#if !defined(__DJGPP__)
|
||||
#if defined(__DJGPP__)
|
||||
on = on;
|
||||
#else
|
||||
if (on && term_ks)
|
||||
tputs (term_ks, 1, _rl_output_character_function);
|
||||
else if (!on && term_ke)
|
||||
|
|
Loading…
Reference in a new issue