summaryrefslogtreecommitdiff
path: root/lib/readline/terminal.c
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2020-11-03 14:36:06 -0500
committerChet Ramey <chet.ramey@case.edu>2020-11-03 14:36:06 -0500
commit278db80c368700ed6117fbd390c89a9b44c0240c (patch)
treefbb2773da6da4b7b8d0516731e3b6d31c4ff8c53 /lib/readline/terminal.c
parent5f2b5d79e0c0dd8f29e1d8e798675e33afbeda37 (diff)
downloadbash-278db80c368700ed6117fbd390c89a9b44c0240c.tar.gz
Bash-5.1-rc2 releasebash-5.1-rc2
Diffstat (limited to 'lib/readline/terminal.c')
-rw-r--r--lib/readline/terminal.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/readline/terminal.c b/lib/readline/terminal.c
index 41b6f194..05415dc4 100644
--- a/lib/readline/terminal.c
+++ b/lib/readline/terminal.c
@@ -456,7 +456,7 @@ _rl_init_terminal_io (const char *terminal_name)
{
const char *term;
char *buffer;
- int tty, tgetent_ret;
+ int tty, tgetent_ret, dumbterm;
term = terminal_name ? terminal_name : sh_get_env_value ("TERM");
_rl_term_clrpag = _rl_term_cr = _rl_term_clreol = _rl_term_clrscroll = (char *)NULL;
@@ -465,6 +465,8 @@ _rl_init_terminal_io (const char *terminal_name)
if (term == 0)
term = "dumb";
+ dumbterm = STREQ (term, "dumb");
+
#ifdef __MSDOS__
_rl_term_im = _rl_term_ei = _rl_term_ic = _rl_term_IC = (char *)NULL;
_rl_term_up = _rl_term_dc = _rl_term_DC = _rl_visible_bell = (char *)NULL;
@@ -544,6 +546,10 @@ _rl_init_terminal_io (const char *terminal_name)
_rl_term_so = _rl_term_se = (char *)NULL;
_rl_terminal_can_insert = term_has_meta = 0;
+ /* Assume generic unknown terminal can't handle the enable/disable
+ escape sequences */
+ _rl_enable_bracketed_paste = 0;
+
/* Reasonable defaults for tgoto(). Readline currently only uses
tgoto if _rl_term_IC or _rl_term_DC is defined, but just in case we
change that later... */
@@ -595,6 +601,11 @@ _rl_init_terminal_io (const char *terminal_name)
bind_termcap_arrow_keys (vi_insertion_keymap);
#endif /* VI_MODE */
+ /* There's no way to determine whether or not a given terminal supports
+ bracketed paste mode, so we assume a terminal named "dumb" does not. */
+ if (dumbterm)
+ _rl_enable_bracketed_paste = 0;
+
return 0;
}