diff options
author | Chet Ramey <chet.ramey@case.edu> | 2020-11-03 14:36:06 -0500 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2020-11-03 14:36:06 -0500 |
commit | 278db80c368700ed6117fbd390c89a9b44c0240c (patch) | |
tree | fbb2773da6da4b7b8d0516731e3b6d31c4ff8c53 /lib/readline/terminal.c | |
parent | 5f2b5d79e0c0dd8f29e1d8e798675e33afbeda37 (diff) | |
download | bash-278db80c368700ed6117fbd390c89a9b44c0240c.tar.gz |
Bash-5.1-rc2 releasebash-5.1-rc2
Diffstat (limited to 'lib/readline/terminal.c')
-rw-r--r-- | lib/readline/terminal.c | 13 |
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; } |