def _rl_rubout_char(count, key)
if (count < 0)
return (rl_delete(-count, key))
end
if (@rl_point == 0)
rl_ding()
return -1
end
orig_point = @rl_point
if (count > 1 || @rl_explicit_arg)
rl_backward_char(count, key)
rl_kill_text(orig_point, @rl_point)
elsif (@rl_byte_oriented)
c = @rl_line_buffer[@rl_point-=1,1]
rl_delete_text(@rl_point, orig_point)
if (@rl_point == @rl_end && isprint(c) && @_rl_last_c_pos!=0)
l = rl_character_len(c, @rl_point)
_rl_erase_at_end_of_line(l)
end
else
@rl_point = _rl_find_prev_mbchar(@rl_line_buffer, @rl_point, MB_FIND_NONZERO)
rl_delete_text(@rl_point, orig_point)
end
0
end