def rl_prep_terminal(meta_flag)
if no_terminal?
@readline_echoing_p = true
return
end
return if (@terminal_prepped)
block_sigint()
if (@_rl_bind_stty_chars)
if (@rl_editing_mode == @vi_mode)
rl_tty_unset_default_bindings(@vi_insertion_keymap)
else
rl_tty_unset_default_bindings(@_rl_keymap)
end
end
save_tty_chars()
rl_setstate(RL_STATE_TTYCSAVED)
if (@_rl_bind_stty_chars)
if (@rl_editing_mode == @vi_mode)
_rl_bind_tty_special_chars(@vi_insertion_keymap)
else
_rl_bind_tty_special_chars(@_rl_keymap)
end
end
prepare_terminal_settings(meta_flag)
if (@_rl_enable_keypad)
_rl_control_keypad(true)
end
@rl_outstream.flush
@terminal_prepped = true
rl_setstate(RL_STATE_TERMPREPPED)
release_sigint()
end