class Byebug::Command

def debug_eval(str, b = get_binding)

def debug_eval(str, b = get_binding)
  begin
    val = eval(str, b)
  rescue StandardError, ScriptError => e
    if Command.settings[:stack_trace_on_error]
      at = eval("caller(1)", b)
      print "%s:%s\n", at.shift, e.to_s.sub(/\(eval\):1:(in `.*?':)?/, '')
      for i in at
        print "\tfrom %s\n", i
      end
    else
      print "#{e.class} Exception: #{e.message}\n"
    end
    throw :debug_error
  end
end