Lines Matching refs:el

474 tty_getty(EditLine *el, struct termios *t)  in tty_getty()  argument
477 while ((rv = tcgetattr(el->el_infd, t)) == -1 && errno == EINTR) in tty_getty()
486 tty_setty(EditLine *el, int action, const struct termios *t) in tty_setty() argument
489 while ((rv = tcsetattr(el->el_infd, action, t)) == -1 && errno == EINTR) in tty_setty()
498 tty_setup(EditLine *el) in tty_setup() argument
500 int rst = (el->el_flags & NO_RESET) == 0; in tty_setup()
502 if (el->el_flags & EDIT_DISABLED) in tty_setup()
505 if (el->el_tty.t_initialized) in tty_setup()
508 if (!isatty(el->el_outfd)) { in tty_setup()
510 (void) fprintf(el->el_errfile, "%s: isatty: %s\n", __func__, in tty_setup()
515 if (tty_getty(el, &el->el_tty.t_or) == -1) { in tty_setup()
517 (void) fprintf(el->el_errfile, "%s: tty_getty: %s\n", __func__, in tty_setup()
522 el->el_tty.t_ts = el->el_tty.t_ex = el->el_tty.t_ed = el->el_tty.t_or; in tty_setup()
524 el->el_tty.t_speed = tty__getspeed(&el->el_tty.t_ex); in tty_setup()
525 el->el_tty.t_tabs = tty__gettabs(&el->el_tty.t_ex); in tty_setup()
526 el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ex); in tty_setup()
528 tty_setup_flags(el, &el->el_tty.t_ex, EX_IO); in tty_setup()
535 if (tty__cooked_mode(&el->el_tty.t_ts)) { in tty_setup()
536 tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]); in tty_setup()
541 if (el->el_tty.t_c[TS_IO][rst] != in tty_setup()
542 el->el_tty.t_vdisable in tty_setup()
543 && el->el_tty.t_c[ED_IO][rst] != in tty_setup()
544 el->el_tty.t_vdisable) in tty_setup()
545 el->el_tty.t_c[ED_IO][rst] = in tty_setup()
546 el->el_tty.t_c[TS_IO][rst]; in tty_setup()
548 if (el->el_tty.t_c[TS_IO][rst] != in tty_setup()
549 el->el_tty.t_vdisable) in tty_setup()
550 el->el_tty.t_c[EX_IO][rst] = in tty_setup()
551 el->el_tty.t_c[TS_IO][rst]; in tty_setup()
553 tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]); in tty_setup()
554 if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ex) == -1) { in tty_setup()
556 (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", in tty_setup()
563 tty_setup_flags(el, &el->el_tty.t_ed, ED_IO); in tty_setup()
565 tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); in tty_setup()
566 tty_bind_char(el, 1); in tty_setup()
567 el->el_tty.t_initialized = 1; in tty_setup()
572 tty_init(EditLine *el) in tty_init() argument
575 el->el_tty.t_mode = EX_IO; in tty_init()
576 el->el_tty.t_vdisable = _POSIX_VDISABLE; in tty_init()
577 el->el_tty.t_initialized = 0; in tty_init()
578 (void) memcpy(el->el_tty.t_t, ttyperm, sizeof(ttyperm_t)); in tty_init()
579 (void) memcpy(el->el_tty.t_c, ttychar, sizeof(ttychar_t)); in tty_init()
580 return tty_setup(el); in tty_init()
589 tty_end(EditLine *el, int how) in tty_end() argument
591 if (el->el_flags & EDIT_DISABLED) in tty_end()
594 if (!el->el_tty.t_initialized) in tty_end()
597 if (tty_setty(el, how, &el->el_tty.t_or) == -1) in tty_end()
600 (void) fprintf(el->el_errfile, in tty_end()
896 tty_bind_char(EditLine *el, int force) in tty_bind_char() argument
899 unsigned char *t_n = el->el_tty.t_c[ED_IO]; in tty_bind_char()
900 unsigned char *t_o = el->el_tty.t_ed.c_cc; in tty_bind_char()
907 map = el->el_map.key; in tty_bind_char()
908 alt = el->el_map.alt; in tty_bind_char()
909 if (el->el_map.type == MAP_VI) { in tty_bind_char()
910 dmap = el->el_map.vii; in tty_bind_char()
911 dalt = el->el_map.vic; in tty_bind_char()
913 dmap = el->el_map.emacs; in tty_bind_char()
923 keymacro_clear(el, map, old); in tty_bind_char()
925 keymacro_clear(el, map, new); in tty_bind_char()
927 map[(unsigned char)new[0]] = tp->bind[el->el_map.type]; in tty_bind_char()
929 keymacro_clear(el, alt, old); in tty_bind_char()
932 keymacro_clear(el, alt, new); in tty_bind_char()
934 tp->bind[el->el_map.type + 1]; in tty_bind_char()
959 tty_update_flag(EditLine *el, tcflag_t f, int mode, int kind) in tty_update_flag() argument
961 f &= ~el->el_tty.t_t[mode][kind].t_clrmask; in tty_update_flag()
962 f |= el->el_tty.t_t[mode][kind].t_setmask; in tty_update_flag()
968 tty_update_flags(EditLine *el, int kind) in tty_update_flags() argument
971 tt = tty__get_flag(&el->el_tty.t_ts, kind); in tty_update_flags()
972 ed = tty__get_flag(&el->el_tty.t_ed, kind); in tty_update_flags()
973 ex = tty__get_flag(&el->el_tty.t_ex, kind); in tty_update_flags()
976 *ed = tty_update_flag(el, *tt, ED_IO, kind); in tty_update_flags()
977 *ex = tty_update_flag(el, *tt, EX_IO, kind); in tty_update_flags()
983 tty_update_char(EditLine *el, int mode, int c) { in tty_update_char() argument
984 if (!((el->el_tty.t_t[mode][MD_CHAR].t_setmask & C_SH(c))) in tty_update_char()
985 && (el->el_tty.t_c[TS_IO][c] != el->el_tty.t_c[EX_IO][c])) in tty_update_char()
986 el->el_tty.t_c[mode][c] = el->el_tty.t_c[TS_IO][c]; in tty_update_char()
987 if (el->el_tty.t_t[mode][MD_CHAR].t_clrmask & C_SH(c)) in tty_update_char()
988 el->el_tty.t_c[mode][c] = el->el_tty.t_vdisable; in tty_update_char()
996 tty_rawmode(EditLine *el) in tty_rawmode() argument
999 if (el->el_tty.t_mode == ED_IO || el->el_tty.t_mode == QU_IO) in tty_rawmode()
1002 if (el->el_flags & EDIT_DISABLED) in tty_rawmode()
1005 if (tty_getty(el, &el->el_tty.t_ts) == -1) { in tty_rawmode()
1007 (void) fprintf(el->el_errfile, "%s: tty_getty: %s\n", __func__, in tty_rawmode()
1016 el->el_tty.t_eight = tty__geteightbit(&el->el_tty.t_ts); in tty_rawmode()
1017 el->el_tty.t_speed = tty__getspeed(&el->el_tty.t_ts); in tty_rawmode()
1019 if (tty__getspeed(&el->el_tty.t_ex) != el->el_tty.t_speed || in tty_rawmode()
1020 tty__getspeed(&el->el_tty.t_ed) != el->el_tty.t_speed) { in tty_rawmode()
1021 (void) cfsetispeed(&el->el_tty.t_ex, el->el_tty.t_speed); in tty_rawmode()
1022 (void) cfsetospeed(&el->el_tty.t_ex, el->el_tty.t_speed); in tty_rawmode()
1023 (void) cfsetispeed(&el->el_tty.t_ed, el->el_tty.t_speed); in tty_rawmode()
1024 (void) cfsetospeed(&el->el_tty.t_ed, el->el_tty.t_speed); in tty_rawmode()
1026 if (tty__cooked_mode(&el->el_tty.t_ts)) { in tty_rawmode()
1030 tty_update_flags(el, i); in tty_rawmode()
1032 if (tty__gettabs(&el->el_tty.t_ex) == 0) in tty_rawmode()
1033 el->el_tty.t_tabs = 0; in tty_rawmode()
1035 el->el_tty.t_tabs = EL_CAN_TAB ? 1 : 0; in tty_rawmode()
1037 tty__getchar(&el->el_tty.t_ts, el->el_tty.t_c[TS_IO]); in tty_rawmode()
1044 if (el->el_tty.t_c[TS_IO][i] != in tty_rawmode()
1045 el->el_tty.t_c[EX_IO][i]) in tty_rawmode()
1054 tty_update_char(el, ED_IO, i); in tty_rawmode()
1056 tty_bind_char(el, 0); in tty_rawmode()
1057 tty__setchar(&el->el_tty.t_ed, el->el_tty.t_c[ED_IO]); in tty_rawmode()
1060 tty_update_char(el, EX_IO, i); in tty_rawmode()
1062 tty__setchar(&el->el_tty.t_ex, el->el_tty.t_c[EX_IO]); in tty_rawmode()
1065 if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) { in tty_rawmode()
1067 (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, in tty_rawmode()
1072 el->el_tty.t_mode = ED_IO; in tty_rawmode()
1081 tty_cookedmode(EditLine *el) in tty_cookedmode() argument
1084 if (el->el_tty.t_mode == EX_IO) in tty_cookedmode()
1087 if (el->el_flags & EDIT_DISABLED) in tty_cookedmode()
1090 if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ex) == -1) { in tty_cookedmode()
1092 (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, in tty_cookedmode()
1097 el->el_tty.t_mode = EX_IO; in tty_cookedmode()
1106 tty_quotemode(EditLine *el) in tty_quotemode() argument
1108 if (el->el_tty.t_mode == QU_IO) in tty_quotemode()
1111 el->el_tty.t_qu = el->el_tty.t_ed; in tty_quotemode()
1113 tty_setup_flags(el, &el->el_tty.t_qu, QU_IO); in tty_quotemode()
1115 if (tty_setty(el, TCSADRAIN, &el->el_tty.t_qu) == -1) { in tty_quotemode()
1117 (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, in tty_quotemode()
1122 el->el_tty.t_mode = QU_IO; in tty_quotemode()
1131 tty_noquotemode(EditLine *el) in tty_noquotemode() argument
1134 if (el->el_tty.t_mode != QU_IO) in tty_noquotemode()
1136 if (tty_setty(el, TCSADRAIN, &el->el_tty.t_ed) == -1) { in tty_noquotemode()
1138 (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", __func__, in tty_noquotemode()
1143 el->el_tty.t_mode = ED_IO; in tty_noquotemode()
1153 tty_stty(EditLine *el, int argc __attribute__((__unused__)), in tty_stty() argument
1161 struct termios *tios = &el->el_tty.t_ex; in tty_stty()
1166 strlcpy(name, ct_encode_string(*argv++, &el->el_scratch), sizeof(name)); in tty_stty()
1176 tios = &el->el_tty.t_ed; in tty_stty()
1181 tios = &el->el_tty.t_ex; in tty_stty()
1186 tios = &el->el_tty.t_ts; in tty_stty()
1190 (void) fprintf(el->el_errfile, in tty_stty()
1201 (void) fprintf(el->el_outfile, "%s%s", in tty_stty()
1203 el->el_tty.t_t[z][m->m_type].t_name); in tty_stty()
1206 strlen(el->el_tty.t_t[z][m->m_type].t_name); in tty_stty()
1209 x = (el->el_tty.t_t[z][i].t_setmask & m->m_value) in tty_stty()
1212 if (el->el_tty.t_t[z][i].t_clrmask & m->m_value) in tty_stty()
1223 (size_t)el->el_terminal.t_size.h) { in tty_stty()
1224 (void) fprintf(el->el_outfile, "\n%*s", in tty_stty()
1231 (void) fprintf(el->el_outfile, "%c%s ", in tty_stty()
1234 (void) fprintf(el->el_outfile, "%s ", in tty_stty()
1238 (void) fprintf(el->el_outfile, "\n"); in tty_stty()
1256 &el->el_scratch), (size_t)(p - d)) : in tty_stty()
1258 &el->el_scratch))) == 0 && in tty_stty()
1263 (void) fprintf(el->el_errfile, in tty_stty()
1270 el->el_tty.t_vdisable; in tty_stty()
1280 el->el_tty.t_t[z][m->m_type].t_setmask |= m->m_value; in tty_stty()
1281 el->el_tty.t_t[z][m->m_type].t_clrmask &= ~m->m_value; in tty_stty()
1284 el->el_tty.t_t[z][m->m_type].t_setmask &= ~m->m_value; in tty_stty()
1285 el->el_tty.t_t[z][m->m_type].t_clrmask |= m->m_value; in tty_stty()
1288 el->el_tty.t_t[z][m->m_type].t_setmask &= ~m->m_value; in tty_stty()
1289 el->el_tty.t_t[z][m->m_type].t_clrmask &= ~m->m_value; in tty_stty()
1294 tty_setup_flags(el, tios, z); in tty_stty()
1295 if (el->el_tty.t_mode == z) { in tty_stty()
1296 if (tty_setty(el, TCSADRAIN, tios) == -1) { in tty_stty()
1298 (void) fprintf(el->el_errfile, "%s: tty_setty: %s\n", in tty_stty()
1314 tty_printchar(EditLine *el, unsigned char *s) in tty_printchar() argument
1320 for (m = el->el_tty.t_t; m->m_name; m++) in tty_printchar()
1324 (void) fprintf(el->el_errfile, "%s ^%c ", in tty_printchar()
1327 (void) fprintf(el->el_errfile, "\n"); in tty_printchar()
1329 (void) fprintf(el->el_errfile, "\n"); in tty_printchar()
1335 tty_setup_flags(EditLine *el, struct termios *tios, int mode) in tty_setup_flags() argument
1340 *f = tty_update_flag(el, *f, mode, kind); in tty_setup_flags()
1345 tty_get_signal_character(EditLine *el, int sig) in tty_get_signal_character() argument
1348 tcflag_t *ed = tty__get_flag(&el->el_tty.t_ed, MD_INP); in tty_get_signal_character()
1355 return el->el_tty.t_c[ED_IO][VINTR]; in tty_get_signal_character()
1359 return el->el_tty.t_c[ED_IO][VQUIT]; in tty_get_signal_character()
1363 return el->el_tty.t_c[ED_IO][VSTATUS]; in tty_get_signal_character()
1367 return el->el_tty.t_c[ED_IO][VSUSP]; in tty_get_signal_character()