def rl_transpose_chars(count, key)
return 0 if (count == 0)
if (@rl_point==0 || @rl_end < 2)
rl_ding()
return -1
end
rl_begin_undo_group()
if (@rl_point == @rl_end)
if !@rl_byte_oriented
@rl_point = _rl_find_prev_mbchar(@rl_line_buffer, @rl_point, MB_FIND_NONZERO)
else
@rl_point -= 1
end
count = 1
end
prev_point = @rl_point
if !@rl_byte_oriented
@rl_point = _rl_find_prev_mbchar(@rl_line_buffer, @rl_point, MB_FIND_NONZERO)
else
@rl_point -= 1
end
char_length = prev_point - @rl_point
dummy = @rl_line_buffer[@rl_point,char_length]
rl_delete_text(@rl_point, @rl_point + char_length)
@rl_point += count
_rl_fix_point(0)
rl_insert_text(dummy)
rl_end_undo_group()
dummy = nil
0
end