def _rl_isearch_fini(cxt)
@rl_line_buffer = cxt.lines[cxt.save_line].dup
rl_restore_prompt()
@last_isearch_string = cxt.search_string
@last_isearch_string_len = cxt.search_string_index
cxt.search_string = nil
if (cxt.last_found_line < cxt.save_line)
rl_get_previous_history(cxt.save_line - cxt.last_found_line, 0)
else
rl_get_next_history(cxt.last_found_line - cxt.save_line, 0)
end
if (cxt.sline_index < 0)
if (cxt.last_found_line == cxt.save_line)
cxt.sline_index = cxt.save_point
else
cxt.sline_index = @rl_line_buffer.delete(0.chr).length
end
@rl_mark = cxt.save_mark
end
@rl_point = cxt.sline_index
rl_clear_message()
end