class IRB::Irb
def suspend_name(path = nil, name = nil)
Used by the irb command +source+, see IRB@IRB+Sessions for more
and +name+ as the Context#irb_name.
Evaluates the given block using the given +path+ as the Context#irb_path
def suspend_name(path = nil, name = nil) @context.irb_path, back_path = path, @context.irb_path if path @context.irb_name, back_name = name, @context.irb_name if name begin yield back_path, back_name ensure @context.irb_path = back_path if path @context.irb_name = back_name if name end end