version 1.146, 2018/01/01 22:32:46 |
version 1.146.2.2, 2018/12/26 14:01:27 |
|
|
char *rl_line_buffer = NULL; |
char *rl_line_buffer = NULL; |
rl_vcpfunc_t *rl_linefunc = NULL; |
rl_vcpfunc_t *rl_linefunc = NULL; |
int rl_done = 0; |
int rl_done = 0; |
VFunction *rl_event_hook = NULL; |
rl_hook_func_t *rl_event_hook = NULL; |
KEYMAP_ENTRY_ARRAY emacs_standard_keymap, |
KEYMAP_ENTRY_ARRAY emacs_standard_keymap, |
emacs_meta_keymap, |
emacs_meta_keymap, |
emacs_ctlx_keymap; |
emacs_ctlx_keymap; |
Line 429 readline(const char *p) |
|
Line 429 readline(const char *p) |
|
if (rl_pre_input_hook) |
if (rl_pre_input_hook) |
(*rl_pre_input_hook)(NULL, 0); |
(*rl_pre_input_hook)(NULL, 0); |
|
|
if (rl_event_hook && !(e->el_flags&NO_TTY)) { |
if (rl_event_hook && !(e->el_flags & NO_TTY)) { |
el_set(e, EL_GETCFN, _rl_event_read_char); |
el_set(e, EL_GETCFN, _rl_event_read_char); |
used_event_hook = 1; |
used_event_hook = 1; |
} |
} |
Line 2074 rl_callback_read_char(void) |
|
Line 2074 rl_callback_read_char(void) |
|
if (done && rl_linefunc != NULL) { |
if (done && rl_linefunc != NULL) { |
el_set(e, EL_UNBUFFERED, 0); |
el_set(e, EL_UNBUFFERED, 0); |
if (done == 2) { |
if (done == 2) { |
if ((wbuf = strdup(buf)) != NULL) |
if ((wbuf = strdup(buf)) != NULL) |
wbuf[count] = '\0'; |
wbuf[count] = '\0'; |
} else |
} else |
wbuf = NULL; |
wbuf = NULL; |
(*(void (*)(const char *))rl_linefunc)(wbuf); |
(*(void (*)(const char *))rl_linefunc)(wbuf); |
if (!rl_already_prompted) { |
el_set(e, EL_UNBUFFERED, 1); |
el_set(e, EL_UNBUFFERED, 1); |
|
rl_already_prompted = 1; |
|
} |
|
} |
} |
} |
} |
|
|
Line 2418 rl_resize_terminal(void) |
|
Line 2415 rl_resize_terminal(void) |
|
{ |
{ |
el_resize(e); |
el_resize(e); |
} |
} |
|
|
|
void |
|
rl_reset_after_signal(void) |
|
{ |
|
if (rl_prep_term_function) |
|
(*rl_prep_term_function)(); |
|
} |
|
|
|
void |
|
rl_echo_signal_char(int sig) |
|
{ |
|
int c = tty_get_signal_character(e, sig); |
|
if (c == -1) |
|
return; |
|
re_putc(e, c, 0); |
|
} |