def rl_yank_nth_arg_internal(count, ignore, history_skip)
pos = where_history()
if (history_skip>0)
history_skip.times { previous_history() }
end
entry = previous_history()
history_set_pos(pos)
if entry.nil?
rl_ding()
return -1
end
arg = history_arg_extract(count, count, entry.line)
if (arg.nil? || arg=='')
rl_ding()
arg = nil
return -1
end
rl_begin_undo_group()
_rl_set_mark_at_pos(@rl_point)
if (@rl_editing_mode == @vi_mode)
rl_vi_append_mode(1, ignore)
rl_insert_text(" ")
end
rl_insert_text(arg)
arg = nil
rl_end_undo_group()
return 0
end