module Byebug::FrameFunctions
def navigate_to_frame(jump_no)
def navigate_to_frame(jump_no) return if jump_no == 0 total_jumps, current_jumps, new_pos = jump_no.abs, 0, @state.frame step = jump_no / total_jumps # +1 (up) or -1 (down) loop do new_pos += step break if new_pos < 0 || new_pos >= @state.context.stack_size next if @state.c_frame?(new_pos) current_jumps += 1 break if current_jumps == total_jumps end new_pos end