def bind_arrow_keys_internal(map)
xkeymap = @_rl_keymap
@_rl_keymap = map
if RUBY_PLATFORM =~ /mswin|mingw/
rl_bind_keyseq_if_unbound("\340H", :rl_get_previous_history)
rl_bind_keyseq_if_unbound("\340P", :rl_get_next_history)
rl_bind_keyseq_if_unbound("\340M", :rl_forward_char)
rl_bind_keyseq_if_unbound("\340K", :rl_backward_char)
rl_bind_keyseq_if_unbound("\340G", :rl_beg_of_line)
rl_bind_keyseq_if_unbound("\340O", :rl_end_of_line)
rl_bind_keyseq_if_unbound("\340s", :rl_backward_word)
rl_bind_keyseq_if_unbound("\340t", :rl_forward_word)
rl_bind_keyseq_if_unbound("\340S", :rl_delete)
rl_bind_keyseq_if_unbound("\340R", :rl_overwrite_mode)
else
rl_bind_keyseq_if_unbound("\033[A", :rl_get_previous_history)
rl_bind_keyseq_if_unbound("\033[B", :rl_get_next_history)
rl_bind_keyseq_if_unbound("\033[C", :rl_forward_char)
rl_bind_keyseq_if_unbound("\033[D", :rl_backward_char)
rl_bind_keyseq_if_unbound("\033[H", :rl_beg_of_line)
rl_bind_keyseq_if_unbound("\033[F", :rl_end_of_line)
rl_bind_keyseq_if_unbound("\033OA", :rl_get_previous_history)
rl_bind_keyseq_if_unbound("\033OB", :rl_get_next_history)
rl_bind_keyseq_if_unbound("\033OC", :rl_forward_char)
rl_bind_keyseq_if_unbound("\033OD", :rl_backward_char)
rl_bind_keyseq_if_unbound("\033OH", :rl_beg_of_line)
rl_bind_keyseq_if_unbound("\033OF", :rl_end_of_line)
end
@_rl_keymap = xkeymap
end